Ejemplo n.º 1
0
def main_terminal():
    """"""
    event_engine = EventEngine()
    event_engine.register(EVENT_LOG, process_log_event)
    event_engine.register(EVENT_RPC_LOG, process_log_event)

    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(CtpGateway)
    rpc_engine = main_engine.add_app(RpcServiceApp)

    setting = {
        "用户名": "25500029",
        "密码": "20140602",
        "经纪商代码": "6010",
        "交易服务器": "180.169.75.194:41305",
        "行情服务器": "180.166.1.17:41313",
        "产品名称": "vntech_vnpy_2.0",
        "授权编码": "0Y1J5UIMY79BFL7S",
        "产品信息": ""
    }
    main_engine.connect(setting, "CTP")
    sleep(10)

    rep_address = "tcp://127.0.0.1:2014"
    pub_address = "tcp://127.0.0.1:4102"
    rpc_engine.start(rep_address, pub_address)

    while True:
        sleep(1)
Ejemplo n.º 2
0
def main():
    """"""
    # 创建 QApplication  对象 并进行初始化

    # 事件引擎
    event_engine = EventEngine()
    # 把事件引擎附加到主引擎里
    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(BitmexGateway)
    main_engine.add_gateway(BitmexGateway1)
    main_engine.add_gateway(BitmexGateway2)
    main_engine.add_gateway(BitmexGateway3)
    main_engine.add_gateway(BitmexGateway4)
    main_engine.add_gateway(BitmexGateway5)
    main_engine.add_gateway(BitmexGateway6)
    main_engine.add_gateway(BitmexGateway7)

    sleep(1)
    # 把 app 保存到 apps 和 engines 里
    main_engine.add_app(DataRecorderApp)
    # 获取所有交易通道
    gateway_names = main_engine.get_all_gateway_names()
    for name in gateway_names:
        # 连接火币平台
        connect = ConnectNoDialog(main_engine=main_engine, gateway_name=name)
        connect.connect()
        sleep(6)
    while True:
        # 一天
        sleep(24 * 60 * 60)
Ejemplo n.º 3
0
def main():
    """主程序入口"""
    # 创建Qt应用对象
    qApp = createQApp()

    # 创建事件引擎
    ee = EventEngine()

    # 创建主引擎
    me = MainEngine(ee)

    # 添加交易接口
    me.addGateway(okexGateway)
    me.addGateway(huobiGateway)
    me.addGateway(binanceGateway)

    # 添加上层应用
    me.addApp(riskManager)
    me.addApp(ctaStrategy)
    # me.addApp(dataRecorder)
    # me.addApp(spreadTrading)
    # me.addApp(optionMaster)
    # me.addApp(jaqsService)
    # me.addApp(rpcService)

    # 创建主窗口
    mw = MainWindow(me, ee)
    mw.showMaximized()

    # 在主线程中启动Qt事件循环
    sys.exit(qApp.exec_())
Ejemplo n.º 4
0
def run_child():
    """
    Running in the child process.
    """
    SETTINGS["log.file"] = True

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(CtpGateway)
    cta_engine = main_engine.add_app(CtaStrategyApp)
    main_engine.write_log("主引擎创建成功")

    main_engine.add_app(DataRecorderApp)

    log_engine = main_engine.get_engine("log")
    event_engine.register(EVENT_CTA_LOG, log_engine.process_log_event)
    main_engine.write_log("注册日志事件监听")

    main_engine.connect(ctp_setting, "CTP")
    main_engine.write_log("连接CTP接口")

    #sleep(10)

    cta_engine.init_engine()
    main_engine.write_log("CTA策略初始化完成")

    cta_engine.init_all_strategies()
    #sleep(60)   # Leave enough time to complete strategy initialization
    main_engine.write_log("CTA策略全部初始化")

    cta_engine.start_all_strategies()
    main_engine.write_log("CTA策略全部启动")

    while True:
        sleep(1)
Ejemplo n.º 5
0
Archivo: run.py Proyecto: znss2012/vnpy
def main():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)

    # main_engine.add_gateway(BinanceGateway)
    # main_engine.add_gateway(CtpGateway)
    # main_engine.add_gateway(CtptestGateway)
    # main_engine.add_gateway(MiniGateway)
    # main_engine.add_gateway(SoptGateway)
    # main_engine.add_gateway(MinitestGateway)
    # main_engine.add_gateway(FemasGateway)
    main_engine.add_gateway(UftGateway)
    # main_engine.add_gateway(IbGateway)
    # main_engine.add_gateway(FutuGateway)
    # main_engine.add_gateway(BitmexGateway)
    # main_engine.add_gateway(TigerGateway)
    # main_engine.add_gateway(OesGateway)
    # main_engine.add_gateway(OkexGateway)
    # main_engine.add_gateway(HuobiGateway)
    # main_engine.add_gateway(BitfinexGateway)
    # main_engine.add_gateway(OnetokenGateway)
    # main_engine.add_gateway(OkexfGateway)
    # main_engine.add_gateway(HbdmGateway)
    main_engine.add_gateway(XtpGateway)
    # main_engine.add_gateway(TapGateway)
    # main_engine.add_gateway(ToraGateway)
    # main_engine.add_gateway(AlpacaGateway)
    # main_engine.add_gateway(OkexsGateway)
    # main_engine.add_gateway(DaGateway)
    # main_engine.add_gateway(CoinbaseGateway)
    # main_engine.add_gateway(BitstampGateway)
    # main_engine.add_gateway(GateiosGateway)
    # main_engine.add_gateway(BybitGateway)
    # main_engine.add_gateway(DeribitGateway)
    # main_engine.add_gateway(OkexoGateway)
    # main_engine.add_gateway(BinancefGateway)

    # main_engine.add_app(CtaStrategyApp)
    # main_engine.add_app(CtaBacktesterApp)
    # main_engine.add_app(CsvLoaderApp)
    # main_engine.add_app(AlgoTradingApp)
    # main_engine.add_app(DataRecorderApp)
    # main_engine.add_app(RiskManagerApp)
    # main_engine.add_app(ScriptTraderApp)
    # main_engine.add_app(RpcServiceApp)
    # main_engine.add_app(SpreadTradingApp)
    # main_engine.add_app(PortfolioManagerApp)
    # main_engine.add_app(OptionMasterApp)
    # main_engine.add_app(ChartWizardApp)
    # main_engine.add_app(ExcelRtdApp)
    main_engine.add_app(DataManagerApp)

    main_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()
Ejemplo n.º 6
0
    def start(self, block=True):
        self.setupFanoutAndLogHandler()

        # 创建日志引擎
        super(MarketService, self).start()
        self.active = True
        self.thread.start()

        le = self.logger
        # le = LogEngine()
        # le.setLogLevel(le.LEVEL_INFO)
        # le.addConsoleHandler()
        le.info(u'启动行情记录运行子进程')

        self.ee = EventEngine()
        le.info(u'事件引擎创建成功')

        self.mainEngine = MainEngine(self.ee)  # 忽略掉 默认的 DataEngine

        self.registerEvent()
        le.info(u'主引擎创建成功')

        for gw in self.cfgs.get('gateways'):
            gateway = None
            if gw.get('name').upper() == binanceGateway.gatewayName:
                gateway = binanceGateway
            if gateway:
                self.mainEngine.addGateway(gateway)
                self.mainEngine.connect(gateway.gatewayName, gw)

        le.info(u'注册日志事件监听')
        le.info(u'连接CTP接口')
Ejemplo n.º 7
0
def main():
    """Start VN Trader"""
    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(BinanceGateway)
    main_engine.add_gateway(HuobiGateway)
    main_engine.add_gateway(HuobifGateway)
    main_engine.add_gateway(BinancesGateway)
    main_engine.add_gateway(BitmexGateway)
    main_engine.add_gateway(OkexGateway)
    main_engine.add_gateway(BitstampGateway)

    main_engine.add_app(ExcelRtdApp)
    main_engine.add_app(DataRecorderApp)
    main_engine.add_app(DataManagerApp)
    main_engine.add_app(CtaBacktesterApp)
    main_engine.add_app(SpreadTradingApp)
    main_engine.add_app(CtaStrategyApp)

    main_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()
Ejemplo n.º 8
0
def run_child():
    """
    Running in the child process.
    """
    SETTINGS["log.file"] = True

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(CtpGateway)
    main_engine.write_log("主引擎创建成功")

    # 记录引擎

    log_engine = main_engine.get_engine("log")
    event_engine.register(EVENT_CTA_LOG, log_engine.process_log_event)
    main_engine.write_log("注册日志事件监听")

    main_engine.connect(CTP_SETTING, "CTP")
    main_engine.write_log("连接CTP接口")

    whole_market_recorder = WholeMarketRecorder(main_engine, event_engine)

    main_engine.write_log("开始录制数据")
    oms_engine = main_engine.get_engine("oms")
    while True:
        sleep(1)
Ejemplo n.º 9
0
def run_child():
    """
    Running in the child process.
    """
    SETTINGS["log.file"] = True         # 控制是否要将日志输出到文件中,建议设置为True,否则无法记录生成的日志。

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(CtpGateway)
    main_engine.add_app(DataRecorderApp)
    main_engine.write_log("行情记录引擎创建成功")

    log_engine = main_engine.get_engine("log")
    event_engine.register(EVENT_RECORDER_LOG, log_engine.process_log_event)
    main_engine.write_log("注册日志事件监听")

    main_engine.connect(ctp_setting, "CTP")
    main_engine.write_log("连接CTP接口")

    sleep(15)

    main_engine.write_log("开始记录行情数据……")

    while True:
        sleep(1)
Ejemplo n.º 10
0
Archivo: run.py Proyecto: haotin/vnpy
def main():
    """主程序入口"""
    # 创建事件引擎
    ee = EventEngine()
    
    # 创建主引擎
    me = MainEngine(ee)
    
    # 添加交易接口
    me.addGateway(ctpGateway)
    me.addGateway(femasGateway)
    me.addGateway(xspeedGateway)
    me.addGateway(sgitGateway)
    me.addGateway(oandaGateway)
    me.addGateway(ibGateway)
    me.addGateway(shzdGateway)
    me.addGateway(huobiGateway)
    me.addGateway(okcoinGateway)
    
    # 添加上层应用
    me.addApp(riskManager)
    me.addApp(dataRecorder)
    me.addApp(ctaStrategy)
    
    # 创建主窗口
    mw = MainWindow(me, ee)
    mw.showMaximized()
    
    # 在主线程中启动Qt事件循环
    sys.exit(qApp.exec_())
Ejemplo n.º 11
0
def main():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(CtpGateway)
    main_engine.add_gateway(IbGateway)
    main_engine.add_gateway(FutuGateway)
    main_engine.add_gateway(BitmexGateway)
    main_engine.add_gateway(TigerGateway)
    main_engine.add_gateway(OesGateway)
    main_engine.add_gateway(OkexGateway)
    main_engine.add_gateway(HuobiGateway)
    main_engine.add_gateway(BitfinexGateway)
    main_engine.add_gateway(OnetokenGateway)

    main_engine.add_app(CtaStrategyApp)
    main_engine.add_app(CtaBacktesterApp)
    main_engine.add_app(CsvLoaderApp)
    main_engine.add_app(AlgoTradingApp)

    main_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()
Ejemplo n.º 12
0
def run_child():
    """
    Running in the child process.
    """
    SETTINGS["log.file"] = True

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    huobi = main_engine.add_gateway(HuobiGateway)
    cta_engine = main_engine.add_app(CtaStrategyApp)
    main_engine.write_log("主引擎创建成功")

    log_engine = main_engine.get_engine("log")
    event_engine.register(EVENT_CTA_LOG, log_engine.process_log_event)
    main_engine.write_log("注册日志事件监听")

    filename = f"connect_{huobi.gateway_name.lower()}.json"
    setting = load_json(filename)
    main_engine.connect(setting, huobi.gateway_name)
    main_engine.write_log("连接HUOBI接口")

    sleep(10)

    cta_engine.init_engine()
    main_engine.write_log("CTA策略初始化完成")

    cta_engine.init_all_strategies()
    sleep(10)  # Leave enough time to complete strategy initialization
    main_engine.write_log("CTA策略全部初始化")

    cta_engine.start_all_strategies()
    main_engine.write_log("CTA策略全部启动")

    while True:
        sleep(1)
Ejemplo n.º 13
0
def main():
    """主程序入口"""
    # 创建事件引擎
    ee = EventEngine()

    # 创建主引擎
    me = MainEngine(ee)

    # 添加交易接口
    me.addGateway(stubNullGateway)

    # 添加上层应用
    me.addApp(riskManager)

    print("1111111")
    me.addApp(stubStrategy)

    me.addApp(dataRecorder)
    print("22222")

    # 创建主窗口
    mw = MainWindow(me, ee)
    mw.showMaximized()

    # 在主线程中启动Qt事件循环
    qApp.exec_()
    sys.exit(0)
Ejemplo n.º 14
0
def main():
    print("实盘交易")
    # 事件引擎
    event_engine = EventEngine()
    # 把事件引擎附加到主引擎里
    main_engine = MainEngine(event_engine)
    main_engine.write_log("主引擎创建成功")

    main_engine.add_gateway(OkexfGateway)

    # 获取所有交易通道
    gateway_names = main_engine.get_all_gateway_names()
    for name in gateway_names:
        # 连接火币平台
        connect = ConnectExchange(main_engine=main_engine, gateway_name=name)
        connect.connect()
        sleep(2)

    setting = load_json(filename="jyx_data_recorder_setting.json")
    vt_symbols = setting["vt_symbols"]
    functions = []
    for vt_symbol in vt_symbols:
        gevent.sleep(1)
        # 交易对, 交易所
        symbol, exchange_str = vt_symbol.split(".")
        exchange = Exchange(exchange_str)
        gateway = main_engine.get_gateway(exchange_str)
        functions += start_gevent(gateway=gateway,
                                  symbol=symbol,
                                  exchange=exchange)

    gevent.joinall(functions)
Ejemplo n.º 15
0
def main_terminal():
    """"""
    event_engine = EventEngine()
    event_engine.register(EVENT_LOG, process_log_event)
    event_engine.register(EVENT_RPC_LOG, process_log_event)

    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(CtpGateway)
    rpc_engine = main_engine.add_app(RpcServiceApp)

    setting = {
        "用户名": "",
        "密码": "",
        "经纪商代码": "9999",
        "交易服务器": "180.168.146.187:10101",
        "行情服务器": "180.168.146.187:10111",
        "产品名称": "simnow_client_test",
        "授权编码": "0000000000000000",
        "产品信息": ""
    }
    main_engine.connect(setting, "CTP")
    sleep(10)

    rep_address = "tcp://127.0.0.1:2014"
    pub_address = "tcp://127.0.0.1:4102"
    rpc_engine.start(rep_address, pub_address)

    while True:
        sleep(1)
Ejemplo n.º 16
0
def main():
    """主程序入口"""
    # 创建Qt应用对象
    qApp = createQApp()

    # 创建事件引擎
    ee = EventEngine()

    # 创建主引擎
    me = MainEngine(ee)

    # 添加交易接口
    me.addGateway(okexfGateway)

    me.addGateway(hbdmGateway)
    me.addGateway(huobiGateway)
    me.addGateway(okexGateway)

    # 添加上层应用
    me.addApp(algoTrading)
    me.addApp(CryptoData)

    # 创建主窗口
    mw = MainWindow(me, ee)
    mw.showMaximized()

    # 在主线程中启动Qt事件循环
    sys.exit(qApp.exec_())
Ejemplo n.º 17
0
def create_strategies(strategies_list: List, vt_symbol: str):
    s_path = 'strategies'
    if os.path.exists(s_path):
        answer = input('strategies文件夹已存在,是否删除[Y/N][y/n]')
        if answer.lower() in ['y', 'yes']:
            recursive_rm(s_path)

    os.mkdir(s_path)
    with open(os.path.join(s_path, '__init__.py'), 'w') as f:
        for sn, ps in strategies_list:
            f.writelines(f'# {sn} --> {ps}')

    init()
    for s, _ in strategies_list:
        # 数据库获取数据
        strategy_code = StrategyCode.objects(class_name=s).first()

        binary_file = strategy_code.data

        # 文件是否存在
        f_path = rf'{s_path}/{s}.py'
        if not os.path.exists(f_path):
            with open(file=f_path, mode='wb') as f:
                f.write(binary_file)

    cta_engine = CtaEngine(None, EventEngine())
    cta_engine.load_strategy_class()

    for sn, ps in strategies_list:
        cta_engine.add_strategy(sn, f"{sn}_TEST", vt_symbol, ps)
        print(f'添加:{sn}=={ps}')
Ejemplo n.º 18
0
def main():
    """主程序入口"""
    # 创建Qt应用对象
    qApp = createQApp()

    # 创建事件引擎
    ee = EventEngine()

    # 创建主引擎
    me = MainEngine(ee)

    # 添加交易接口
    # me.addGateway(secGateway)
    me.addGateway(ctpGateway)
    # me.addGateway(ctpsecGateway)

    # 添加上层应用
    me.addApp(riskManager)
    me.addApp(optionMaster)

    # 创建主窗口
    mw = MainWindow(me, ee)
    mw.showMaximized()

    # 在主线程中启动Qt事件循环
    sys.exit(qApp.exec_())
Ejemplo n.º 19
0
def main():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)
    engine_name = 'BINANCES'

    main_engine.add_gateway(BinancesGateway)
    setting = {
        "key":
        "bEZCKVAkJYugYErdlg5GAj7PGgh72ieFIVtDVYgUwJuE7M0vLFM7lN7JuQPYB0AL",
        "secret":
        "LGZXmPUe4iXqOWlmjiUHGvf7XsdLSBWe5HfXauJoxu8qR9RTeZMUqzTOhcRiAK9K",
        "会话数": 3,
        "服务器": ["REAL"],
        "合约模式": "正向",
        "代理地址": "",
        "代理端口": 0
    }
    main_engine.connect(setting, engine_name)
    main_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    main_engine.write_log("主引擎创建成功")

    qapp.exec()

    pass
Ejemplo n.º 20
0
def run_child():
    SETTINGS["log.file"] = True

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(CtpGateway)
    cta_engine = main_engine.add_app(CtaStrategyAppPro)
    main_engine.write_log("主引擎创建成功")

    log_engine = main_engine.get_engine("log")
    event_engine.register(EVENT_CTA_LOG, log_engine.process_log_event)
    main_engine.write_log("注册日志事件监听")

    main_engine.connect(ctp_setting, "CTP")
    main_engine.write_log("连接CTP接口")

    # sleep(20)
    sleep(5)  # 开发用

    cta_engine.init_engine()
    main_engine.write_log("CTA策略初始化完成")

    cta_engine.init_all_strategies()
    sleep(5)  # 开发用
    # sleep(60)   # Leave enough time to complete strategy initialization
    main_engine.write_log("CTA策略全部初始化")

    cta_engine.start_all_strategies()
    main_engine.write_log("CTA策略全部启动")

    cta_engine.send_run_report_email("账号1监控报表")  # 完成启动后,发送监控报表

    close_time1 = time(15, 32)
    close_time2 = time(15, 35)
    close_time3 = time(15, 36)
    lock1 = False
    lock2 = False
    lock3 = False
    while True:
        current_time = datetime.now().time()
        # 实例交易数据保存;资金曲线&策略评估指标更新
        if current_time == close_time1 and not lock1:
            cta_engine.save_all_trade_data()
            main_engine.write_log("实例交易数据保存成功")
            cta_engine.update_all_daily_results()
            main_engine.write_log("实例资金曲线&策略评估指标更新成功")
            lock1 = True

        # 发送实例评估报表
        if current_time == close_time2 and not lock2:
            cta_engine.send_evaluate_report_email("账号1实例评估报表")
            lock2 = True

        # 发送实例评估报表
        if current_time == close_time3 and not lock3:
            cta_engine.update_all_k_line()
            main_engine.write_log("CTA更新K线图完毕")
            lock3 = True

        sleep(1)
Ejemplo n.º 21
0
Archivo: run.py Proyecto: cmbclh/test
def main():
    """主程序入口"""
    # 创建Qt应用对象
    qApp = createQApp()

    # 创建事件引擎
    ee = EventEngine()

    # 创建主引擎
    me = MainEngine(ee)

    # 添加交易接口
    me.addGateway(ctpGateway)
    me.addGateway(oandaGateway)
    me.addGateway(ibGateway)
    me.addGateway(huobiGateway)
    me.addGateway(okcoinGateway)
    me.addGateway(geyaGateway)

    if system == 'Windows':
        me.addGateway(femasGateway)
        me.addGateway(xspeedGateway)

    # 添加上层应用
    me.addApp(riskManager)
    me.addApp(ctaStrategy)
    me.addApp(spreadTrading)

    # 创建主窗口
    mw = MainWindow(me, ee)
    mw.showMaximized()

    # 在主线程中启动Qt事件循环
    sys.exit(qApp.exec_())
Ejemplo n.º 22
0
Archivo: run.py Proyecto: lixs5/vn173
def main():
    """主程序入口"""
    le = LogEngine()
    le.setLogLevel(le.LEVEL_INFO)
    le.addConsoleHandler()
    le.addFileHandler()

    le.info(u'启动JAQS服务进程')

    ee = EventEngine()
    le.info(u'事件引擎创建成功')

    me = MainEngine(ee)
    me.addGateway(ctpGateway)
    me.addApp(jaqsService)
    le.info(u'主引擎创建成功')

    ee.register(EVENT_LOG, le.processLogEvent)
    ee.register(EVENT_JS_LOG, le.processLogEvent)
    le.info(u'注册日志事件监听')

    me.connect('CTP')
    le.info(u'连接CTP接口')

    while True:
        sleep(1)
Ejemplo n.º 23
0
def download3():
    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(BitmexGateway)

    setting = {
        "ID": "jhrmZrfaxqD-wmHpVXBjhlBe",
        "Secret": "QZdRHN-XVyEHnutgbVpRP29JtJgGAlATHXC1gVUGM7f8Xu7f",
        "会话数": 3,
        "服务器": "REAL",
        "代理地址": "127.0.0.1",
        "代理端口": "1080",
    }

    main_engine.connect(setting, "BITMEX")
    sleep(20)
    backtester_engine = main_engine.add_app(CtaBacktesterApp)
    backtester_engine.init_engine()

    start_date = datetime.datetime(2018, 8, 10, 20)
    end_date = datetime.datetime.now()
    while start_date < end_date:
        try:
            next_date = start_date + datetime.timedelta(10)
            backtester_engine.run_downloading("ETHUSD.BITMEX", Interval.MINUTE,
                                              start_date, next_date)
            sleep(90)
            start_date = next_date
        except Exception as e:
            print(e)
            print("等待120秒后继续")
            sleep(120)

    # backtester_engine.run_downloading("XBTUSD.BITMEX", Interval.MINUTE, datetime.datetime(2019,7,1,20), datetime.datetime(2019,7,10,10))
    print("download 完成")
Ejemplo n.º 24
0
def run_child():
    """
    Running in the child process.
    """
    SETTINGS["log.file"] = True

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(CtpGateway)
    cta_engine = main_engine.add_app(CtaStrategyApp)
    main_engine.write_log(" main engine created successfully ")

    log_engine = main_engine.get_engine("log")
    event_engine.register(EVENT_CTA_LOG, log_engine.process_log_event)
    main_engine.write_log(" register an event listener log ")

    main_engine.connect(ctp_setting, "CTP")
    main_engine.write_log(" connection CTP interface ")

    sleep(10)

    cta_engine.init_engine()
    main_engine.write_log("CTA strategy initialization is complete ")

    cta_engine.init_all_strategies()
    sleep(60)  # Leave enough time to complete strategy initialization
    main_engine.write_log("CTA all initialization strategy ")

    cta_engine.start_all_strategies()
    main_engine.write_log("CTA policy start all ")

    while True:
        sleep(1)
Ejemplo n.º 25
0
def main():
    """主程序入口"""
    # 创建Qt应用对象
    qApp = createQApp()

    # 创建事件引擎
    ee = EventEngine()

    # 创建主引擎
    me = MainEngine(ee)

    # 添加交易接口
    # me.addGateway(ccxtGateway)
    # me.addGateway(coinbaseGateway)
    # me.addGateway(lbankGateway)
    # me.addGateway(bigoneGateway)
    # me.addGateway(fcoinGateway)
    # me.addGateway(bitmexGateway)
    me.addGateway(huobiGateway)
    me.addGateway(okexGateway)
    me.addGateway(binanceGateway)
    # me.addGateway(bitfinexGateway)
    
    # 添加上层应用
    me.addApp(algoTrading)
    me.addApp(ctaStrategy)
    
    # 创建主窗口
    mw = MainWindow(me, ee)
    mw.showMaximized()

    # 在主线程中启动Qt事件循环
    sys.exit(qApp.exec_())
Ejemplo n.º 26
0
Archivo: main.py Proyecto: wyujie/vnpy
def main():
    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)

    ok_gateway = main_engine.add_gateway(OkexGateway)
    ok_gateway.connect()
    print(u'服务启动成功')
Ejemplo n.º 27
0
def main():
    """主程序入口"""
    # 创建Qt应用对象
    qApp = createQApp()

    # 创建事件引擎
    ee = EventEngine()

    # 创建主引擎
    me = MainEngine(ee)

    # 添加交易接口
    me.addGateway(futuGateway)

    # 添加上层应用
    me.addApp(riskManager)
    me.addApp(ctaStrategy)
    me.addApp(spreadTrading)

    # 创建主窗口
    mw = MainWindow(me, ee)
    mw.showMaximized()

    # 在主线程中启动Qt事件循环
    sys.exit(qApp.exec_())
Ejemplo n.º 28
0
def main():
    event_engine = EventEngine()
    event_engine.register(EVENT_LOG,printLog)
    main_engine = MainEngine(event_engine)

    # geteway = XtpGateway(event_engine)
    #
    # default_setting: Dict[str, Any] = {
    #     "账号": "53191000704",
    #     "密码": "vj6JDKlq",
    #     "客户号": 1,
    #     "行情地址": "120.27.164.138",
    #     "行情端口": 6002,
    #     "交易地址": "120.27.164.69",
    #     "交易端口": 6001,
    #     "行情协议": "TCP",
    #     "授权码": "b8aa7173bba3470e390d787219b2112e"
    # }
    # geteway.connect(default_setting)

    geteway = CtpGateway(event_engine)
    default_setting: Dict[str, Any] = {
        "用户名": "161239",
        "密码": "Asdf4321",
        "经纪商代码": "9999",
        "交易服务器": "218.202.237.33:10102",
        "行情服务器": "218.202.237.33:10112",
        "产品名称": "",
        "授权编码": "",
        "产品信息": ""
    }
    geteway.connect(default_setting)
Ejemplo n.º 29
0
def run_child():
    """
    Running in the child process.
    """
    SETTINGS["log.file"] = True

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(CtpGateway)
    st_engine = main_engine.add_app(SpreadTradingApp)
    main_engine.write_log("主引擎创建成功")

    log_engine = main_engine.get_engine("log")
    event_engine.register(EVENT_SPREAD_LOG, log_engine.process_log_event)
    main_engine.write_log("注册日志事件监听")

    main_engine.connect(ctp_setting, "CTP")
    main_engine.write_log("连接CTP接口")

    sleep(10)

    st_engine.start()
    main_engine.write_log("Arb引擎启动")

    st_engine.strategy_engine.init_all_strategies()
    # # sleep(60)   # Leave enough time to complete strategy initialization
    main_engine.write_log("Arb策略全部初始化")
    #
    st_engine.strategy_engine.start_all_strategies()
    main_engine.write_log("Arb策略全部启动")

    print('ok')
Ejemplo n.º 30
0
def main():
    """主程序入口"""
    # 创建Qt应用对象
    qApp = createQApp()
    
    # 创建事件引擎
    ee = EventEngine()
    
    # 创建主引擎
    me = MainEngine(ee)
    
    # 添加交易接口
    me.addGateway(futuGateway)
    me.addGateway(tradeDllAShareGateway)

    # 添加上层应用
    #me.addApp(riskManager)
    # me.addApp(ctaStrategy)
    # me.addApp(spreadTrading)
    me.addApp(stopOrder)
    # me.addApp(slipperyGrid)
    me.addApp(optionSelector)
    me.addApp(optionSprites)
    me.addApp(catchLimitUp)
    
    # 创建主窗口
    mw = MainWindow(me, ee)
    mw.showMaximized()

    # 在主线程中启动Qt事件循环
    sys.exit(qApp.exec_())