def main(): global me ee = EventEngine() me = MainEngine(ee) ee.register(EVENT_TICK, on_tick_update) me.addGateway(ctpGateway) me.getGateway('CTP').filePath = os.path.join( os.path.dirname(os.path.abspath(__file__)), 'CTP_connect.simnow.mock.json') me.connect('CTP') # 等待 1 秒是为了避免订阅时机 bug import time time.sleep(1) # vt_symbols = ['SR901C5300.CZCE', 'SR901C5200.CZCE'] vt_symbols = ['ru1908.SHFE', 'rb1908.SHFE'] symbols, exchanges = zip( *[vs.split('.') if '.' in vs else (vs, '') for vs in vt_symbols]) for s, e in zip(symbols, exchanges): req = VtSubscribeReq() req.symbol, req.exchange = s, e me.subscribe(req, 'CTP') print('Futures subscribed.')
def main(): global me ee = EventEngine() me = MainEngine(ee) ee.register(EVENT_CONTRACT, on_contract) me.addGateway(ctpGateway) me.getGateway('CTP').filePath = os.path.join( os.path.dirname(os.path.abspath(__file__)), 'CTP_connect.simnow.mock.json') me.connect('CTP')
def run_strategy(): le = LogEngine() le.setLogLevel(le.LEVEL_INFO) ee = EventEngine2() me = MainEngine(ee) me.addGateway(gateway) me.addApp(ctaStrategy) # ee.register(EVENT_LOG, le.processLogEvent) # ee.register(EVENT_CTA_LOG, le.processLogEvent) me.connect(gateway.gatewayName) gw = me.getGateway(gateway.gatewayName) cta = me.getApp(ctaStrategy.appName) cta.settingfilePath = "CTA_setting.json" cta.loadSetting() cta.initAll() cta.startAll()
def main(): """主程序入口""" # 创建Qt应用对象 #qApp = createQApp() # 创建事件引擎 ee = EventEngine() # 创建主引擎 me = MainEngine(ee) # 添加交易接口 me.addGateway(okexGateway) # 添加上层应用 # me.addApp(riskManager) # me.addApp(ctaStrategy) # me.addApp(spreadTrading) # 创建主窗口 #mw = MainWindow(me, ee) #mw.showMaximized() #Yifei #exchange = { # 'exchange': 'bittrex', # 'keyFile': '../keys/bittrex.key', # 'tickerPairA': 'BTC-ETH', # 'tickerPairB': 'ETH-LTC', # 'tickerPairC': 'BTC-LTC', # 'tickerA': 'BTC', # 'tickerB': 'ETH', # 'tickerC': 'LTC' #} try: if 0: exchange = { 'tickerPairA': 'ltc_eth', 'tickerPairB': 'eth_btc', 'tickerPairC': 'ltc_btc', 'tickerA': 'ltc', 'tickerB': 'eth', 'tickerC': 'btc' } engine = CryptoEngineTriArbitrage(me, exchange, connected_sig, True) me.getGateway('OKEX').set_event(connected_sig) t = threading.Thread(target=engine.run) t.start() exchange = { 'tickerPairA': 'gnx_eth', 'tickerPairB': 'eth_btc', 'tickerPairC': 'gnx_btc', 'tickerA': 'gnx', 'tickerB': 'eth', 'tickerC': 'btc' } engine = CryptoEngineTriArbitrage(me, exchange, connected_sig, True) me.getGateway('OKEX').set_event(connected_sig) t = threading.Thread(target=engine.run) t.start() exchange = { 'tickerPairA': 'eos_eth', 'tickerPairB': 'eth_btc', 'tickerPairC': 'eos_btc', 'tickerA': 'eos', 'tickerB': 'eth', 'tickerC': 'btc' } engine = CryptoEngineTriArbitrage(me, exchange, connected_sig, True) me.getGateway('OKEX').set_event(connected_sig) t = threading.Thread(target=engine.run) t.start() exchange = { 'tickerPairA': 'hpb_eth', 'tickerPairB': 'eth_btc', 'tickerPairC': 'hpb_btc', 'tickerA': 'hpb', 'tickerB': 'eth', 'tickerC': 'btc' } engine = CryptoEngineTriArbitrage(me, exchange, connected_sig, False) me.getGateway('OKEX').set_event(connected_sig) t = threading.Thread(target=engine.run) t.start() me.getGateway('OKEX').connect() #logger.info('Okex Market Maker Version: 1.0') while not me.getGateway('OKEX').connected: time.sleep(8) #grid trading om = OrderManager(me, ee) t = threading.Thread(target=om.run_loop) t.start() except Exception, e: print e