Exemplo n.º 1
0
Arquivo: main.py Projeto: Crvae/ib
def test_request_realtime_bars(ib: IB):
    contract = Forex('EURUSD')
    bars = ib.reqRealTimeBars(contract, 5, 'MIDPOINT', False)
    bars.updateEvent += on_bar_update

    ib.sleep(100000)  # 开盘到收盘时间
    ib.cancelRealTimeBars(bars)
    return bars
Exemplo n.º 2
0
    def _cancel_job(
            self, ib_client: ib_insync.IB,
            streaming_id: StreamingID) -> Optional[ib_insync.RealTimeBarList]:
        """
        Cancels a streaming job, removing its metadata from Firestore (so it will no longer be resumed) and cancelling streaming market data from IB.

        Returns the final `RealTimeBarList` associated with this ID, if it could be found.
        """

        logger.debug(
            f"{len(self._real_time_bars)} _real_time_bars before cancelling: {self._real_time_bars.keys()}"
        )
        bar_list = self._real_time_bars.pop(streaming_id, None)
        if bar_list is not None:
            ib_client.cancelRealTimeBars(bar_list)

        self._delete_job_from_firestore(streaming_id)
        return bar_list