(self, client: Client, message)
| 285 | return self.filter_by_since_limit(ohlcv, since, limit, 0, True) |
| 286 | |
| 287 | def handle_ohlcv(self, client: Client, message): |
| 288 | # |
| 289 | # { |
| 290 | # "type": "candles_15m_updates", |
| 291 | # "symbol": "BTCUSD", |
| 292 | # "changes": [ |
| 293 | # [ |
| 294 | # 1561054500000, |
| 295 | # 9350.18, |
| 296 | # 9358.35, |
| 297 | # 9350.18, |
| 298 | # 9355.51, |
| 299 | # 2.07 |
| 300 | # ], |
| 301 | # [ |
| 302 | # 1561053600000, |
| 303 | # 9357.33, |
| 304 | # 9357.33, |
| 305 | # 9350.18, |
| 306 | # 9350.18, |
| 307 | # 1.5900161 |
| 308 | # ] |
| 309 | # ... |
| 310 | # ] |
| 311 | # } |
| 312 | # |
| 313 | type = self.safe_string(message, 'type', '') |
| 314 | timeframeId = type[8:] |
| 315 | timeframeEndIndex = timeframeId.find('_') |
| 316 | timeframeId = timeframeId[0:timeframeEndIndex] |
| 317 | marketId = self.safe_string(message, 'symbol', '').lower() |
| 318 | market = self.safe_market(marketId) |
| 319 | symbol = self.safe_symbol(marketId, market) |
| 320 | changes = self.safe_value(message, 'changes', []) |
| 321 | timeframe = self.find_timeframe(timeframeId) |
| 322 | ohlcvsBySymbol = self.safe_value(self.ohlcvs, symbol) |
| 323 | if ohlcvsBySymbol is None: |
| 324 | self.ohlcvs[symbol] = {} |
| 325 | stored = self.safe_value(self.ohlcvs[symbol], timeframe) |
| 326 | if stored is None: |
| 327 | limit = self.safe_integer(self.options, 'OHLCVLimit', 1000) |
| 328 | stored = ArrayCacheByTimestamp(limit) |
| 329 | self.ohlcvs[symbol][timeframe] = stored |
| 330 | changesLength = len(changes) |
| 331 | # reverse order of array to store candles in ascending order |
| 332 | for i in range(0, changesLength): |
| 333 | index = changesLength - i - 1 |
| 334 | parsed = self.parse_ohlcv(changes[index], market) |
| 335 | stored.append(parsed) |
| 336 | messageHash = 'ohlcv:' + symbol + ':' + timeframeId |
| 337 | client.resolve(stored, messageHash) |
| 338 | return message |
| 339 | |
| 340 | async def watch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook: |
| 341 | """ |
no test coverage detected