コード例 #1
0
    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)
コード例 #2
0
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)
コード例 #3
0
# 大商所
#
# 代码	名称	代码	名称
# 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)
コード例 #4
0
ファイル: _4_listen.py プロジェクト: jacklaiu/CtaTrading
#                                         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)