def __init__(self, ctaEngine, setting): super(MutilEMaStrategy, self).__init__(ctaEngine, setting) self.bg = BarGenerator(self.onBar) self.am = ArrayManager() self.frequency = mtm.frequency self.pricePosi_top = 0 self.pricePosi_bot = 4 self.status = Status() self.tick = None self.locking = False self.lockActionToken = False self.unlockActionToken = False self.controlRisk = ControlRisk(security=mtm.jqdata_security, ctaEngine=self) self.strategyBase = MutilEMaStrategyBase(security=mtm.jqdata_security, status=self.status, frequency=mtm.frequency, ctaTemplate=self, enableTrade=mtm.enableTrade, enableBuy=mtm.enableBuy, enableShort=mtm.enableShort, controlRisk=self.controlRisk)
def start(startTime=None, jqSecurity=None, frequency=None, enableBuy=None, enableShort=None): security = jqSecurity #'FG9999.XZCE' 'RB9999.XSGE' 'JM9999.XDCE' status = Status() frequency = frequency strategyBase = MutilEMaStrategyBase(security=security, status=status, ctaTemplate=None, frequency=frequency, jqDataAccount='13268108673', jqDataPassword='******', enableTrade=False, enableBuy=enableBuy, enableShort=enableShort) times = util.getTimeSerial(startTime, count=1000 * 800, periodSec=12) for t in times: if strategyBase.startJudgeAndRefreshStatus(t): strategyBase.trade(None)
# 大商所 # # 代码 名称 代码 名称 # A9999.XDCE 豆一主力合约 JD9999.XDCE 鸡蛋主力合约 # B9999.XDCE 豆二主力合约 JM9999.XDCE 焦煤主力合约 # BB9999.XDCE 胶板主力合约 L9999.XDCE 聚乙烯主力合约 # C9999.XDCE 玉米主力合约 M9999.XDCE 豆粕主力合约 # CS9999.XDCE 淀粉主力合约 P9999.XDCE 棕榈油主力合约 # FB9999.XDCE 纤板主力合约 PP9999.XDCE 聚丙烯主力合约 # I9999.XDCE 铁矿主力合约 V9999.XDCE 聚氯乙烯主力合约 # J9999.XDCE 焦炭主力合约 Y9999.XDCE 豆油主力合约 status = Status() strategyBase = MutilEMaStrategyBase(security='RB9999.XSGE', status=status, ctaTemplate=None, frequency='5m', jqDataAccount='13268108673', jqDataPassword='******', enableTrade=False, enableBuy=True, enableShort=True, enableNotify=True, isJustListening=True) while True: currentTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) if strategyBase.startJudgeAndRefreshStatus(currentTime): time.sleep(1) time.sleep(3)
# status=status, # ctaTemplate=None, # frequency=frequency, # jqDataAccount='13268108673', # jqDataPassword='******', # enableTrade=False, # enableBuy=enableBuy, # enableShort=enableShort # ) # times = util.getTimeSerial(startTime, count=1000*800, periodSec=12) # for t in times: # if strategyBase.startJudgeAndRefreshStatus(t): # strategyBase.trade(None) # jqSecurity='TA8888.XZCE' # dao.updateAllPosition(3, jqSecurity) # start(jqSecurity=jqSecurity, startTime='2018-10-10 14:00:00', frequency='5m', enableBuy=True, enableShort=True) status = Status() strategyBase = MutilEMaStrategyBase(security='JM9999.XDCE', status=status, ctaTemplate=None, frequency='10m', jqDataAccount='13268108673', jqDataPassword='******', enableTrade=False, enableBuy=True, enableShort=True) while True: if strategyBase.startJudgeAndRefreshStatus(): print('tick') time.sleep(5)