Beispiel #1
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(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()
Beispiel #2
0
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(HbdmGateway)

    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_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()
Beispiel #3
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()
Beispiel #4
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
Beispiel #5
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()
Beispiel #6
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()
Beispiel #7
0
def main():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)

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

    # 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(RpcGateway)
    main_engine.add_gateway(TqdataGateway)

    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(FollowTradingApp)

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

    qapp.exec()
Beispiel #8
0
def main():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)

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

    yearlists = {'2020': '2021'}
    # all existed currency futures
    symbols = SYMBOLS

    # symbol = symbols[0]
    # quote = SubscribeRequest(symbol, BinanceGateway.exchanges[0])
    # df = main_engine.subscribe(quote,'BINANCE')
    INTERV = 'MINUTE'
    # INTERV = 'YEAR'
    for symbol in symbols:
        this_directory = 'C:\\Workspace\\crypto\\data\\' + symbol
        if not os.path.exists(this_directory):
            os.makedirs(this_directory)
        for key, var in yearlists.items():
            startdate = pd.to_datetime(key + '-01-01')
            enddate = pd.to_datetime(var + '-01-06')
            print('query {} minute history '.format(symbol))
            quote = HistoryRequest(symbol,
                                   BinancesGateway.exchanges[0],
                                   start=startdate,
                                   end=enddate,
                                   interval=Interval.MINUTE)

            df = main_engine.query_history(quote, engine_name)
            # HOUR
            this_model_file = this_directory + '\\' + symbol + '_FUTURES' + '_' + INTERV + '_' + key + '.pkl'
            # MINUTE
            # this_model_file = this_directory + '\\' + symbol + '_' + INTERV + '_all' + '.pkl'
            with open(this_model_file, 'wb') as f:
                # first save model
                pickle.dump(df, f)
Beispiel #9
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()
Beispiel #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()
Beispiel #11
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_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()
Beispiel #12
0
def main():
    """"""
    qapp = create_qapp()
    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(BitmexGateway)
    main_engine.add_app(CtaStrategyApp)
    main_engine.add_engine(drEngine)
    main_window = MainWindow(main_engine, event_engine)
    main_window.showNormal()

    qapp.exec()
Beispiel #13
0
def main():
    """Start VN Trader"""
    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(WeboptionGateway)
    main_engine.add_app(DataRecorderApp)

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

    qapp.exec()
Beispiel #14
0
def main():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)
    main_engine.add_app(CtaBacktesterApp)
    main_engine.add_app(DataManagerApp)

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

    qapp.exec()
Beispiel #15
0
def main():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(RpcGateway)
    main_engine.add_app(CtaStrategyApp)

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

    qapp.exec()
Beispiel #16
0
def main_ui():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(CtpGateway)
    main_engine.add_app(RpcServiceApp)

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

    qapp.exec()
Beispiel #17
0
def main():
    """"""
    # 创建 QApplication  对象 并进行初始化
    qapp = create_qapp()
    # 事件引擎
    event_engine = EventEngine()
    # 把事件引擎附加到主引擎里
    main_engine = MainEngine(event_engine)
    # main_engine.add_gateway(XtpGateway)
    # main_engine.add_gateway(CtpGateway)
    # main_engine.add_gateway(FemasGateway)
    # main_engine.add_gateway(IbGateway)
    # main_engine.add_gateway(FutuGateway)

    # bitmex交易所
    # main_engine.add_gateway(BitmexGateway)
    # main_engine.add_gateway(TigerGateway)
    # main_engine.add_gateway(OesGateway)
    main_engine.add_gateway(OkexfGateway)

    # 添加火币的交互通道
    # 从json文件加载配置
    # settings = load_json("connect_huobi.json")
    # for setting in settings["Keys"]:
    #     # self.main_engine.connect(setting, self.gateway_name)
    #     # sleep(10)
    #     main_engine.add_gateway(HuobiGateway)
    main_engine.add_gateway(HuobiGateway)

    # main_engine.add_gateway(BitfinexGateway)
    # main_engine.add_gateway(OnetokenGateway)
    main_engine.add_gateway(OkexGateway)
    main_engine.add_gateway(HbdmGateway)

    # 把 app 保存到 apps 和 engines 里
    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_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()
    # qt 事件循环
    qapp.exec()
Beispiel #18
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_app(CtaStrategyApp)

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

    qapp.exec()
Beispiel #19
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(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_app(DataFetchApp)
    main_engine.add_app(DbViewApp)
    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_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()
Beispiel #20
0
def main():
    """Start VN Trader"""
    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(SinopacGateway)
    main_engine.add_app(CtaStrategyApp)
    main_engine.add_app(CtaBacktesterApp)
    main_engine.add_app(AlgoTradingApp)
    main_engine.add_app(DataRecorderApp)
    main_engine.add_app(SpreadTradingApp)
    main_engine.add_app(ScriptTraderApp)
    main_engine.add_app(RiskManagerApp)

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

    qapp.exec()
Beispiel #21
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_app(CtaStrategyApp)
    main_engine.add_app(CsvLoaderApp)

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

    qapp.exec()
Beispiel #22
0
def main():
    """Start VeighNa Trader"""
    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    
    # main_engine.add_gateway(CtpGateway)
    # Gateway
    main_engine.add_gateway(SinopacGateway)
    # Strategy
    main_engine.add_app(CtaStrategyApp)
    main_engine.add_app(CtaBacktesterApp)

    # Function
    main_engine.add_app(DataManagerApp)
    
    main_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()
Beispiel #23
0
def main():
    """Start VN Trader"""
    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)


    main_engine.add_gateway(SoptGateway)
    main_engine.add_app(OptionMasterApp)
    main_engine.add_app(RiskManagerApp)
    # main_engine.add_app(PortfolioManagerApp)
    # main_engine.add_app(PortfolioStrategyApp)
    main_engine.add_gateway(CtpGateway)
    main_engine.add_app(CtaStrategyApp)
    main_engine.add_app(CtaBacktesterApp)
    main_engine.add_app(AlgoTradingApp)
    main_engine.add_app(OptionMasterApp)

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

    qapp.exec()
Beispiel #24
0
def main():
    """Start VN Trader"""
    # rep_address = 'tcp://*:2014'
    # pub_address = 'tcp://*:0602'

    # ts = TestServer(rep_address, pub_address)
    # ts.start()

    qapp = create_qapp()

    event_engine = EventEngine()
    # event_engine.register(EVENT_TRADE, ts.publish)

    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(CtptestGateway)
    main_engine.add_app(CtaStrategyApp)
    main_engine.add_app(CtaBacktesterApp)

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

    qapp.exec()
Beispiel #25
0
def main():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)
    main_engine.add_gateway(BitmexGateway)
    main_engine.add_gateway(CtpGateway)

    main_engine.add_app(CtaStrategyApp)
    main_engine.add_app(CtaBacktesterApp)
    main_engine.add_app(SpreadTradingApp)
    # main_engine.add_app(CsvLoaderApp)
    # main_engine.add_app(AlgoTradingApp)
    # main_engine.add_app(DataRecorderApp)
    main_engine.add_app(RiskManagerApp)
    main_engine.add_app(InvestmentManagerApp)

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

    qapp.exec()
    def initiate(self):

        # first load history

        qapp = create_qapp()

        event_engine = EventEngine()

        self.main_engine = MainEngine(event_engine)

        self.main_engine.add_gateway(BinancesGateway)

        setting = {
            "key":
            "bEZCKVAkJYugYErdlg5GAj7PGgh72ieFIVtDVYgUwJuE7M0vLFM7lN7JuQPYB0AL",
            "secret":
            "LGZXmPUe4iXqOWlmjiUHGvf7XsdLSBWe5HfXauJoxu8qR9RTeZMUqzTOhcRiAK9K",
            "会话数": 3,
            "服务器": "REAL",
            "合约模式": "正向",
            "代理地址": "",
            "代理端口": 0
        }
        enginename = 'BINANCES'

        self.main_engine.connect(setting, self.enginename)
        time.sleep(3)
        # cash_available = self.main_engine.engines['oms'].accounts['BINANCES.USDT'].available
        # print(' cash available {}'.format(cash_available))
        self.load_history()
        for symbol in self.symbols:
            self.data_quote[symbol].min_volume = self.main_engine.engines[
                'oms'].contracts[symbol + '.BINANCE'].min_volume

        self.subscribe_quote()
        time.sleep(2)
        self.cancel_all_pendings()
Beispiel #27
0
def main():
    """"""
    # 创建 QApplication  对象 并进行初始化
    qapp = create_qapp()
    # 事件引擎
    event_engine = EventEngine()
    # 把事件引擎附加到主引擎里
    main_engine = MainEngine(event_engine)
    # main_engine.add_gateway(XtpGateway)
    # main_engine.add_gateway(CtpGateway)
    # main_engine.add_gateway(FemasGateway)
    # main_engine.add_gateway(IbGateway)
    # main_engine.add_gateway(FutuGateway)

    # bitmex交易所
    main_engine.add_gateway(BitmexGateway)
    # main_engine.add_gateway(TigerGateway)
    # main_engine.add_gateway(OesGateway)
    main_engine.add_gateway(OkexfGateway)
    # 添加火币的交互通道
    main_engine.add_gateway(HuobiGateway)
    # main_engine.add_gateway(BitfinexGateway)
    # main_engine.add_gateway(OnetokenGateway)
    main_engine.add_gateway(OkexGateway)
    main_engine.add_gateway(HbdmGateway)

    # 把 app 保存到 apps 和 engines 里
    # 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_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()
    # qt 事件循环
    qapp.exec()
Beispiel #28
0
from datetime import datetime, timedelta
from vnpy.trader.ui import create_qapp, QtCore
from vnpy.trader.database import database_manager
from vnpy.trader.constant import Exchange, Interval
from vnpy.chart import ChartWidget, VolumeItem, CandleItem
from vnpy.trader.object import BarData
from random import randint
import pandas as pd
"""
"""

if __name__ == "__main__":
    app = create_qapp()

    bars = database_manager.load_bar_data("IF88",
                                          Exchange.CFFEX,
                                          interval=Interval.MINUTE,
                                          start=datetime(2019, 7, 1),
                                          end=datetime(2019, 7, 17))
    """
    symbol: str
    exchange: Exchange
    datetime: datetime

    interval: Interval = None
    volume: float = 0
    open_interest: float = 0
    open_price: float = 0
    high_price: float = 0
    low_price: float = 0
    close_price: float = 0
def main():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(BinanceGateway)

    setting = {
        "key":
        "pUJsE0fa62rpAEUo71P27kV6GUUA6fSlojhWodZ5kFjGQFPe2PSGt9Dn2eNE6aHf",
        "secret":
        "jMWC0Ld0YkCy1lEnupsU7YJMr3VPR8of9W80iGLOG816b2xarvnWUN8uyOEz3g5w",
        "session_number": 3,
        "server": ["REAL"],
        "proxy_host": "",
        "proxy_port": 0
    }
    main_engine.connect(setting, 'BINANCE')
    time.sleep(3)
    # main_engine.event_engine.register(EVENT_TIMER, self.process_timer_event)
    yearlists = {
        '2017': '2018',
        '2018': '2019',
        '2019': '2020',
        '2020': '2021'
    }

    yearlists = {'2020': '2021'}
    # all existed currency futures
    symbols = [
        'SXPBTC', 'EOSBTC', 'ADABTC', 'BANDBTC', 'VETBTC', 'XTZBTC', 'BNBBTC',
        'KAVABTC', 'XLMBTC', 'ZECBTC', 'COMPBTC', 'KNCBTC', 'ATOMBTC',
        'RLCBTC', 'NEOBTC', 'ALGOBTC', 'XMRBTC', 'ONTBTC', 'THETABTC',
        'IOSTBTC', 'ZILBTC', 'DASHBTC', 'OMGBTC', 'QTUMBTC', 'IOTABTC',
        'BATBTC', 'DOGEBTC', 'ZRXBTC'
    ]

    symbol = 'BTCUSDT'
    quote = HistoryRequest(symbol,
                           BinanceGateway.exchanges[0],
                           start=pd.to_datetime('2020-09-21'),
                           end=pd.to_datetime('2020-09-22'),
                           interval=Interval.HOUR)

    df = main_engine.query_history(quote, 'BINANCE')
    symbols = ['btcusdt', 'ethusdt']
    for symbol in symbols:
        quote = SubscribeRequest(symbol, BinanceGateway.exchanges[0])
        main_engine.subscribe(quote, 'BINANCE')

    while True:

        time.sleep(2)

        for symbol in symbols:
            # x = main_engine.get_gateway('BINANCE').market_ws_api.ticks
            x = main_engine.engines['oms'].ticks
            info = symbol + "." + 'BINANCE'
            if info not in list(x.keys()):
                print('no data, resubscribe')
                quote = SubscribeRequest(symbol, BinanceGateway.exchanges[0])
                main_engine.subscribe(quote, 'BINANCE')

            else:
                x = x[info]

                print("-" * 30)
                print('{} --- {}  ask1 {}, bid1 {}, volume {}'.format(
                    x.datetime.strftime('%Y-%m-%d %H:%M:%S'), x.name,
                    x.ask_price_1, x.bid_price_1, x.volume))
    """
    symbols = ['LINKUSDT','WAVESUSDT' ]
    # symbol = symbols[0]
    # quote = SubscribeRequest(symbol, BinanceGateway.exchanges[0])
    # df = main_engine.subscribe(quote,'BINANCE')
    INTERV = 'MINUTE'
    # INTERV = 'YEAR'
    for symbol in symbols:
        this_directory = 'C:\\Workspace\\crypto\\data\\' + symbol
        if not os.path.exists(this_directory):
            os.makedirs(this_directory)
        for key, var in yearlists.items():
            startdate = pd.to_datetime(key + '-01-01')
            enddate = pd.to_datetime(var + '-01-06')
            print('load {} from existed file finished '.format(symbol))
            quote = HistoryRequest(symbol, BinanceGateway.exchanges[0], start=startdate, end=enddate, interval=Interval.MINUTE)

            df = main_engine.query_history(quote, 'BINANCE')
            # HOUR
            this_model_file = this_directory + '\\' + symbol + '_' + INTERV + '_' + key + '.pkl'
            # MINUTE
            # this_model_file = this_directory + '\\' + symbol + '_' + INTERV + '_all' + '.pkl'
            with open(this_model_file, 'wb') as f:
                # first save model
                pickle.dump(df, f)
            print(2)
    #main_engine.send_order()
    """
    # 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(HuobifGateway)
    # 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_gateway(Mt4Gateway)
    # main_engine.add_gateway(Mt5Gateway)

    # 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()
    """
    pass
def main():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(BinanceGateway)

    setting = {
        "key":
        "1AzLAhEYBbeVld4TxreM49MPt643AjP2WnA7zmFB5pGrozsOLiFWt4YKHGcFs7wH ",
        "secret":
        "TzYrDK4logB2EZZFLXbe8QTVDt9tOU1U8BnkvRkmNulRRMYmtzOoJ2FPtVGhfC2A",
        "session_number": 3,
        "server": ["REAL"],
        "proxy_host": "",
        "proxy_port": 0
    }
    main_engine.connect(setting, 'BINANCE')
    yearlists = {
        '2017': '2018',
        '2018': '2019',
        '2019': '2020',
        '2020': '2021'
    }
    # all existed currency futures
    symbols = [
        'SXPBTC', 'EOSBTC', 'ADABTC', 'BANDBTC', 'VETBTC', 'XTZBTC', 'BNBBTC',
        'KAVABTC', 'XLMBTC', 'ZECBTC', 'COMPBTC', 'KNCBTC', 'ATOMBTC',
        'RLCBTC', 'NEOBTC', 'ALGOBTC', 'XMRBTC', 'ONTBTC', 'THETABTC',
        'IOSTBTC', 'ZILBTC', 'DASHBTC', 'OMGBTC', 'QTUMBTC', 'IOTABTC',
        'BATBTC', 'DOGEBTC', 'ZRXBTC'
    ]
    # 'SXPUSDT', 'EOSUSDT', 'ADAUSDT', 'BANDUSDT', 'VETUSDT', 'XTZUSDT', 'BNBUSDT', 'KAVAUSDT',
    # 'XLMUSDT', 'ZECUSDT', 'COMPUSDT', 'KNCUSDT', 'ATOMUSDT', 'RLCUSDT', 'NEOUSDT', 'ALGOUSDT', 'XMRUSDT',
    symbols = [
        'BTCUSDT', 'ETHUSDT', 'XRPUSDT', 'LENDUSDT', 'SXPUSDT', 'EOSUSDT',
        'ADAUSDT', 'BANDUSDT', 'VETUSDT', 'XTZUSDT', 'BNBUSDT', 'KAVAUSDT',
        'XLMUSDT', 'ZECUSDT', 'COMPUSDT', 'KNCUSDT', 'ATOMUSDT', 'RLCUSDT',
        'NEOUSDT', 'ALGOUSDT', 'XMRUSDT', 'ONTUSDT', 'THETAUSDT', 'IOSTUSDT',
        'ZILUSDT', 'DASHUSDT', 'OMGUSDT', 'QTUMUSDT', 'IOTAUSDT', 'BATUSDT',
        'DOGEUSDT', 'ZRXUSDT'
    ]
    # symbol = symbols[0]
    # quote = SubscribeRequest(symbol, BinanceGateway.exchanges[0])
    # df = main_engine.subscribe(quote,'BINANCE')
    for symbol in symbols:
        this_directory = 'C:\\Workspace\\crypto\\data\\' + symbol
        this_model_file = this_directory + '\\' + symbol + '_HOUR_all.pkl'
        if os.path.exists(this_model_file):

            print('load {} from existed file finished '.format(symbol))
            with open(this_model_file, 'rb') as f:
                olddata = pickle.load(f)
                f.close()

            startdate = pd.Timestamp.now() - timedelta(days=20)
            enddate = pd.Timestamp.now() + timedelta(days=1)
            quote = HistoryRequest(symbol,
                                   BinanceGateway.exchanges[0],
                                   start=startdate,
                                   end=enddate,
                                   interval=Interval.HOUR)

            df_new = main_engine.query_history(quote, 'BINANCE')

            print('Updating finished ! ')

            datelists = []
            closelists = []
            highlists = []
            openlists = []
            lowlists = []
            volumelists = []
            for curdata in df_new:
                datelists.append(
                    pd.Timestamp(
                        curdata.datetime).strftime('%Y-%m-%d %H:%M:%S'))
                openlists.append(curdata.open_price)
                highlists.append(curdata.high_price)
                lowlists.append(curdata.low_price)
                closelists.append(curdata.close_price)
                volumelists.append(curdata.volume)

            newdata = {
                'datetime': datelists,
                'open': openlists,
                'high': highlists,
                'low': lowlists,
                'close': closelists,
                'volume': volumelists,
            }
            newdata = pd.DataFrame(newdata)

            lastdate = olddata['datetime'].iloc[-1]
            newdata = newdata[newdata['datetime'] > lastdate]
            alldata = olddata.append(newdata)
            alldata.drop_duplicates(inplace=True)
            with open(this_model_file, 'wb') as f:
                # second save training names
                pickle.dump(alldata, f)
                f.close()

            print(2)
        else:
            raise Exception('old data not existed for ---{}'.format(symbol))
    return
Beispiel #31
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(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(FutuGateway)
    main_engine.add_gateway(IbGateway)
    # main_engine.add_gateway(TigerGateway)
    # main_engine.add_gateway(TapGateway)
    # main_engine.add_gateway(DaGateway)
    # main_engine.add_gateway(Mt5Gateway)
    main_engine.add_gateway(BinanceGateway)
    main_engine.add_gateway(BinancesGateway)
    # main_engine.add_gateway(HuobiGateway)
    # main_engine.add_gateway(HuobifGateway)
    # main_engine.add_gateway(HuobisGateway)
    # main_engine.add_gateway(HuobioGateway)
    # main_engine.add_gateway(OkexGateway)
    # main_engine.add_gateway(OkexfGateway)
    # main_engine.add_gateway(OkexsGateway)
    # main_engine.add_gateway(OkexoGateway)
    # main_engine.add_gateway(BitmexGateway)
    # main_engine.add_gateway(BybitGateway)
    # main_engine.add_gateway(GateiosGateway)
    # main_engine.add_gateway(DeribitGateway)
    # main_engine.add_gateway(BitfinexGateway)
    # main_engine.add_gateway(CoinbaseGateway)
    # main_engine.add_gateway(BitstampGateway)
    # main_engine.add_gateway(OnetokenGateway)
    # main_engine.add_gateway(RohonGateway)
    # main_engine.add_gateway(XgjGateway)
    # main_engine.add_gateway(AlpacaGateway)

    # 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(MarketRadarApp)
    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(PortfolioManagerApp)
    # main_engine.add_app(PaperAccountApp)

    main_window = MainWindow(main_engine, event_engine)
    main_window.setMinimumSize(800, 600)
    main_window.showMaximized()

    qapp.exec()