MCPcopy Create free account
hub / github.com/ccxt/ccxt / handle_ohlcv

Method handle_ohlcv

python/ccxt/pro/bitrue.py:573–614  ·  view source on GitHub ↗
(self, client: Client, message)

Source from the content-addressed store, hash-verified

571 return self.filter_by_since_limit(ohlcv, since, limit, 0, True)
572
573 def handle_ohlcv(self, client: Client, message):
574 #
575 # {
576 # "channel": "market_e_btcusdt_kline_1min",
577 # "data": [],
578 # "tick": {
579 # "amount": 396539282326.3,
580 # "close": 19517.1,
581 # "ds": "2022-07-13 14:00:00",
582 # "high": 19556.5,
583 # "id": 1657692000,
584 # "low": 19465.1,
585 # "open": 19507.3,
586 # "vol": 20325940
587 # },
588 # "ts": 1657696418000,
589 # "status": "ok"
590 # }
591 #
592 channel = self.safe_string(message, 'channel')
593 parts = channel.split('_')
594 wsBaseQuote = self.safe_string_lower(parts, 2)
595 market = self.find_swap_market_by_ws_base_quote(wsBaseQuote)
596 if market is None:
597 return
598 symbol = market['symbol']
599 wsInterval = self.safe_string(parts, 4)
600 futuresTimeframes = self.safe_dict(self.options, 'futuresTimeframes', {})
601 timeframe = self.find_timeframe(wsInterval, futuresTimeframes)
602 tick = self.safe_value(message, 'tick')
603 if tick is None:
604 return
605 parsed = self.parse_ws_ohlcv(tick, market)
606 if not (symbol in self.ohlcvs):
607 self.ohlcvs[symbol] = {}
608 if not (timeframe in self.ohlcvs[symbol]):
609 limit = self.safe_integer(self.options, 'OHLCVLimit', 1000)
610 self.ohlcvs[symbol][timeframe] = ArrayCacheByTimestamp(limit)
611 stored = self.ohlcvs[symbol][timeframe]
612 stored.append(parsed)
613 messageHash = 'ohlcv:' + symbol + ':' + timeframe
614 client.resolve(stored, messageHash)
615
616 def parse_ws_ohlcv(self, tick, market=None) -> list:
617 symbol = market['symbol']

Callers 1

handle_messageMethod · 0.95

Calls 12

parse_ws_ohlcvMethod · 0.95
safe_stringMethod · 0.80
splitMethod · 0.80
safe_string_lowerMethod · 0.80
safe_dictMethod · 0.80
safe_valueMethod · 0.80
safe_integerMethod · 0.80
resolveMethod · 0.65
find_timeframeMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected