Beispiel #1
0
    def download_bar_data(self, symbol: str, exchange: Exchange, interval: str,
                          start: datetime) -> int:
        """
        Query bar data from RQData.
        """
        req = HistoryRequest(symbol=symbol,
                             exchange=exchange,
                             interval=Interval(interval),
                             start=start,
                             end=datetime.now())

        vt_symbol = f"{symbol}.{exchange.value}"
        contract = self.main_engine.get_contract(vt_symbol)

        # If history data provided in gateway, then query
        if contract and contract.history_data:
            data = self.main_engine.query_history(req, contract.gateway_name)
        # Otherwise use RQData to query data
        else:
            # JinAdd:增加数据源
            # if not rqdata_client.inited:
            #     rqdata_client.init()
            if not data_client.inited:
                data_client.init()

            # data = rqdata_client.query_history(req)
            data = data_client.query_history(req)

        if data:
            database_manager.save_bar_data(data)
            return (len(data))

        return 0
Beispiel #2
0
    def __init__(self, main_engine: MainEngine, event_engine: EventEngine):
        """"""
        super().__init__(main_engine, event_engine, APP_NAME)

        # JinAdd:增加数据源
        # rqdata_client.init()
        try:
            data_client.init(is_update_contracts=True)
        except TypeError:
            data_client.init()
Beispiel #3
0
 def init_rqdata(self):
     """
     Init RQData client.
     """
     # JinAdd: 增加数据源
     result = data_client.init()
     if result:
         self.write_log(f"{SETTINGS['data.source']}数据接口初始化成功")
Beispiel #4
0
 def init(self):
     """
     Start script engine.
     """
     # JinAdd:增加数据源
     result = data_client.init(is_update_contracts=True)
     if result:
         self.write_log(f"{SETTINGS['data.source']}数据接口初始化成功")