Exemplo n.º 1
0
Arquivo: main.py Projeto: wyujie/vnpy
def main():
    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)

    ok_gateway = main_engine.add_gateway(OkexGateway)
    ok_gateway.connect()
    print(u'服务启动成功')
Exemplo n.º 2
0
    def __init__(self, main_engine: MainEngine, event_engine: EventEngine):
        """"""
        super().__init__(main_engine, event_engine, APP_NAME)

        self.trade_slippage: int = 0
        self.timer_interval: int = 3
        self.instant_trade: bool = False

        self.order_count: int = 100000
        self.timer_count: int = 0

        self.active_orders: Dict[str, Dict[str, OrderData]] = {}
        self.gateway_map: Dict[str, str] = {}
        self.ticks: Dict[str, TickData] = {}
        self.positions: Dict[Tuple[str, Direction], PositionData] = {}

        # Patch main engine functions
        self._subscribe = main_engine.subscribe
        self._query_history = main_engine.query_history

        main_engine.subscribe = self.subscribe
        main_engine.query_history = self.query_history
        main_engine.send_order = self.send_order
        main_engine.cancel_order = self.cancel_order

        self.load_setting()
        self.load_data()
        self.register_event()
Exemplo n.º 3
0
def main():
    """"""
    # 创建 QApplication  对象 并进行初始化

    # 事件引擎
    event_engine = EventEngine()
    # 把事件引擎附加到主引擎里
    main_engine = MainEngine(event_engine)
    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("注册日志事件监听")

    sleep(2)
    # 获取所有交易通道
    # 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(2)
    #
    # sleep(20)

    # for tick in data_recorder_app.tick_recordings.keys():
    #     data_recorder_app.add_tick_recording(tick)
    #
    # for bar in data_recorder_app.bar_recordings.keys():
    #     data_recorder_app.add_bar_recording(bar)

    while True:
        # 一天
        sleep(100000000)
Exemplo n.º 4
0
def main():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(CtpGateway)
    # main_engine.add_gateway(CtptestGateway)
    # main_engine.add_gateway(MiniGateway)
    # main_engine.add_gateway(MinitestGateway)
    # main_engine.add_gateway(FemasGateway)
    # main_engine.add_gateway(SoptGateway)
    # main_engine.add_gateway(SopttestGateway)
    # main_engine.add_gateway(SecGateway)
    # main_engine.add_gateway(UftGateway)
    # main_engine.add_gateway(EsunnyGateway)
    # main_engine.add_gateway(HsoptionGateway)
    # main_engine.add_gateway(XtpGateway)
    # main_engine.add_gateway(ToraStockGateway)
    # main_engine.add_gateway(ToraOptionGateway)
    # main_engine.add_gateway(OesGateway)
    # main_engine.add_gateway(ComstarGateway)
    # main_engine.add_gateway(IbGateway)
    # main_engine.add_gateway(TapGateway)
    # main_engine.add_gateway(DaGateway)
    # main_engine.add_gateway(RohonGateway)
    # main_engine.add_gateway(TtsGateway)
    # main_engine.add_gateway(SgitGateway)
    # main_engine.add_gateway(KsgoldGateway)
    # main_engine.add_gateway(OstGateway)
    # main_engine.add_gateway(GtjaGateway)
    # main_engine.add_gateway(NhFuturesGateway)
    # main_engine.add_gateway(NhStockGateway)
    # main_engine.add_gateway(FutuGateway)

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

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

    qapp.exec()
Exemplo n.º 5
0
def download(stock_name):
    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    backtester_engine = main_engine.add_app(CtaBacktesterApp)
    backtester_engine.init_engine()
    backtester_engine.run_downloading(stock_name, Interval.MINUTE,
                                      datetime.datetime(2019, 7, 15, 20),
                                      datetime.datetime(2019, 8, 22, 5))
    print("download 完成")
Exemplo n.º 6
0
def test_cmd():
    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(HuobiGateway)
    print(main_engine.engines)
    for gw in main_engine.exchanges:
        print(gw)
    default_setting = main_engine.get_default_setting('HUOBI')
    pprint(default_setting)
Exemplo n.º 7
0
 def __init__(self):
     self.event_engine = EventEngine()
     self.main_engine = MainEngine(self.event_engine)
     self.main_engine.add_gateway(HbdmGateway)
     self.main_engine.add_gateway(BitmexGateway)
     log_engine = self.main_engine.get_engine("log")
     self.event_engine.register(EVENT_CTA_LOG, log_engine.process_log_event)
     self.main_engine.write_log("注册日志事件监听")
     self.main_engine.add_app(CtaStrategyApp)
     self.main_engine.add_app(AlgoTradingApp)
Exemplo n.º 8
0
def main():
    """"""
    # 创建 QApplication  对象 并进行初始化

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

    # 添加火币的交互通道
    main_engine.add_gateway(HuobiGateway)
    # main_engine.add_gateway(BitfinexGateway)
    # main_engine.add_gateway(OnetokenGateway)
    # main_engine.add_gateway(OkexGateway)
    # main_engine.add_gateway(OkexfGateway)
    main_engine.add_gateway(HbdmGateway)

    # 把 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()
    while True:
        # 一天
        sleep(24 * 60 * 60)
Exemplo n.º 9
0
    def initiate(self):

        # self.conn = psycopg2.connect(dbname='timeseries', host='backtesting-dev.coqmt1duzsgx.us-east-1.redshift.amazonaws.com', port=5439, user='******', password='******')
        # self.conn = psycopg2.connect(dbname='atp', host='atp-dev.cjbwf6taixqt.us-east-1.rds.amazonaws.com', port=3306, user='******', password='******')
        self.mariadb_engine = create_engine(
            'mysql+mysqldb://atpuser:[email protected]:3306/atp'
        )
        self.redshift_engine = create_engine(
            'postgresql+psycopg2://jaguar_stage:H%w2flf^gjmY2uSa@backtesting-stage.coqmt1duzsgx.us-east-1.redshift.amazonaws.com:5439/timeseries'
        )
        # postgresql+psycopg2://alex:Alx_123E@backtesting-dev.coqmt1duzsgx.us-east-1.redshift.amazonaws.com:5439/timeseries
        self.conn_mariadb = self.mariadb_engine.connect()
        self.conn_redshift = self.redshift_engine.connect()

        self.query_timing()
        self.current_date = pd.Timestamp.now().date()
        self.previous_date = self.timing_position.index[0].date()
        if self.current_date <= self.previous_date:
            print('current date and previous date wrong')

        self.query_atp_stock()

        event_engine = EventEngine()

        self.main_engine = MainEngine(event_engine)

        self.main_engine.add_gateway(CtpGateway)
        # main_window = MainWindow(main_engine, event_engine)
        # main_window.showMaximized()

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

        # simnow
        setting = {
            "用户名": "057802",
            "密码": "5816605",
            "经纪商代码": '9999',
            "交易服务器": "180.168.146.187:10100",
            "行情服务器": "180.168.146.187:10110",
            "产品名称": "simnow_client_test",
            "授权编码": 0000000000000000,
            "产品信息": ''
        }
        self.main_engine.connect(setting, self.engine_name)

        time.sleep(5)

        self.subscribe_quote()
        time.sleep(2)
        self.cur_balance = round(
            self.main_engine.get_all_accounts()[0].balance, 2)
        self.get_quote()
        self.get_futures_volume()
        self.get_trading()
Exemplo n.º 10
0
def main():
    """主入口函数"""
    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(DeribitGateway)

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

    qapp.exec()
Exemplo n.º 11
0
Arquivo: cli.py Projeto: edword01/vnpy
def init_cli_trading(gateways: Sequence[Type[BaseGateway]]):
    """"""
    event_engine = EventEngine()
    event_engine.register(EVENT_LOG, process_log_event)

    main_engine = MainEngine(event_engine)
    for gateway in gateways:
        main_engine.add_gateway(gateway)

    script_engine = main_engine.add_engine(ScriptEngine)

    return script_engine
Exemplo n.º 12
0
def main():
    """Start VN Trader"""
    qapp = create_qapp()
    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(TradeAgentGateway)

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

    qapp.exec()
Exemplo n.º 13
0
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(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_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_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()
Exemplo n.º 14
0
 def __init__(self):
     self.event_engine = EventEngine()
     self.main_engine = MainEngine(self.event_engine)
     self.main_engine.add_gateway(HbdmGateway)
     self.main_engine.add_gateway(BitmexGateway)
     log_engine = self.main_engine.get_engine("log")
     self.event_engine.register(EVENT_CTA_LOG, log_engine.process_log_event)
     self.main_engine.write_log("注册日志事件监听")
     self.backtester_engine = self.main_engine.add_app(CtaBacktesterApp)
     self.backtester_engine.init_engine()
     self.algo_engine:AlgoEngine = self.main_engine.add_app(AlgoTradingApp)
     self.algo_engine.init_engine()
     self.close = None
Exemplo n.º 15
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
Exemplo n.º 16
0
    def __init__(self):
        # 和交易系统连接成功将有log信息在控制台打印
        SETTINGS["log.active"] = True
        SETTINGS["log.level"] = INFO
        SETTINGS["log.console"] = True

        setting = load_json("connect_ctp.json")

        self.main_engine = MainEngine()
        self.main_engine.add_gateway(CtpGateway)
        self.main_engine.connect(setting, "CTP")

        self.filename = "contracts"
        self.con_type_dict = {"主连": "L8", "指数": "L9"}
Exemplo n.º 17
0
def runChildProcess():
    """子进程运行函数"""
    print('-' * 20)
    # 创建日志引擎
    le = LogEngine()
    le.setLogLevel(le.LEVEL_INFO)
    le.addConsoleHandler()
    le.info(u'启动行情记录运行子进程')

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

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

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

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

    while True:
        sleep(1)
Exemplo n.º 18
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)
Exemplo n.º 19
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)
Exemplo n.º 20
0
    def __init__(self, main_engine: MainEngine, event_engine: EventEngine):
        """"""
        super().__init__()

        self.engine = main_engine.get_engine(APP_NAME)

        self.init_ui()
Exemplo n.º 21
0
def downloading_history_data(args):
    '''
    download stocks or futures bar data.
    '''
    req = HistoryRequest(symbol=args.symbol,
                         exchange=Exchange(args.exchange),
                         interval=Interval(args.interval),
                         start=datetime.strptime(args.startdate, '%Y-%m-%d'),
                         end=datetime.strptime(args.enddate, '%Y-%m-%d'))

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(CtpGateway)
    cta_backtester_engine = main_engine.add_app(CtaBacktesterApp)
    cta_backtester_engine.start_downloading(req.vt_symbol, req.interval,
                                            req.start, req.end)
Exemplo n.º 22
0
Arquivo: widget.py Projeto: Alyle/vnpy
    def __init__(self, main_engine: MainEngine, event_engine: EventEngine):
        """"""
        super().__init__()

        self.engine = main_engine.get_engine(APP_NAME)

        self.init_ui()
Exemplo n.º 23
0
    def __init__(self, main_engine: MainEngine, event_engine: EventEngine, gateway_name: str):
        """

        :param main_engine: 主引擎对象
        :param event_engine: 事件引擎对象
        :param gateway_name: gateway 名字
        """
        # 主引擎
        self.main_engine = main_engine
        # 事件引擎
        self.event_engine = event_engine
        # gateway名字
        self.gateway_name = gateway_name
        # 回测引擎
        self.backtester_engine = main_engine.get_engine(APP_NAME)
        self.class_names = []
        self.settings = {}

        self.target_display = ""
        # 初始化策略设置
        self.init_strategy_settings()

        # 绑定 事件处理函数
        self.register_event()
        # 初始化回测引擎
        self.backtester_engine.init_engine()
Exemplo n.º 24
0
def main():
    """Start VN Trader"""
    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(CtpGateway)
    main_engine.add_app(CtaStrategyApp)
    main_engine.add_app(CtaBacktesterApp)
    main_engine.add_app(DataManagerApp)

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

    qapp.exec()
Exemplo n.º 25
0
Arquivo: run.py Projeto: kings425/vnpy
def main():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(BinanceGateway)
    # main_engine.add_gateway(BitmexGateway)
    # 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(HuobifGateway)
    # main_engine.add_gateway(OkexsGateway)

    # 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_engine.add_app(PortfolioStrategyApp)

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

    qapp.exec()
Exemplo n.º 26
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)
Exemplo n.º 27
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 = {
        " username ": "",
        " password ": "",
        " brokers code ": "9999",
        " transaction server ": "180.168.146.187:10101",
        " quotes server ": "180.168.146.187:10111",
        " product name ": "simnow_client_test",
        " authorized coding ": "0000000000000000",
        " product information ": ""
    }
    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)
Exemplo n.º 28
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 完成")
Exemplo n.º 29
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)
Exemplo n.º 30
0
    def __init__(self, main_engine: MainEngine, event_engine: EventEngine):
        """"""
        super().__init__()

        self.engine: ManagerEngine = main_engine.get_engine(APP_NAME)

        self.tree_items: Dict[Tuple, QtWidgets.QTreeWidgetItem] = {}

        self.init_ui()
Exemplo n.º 31
0
    def __init__(self, main_engine: MainEngine, event_engine: EventEngine):
        super().__init__()

        self.main_engine = main_engine
        self.event_engine = event_engine
        self.recorder_engine = main_engine.get_engine(APP_NAME)

        self.init_ui()
        self.register_event()
        self.recorder_engine.put_event()
Exemplo n.º 32
0
    def __init__(self, main_engine: MainEngine, event_engine: EventEngine):
        super(CtaManager, self).__init__()

        self.main_engine = main_engine
        self.event_engine = event_engine
        self.cta_engine = main_engine.get_engine(APP_NAME)

        self.managers = {}

        self.init_ui()
        self.register_event()
        self.cta_engine.init_engine()
        self.update_class_combo()
Exemplo n.º 33
0
Arquivo: run.py Projeto: Alyle/vnpy
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_app(CtaStrategyApp)
    main_engine.add_app(CsvLoaderApp)

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

    qapp.exec()