別的軟件的python可以轉換成金字塔的嗎 [金字塔]
-
咨詢內容:
# encoding: UTF-8
""" 自動交易-買 """ from __future__ import division import talib import math "import win32api,win32con"
from iTraderPy.ctp_data_type import * from iTraderPy.StrategyBase import * from iTraderPy.mtConstant import * from iTraderPy.exportObj import * import datetime
######################################################################## class AutoTradeLong(StrategyBase): ? ? """""" ? ? name = u'自動交易-買'? ? ? ? ? ? ? ? # 策略實例名稱
? ? # 變量列表。可將需要在管理界面顯示的變量名加到此處(注意基類已在basevarList中定義顯示部份變量,這些變量不需再定義) ? ? varList = []
? ? # 參數列表,可將需要在管理界面顯示的參數名加到此處 ? ? paramList = []
? ? #---------------------------------------------------------------------- "? ? def __init__(self, ctaEngine, strategyid):" ? ? ? ? """Constructor""" "? ? ? ? super(AutoTradeLong, self).__init__(ctaEngine, strategyid)"
? ? ? ? #繼承修改基類變量,若不需修改,也可不繼承 ? ? ? ? self.rtnAllTrade = False? # 是否返回所有交易,若是,則不是本策略產生的交易也會被返回,否則,只返回本生策略提交的交易 ? ? ? ? self.autoGeneratorBar = False #不生成Bar
? ? ? ? self.timerId = 1? # 定義timerid ? ? ? ? self.clearBeginTime = "14:58:00"#清倉時間 ? ? ? ? self.clearEndTime = "15:00:00" ? ? ? ? self.insInfo = None? # 合約信息 ? ? ? ? self.stepTickNum = 4? # 止盈或加倉判斷的價格Tick數量 ? ? ? ? self.tradeNum = 1 #每次交易的數量 ? ? ? ? self.tradeDirect = 0 #交易的方向,0:買多,賣空
? ? ? ? self.symbol = "MA909"? # 交易的合約 ? ? ? ? self.symbolList = [self.symbol]
? ? ? ? self._InitData() #初始化數據
? ? # ---------------------------------------------------------------------- ? ? def _InitData(self): ? ? ? ? """重新初始化數據。""" ? ? ? ? self.bStartTraded = False? # 是否已啟動交易 ? ? ? ? self.curActivePrice = 0? # 當前交易成交的價位 ? ? ? ? self.PosRemainNum = 0? # 倉位保留的次數 ? ? ? ? self.bOpening = False? # 是否正在開倉 ? ? ? ? self.forbidTrade = False? # 是否已禁止交易
? ? # ---------------------------------------------------------------------- ? ? def onInit(self): ? ? ? ? """在策略第一次啟動時被調用。用戶可繼承實現。""" ? ? ? ? pass
? ? # ---------------------------------------------------------------------- ? ? def onStart(self): ? ? ? ? """在策略啟動時被調用。用戶可繼承實現。""" ? ? ? ? self._InitData() #初始化數據 ? ? ? ? self.insInfo = self.get_instrmentinfo(self.symbol) ? ? ? ? if self.insInfo == None: ? ? ? ? ? ? sMessageText = "獲得合約信息失敗,請檢查配置的合約!" "? ? ? ? ? ? win32api.MessageBox(0, sMessageText, ""提示"", win32con.MB_ICONWARNING)" ? ? ? ? ? ? return START_FAILD
"? ? ? ? self.setTimer(self.timerId, 1000, self._onTimerFun)#啟動計時器" ? ? ? ? self.subSymbol(self.symbol)? # 訂閱行情
? ? # ---------------------------------------------------------------------- ? ? def onStop(self): ? ? ? ? """在策略停止時被調用。用戶可繼承實現。""" ? ? ? ? pass
? ? # ---------------------------------------------------------------------- "? ? def onTick(self, tickInfo):" ? ? ? ? """收到tick推送的處理函數,用戶可繼承實現。 ? ? ? ? tickInfo為TickInfo類型數據""" ? ? ? ? if self.forbidTrade or self.bOpening:#開倉還未返回,則不加新的倉 ? ? ? ? ? ? return
? ? ? ? if not self.bStartTraded: #第一次開倉 ? ? ? ? ? ? self.bStartTraded = True
? ? ? ? ? ? marketPrice = tickInfo.upperLimit if self.tradeDirect == 0 else tickInfo.lowerLimit#以漲跌停價模擬市價 ? ? ? ? ? ? self.logs('第一次開倉,價格='+str(marketPrice))? ? ? ? ? ? ? ? self.forbidTrade = True #禁止新的交易? ? ? ? ? ? ? ? self.unSubSymbol(self.symbol)? # 訂閱行情? ? ? ? ? ? ? ? self._cancelAllPendingOrder()? # 移除所有的未成交委托? ? ? ? ? ? ? ? self.killTimer(timerId)#移除定時器? ? ? ? ? ? ? ? return 0
? ? ? ? ? ? return 1? ? ? ? except Exception as e:? ? ? ? ? ? self.logs("Exception: onStart " + str(e))?
- 金字塔客服: 這個抱歉需要您自己完成了
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 1145508240 或微信號:cxh99cxh99 進行 有償收費 編寫!(注:由于人數限制,QQ或微信請選擇方便的一個聯系我們就行,謝謝您!)
相關文章
-
沒有相關內容