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

Method handle_ohlcv

python/ccxt/pro/xt.py:806–862  ·  view source on GitHub ↗
(self, client: Client, message: dict)

Source from the content-addressed store, hash-verified

804 return message
805
806 def handle_ohlcv(self, client: Client, message: dict):
807 #
808 # spot
809 #
810 # {
811 # "topic": "kline",
812 # "event": "kline@btc_usdt,5m",
813 # "data": {
814 # "s": "btc_usdt", # symbol
815 # "t": 1656043200000, # time
816 # "i": "5m", # interval
817 # "o": "44000", # open price
818 # "c": "50000", # close price
819 # "h": "52000", # highest price
820 # "l": "36000", # lowest price
821 # "q": "34.2", # qty(quantity)
822 # "v": "230000" # volume
823 # }
824 # }
825 #
826 # contract
827 #
828 # {
829 # "topic": "kline",
830 # "event": "kline@btc_usdt,5m",
831 # "data": {
832 # "s": "btc_index", # trading pair
833 # "o": "49000", # opening price
834 # "c": "50000", # closing price
835 # "h": "0.1", # highest price
836 # "l": "0.1", # lowest price
837 # "a": "0.1", # volume
838 # "v": "0.1", # turnover
839 # "ch": "0.21", # quote change
840 # "t": 123124124 # timestamp
841 # }
842 # }
843 #
844 data = self.safe_dict(message, 'data', {})
845 marketId = self.safe_string(data, 's')
846 if marketId is not None:
847 timeframe = self.safe_string(data, 'i')
848 tradeType = 'spot' if ('q' in data) else 'contract'
849 market = self.safe_market(marketId, None, None, tradeType)
850 symbol = market['symbol']
851 parsed = self.parse_ohlcv(data, market)
852 self.ohlcvs[symbol] = self.safe_dict(self.ohlcvs, symbol, {})
853 stored = self.safe_value(self.ohlcvs[symbol], timeframe)
854 if stored is None:
855 limit = self.safe_integer(self.options, 'OHLCVLimit', 1000)
856 stored = ArrayCacheByTimestamp(limit)
857 self.ohlcvs[symbol][timeframe] = stored
858 stored.append(parsed)
859 event = self.safe_string(message, 'event')
860 messageHash = event + '::' + tradeType
861 client.resolve(stored, messageHash)
862 return message
863

Callers

nothing calls this directly

Calls 9

parse_ohlcvMethod · 0.95
appendMethod · 0.95
safe_dictMethod · 0.80
safe_stringMethod · 0.80
safe_valueMethod · 0.80
safe_integerMethod · 0.80
resolveMethod · 0.65
safe_marketMethod · 0.45

Tested by

no test coverage detected