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)
# OI9999.XZCE 菜油主力合约 # PM9999.XZCE 普麦主力合约 ZC9999.XZCE 动力煤主力合约 # AP9999.XZCE 苹果主力合约 # 大商所 # # 代码 名称 代码 名称 # 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):