OctoBot-Trading 2.4.157__tar.gz → 2.4.159__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/CHANGELOG.md +8 -0
  2. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159/OctoBot_Trading.egg-info}/PKG-INFO +2 -2
  3. {OctoBot-Trading-2.4.157/OctoBot_Trading.egg-info → OctoBot-Trading-2.4.159}/PKG-INFO +2 -2
  4. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/README.md +1 -1
  5. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/__init__.py +1 -1
  6. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/connectors/ccxt/ccxt_client_util.py +6 -3
  7. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/connectors/ccxt/ccxt_connector.py +2 -1
  8. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/types/rest_exchange.py +6 -0
  9. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/real_exchange_tester.py +10 -12
  10. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_ascendex.py +2 -2
  11. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_binance_futures.py +2 -2
  12. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_bingx.py +2 -2
  13. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_bitfinex.py +2 -2
  14. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_bitget.py +2 -2
  15. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_bithumb.py +2 -2
  16. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_bitmart.py +2 -2
  17. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_bitmex.py +2 -2
  18. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_bitso.py +2 -2
  19. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_bitstamp.py +2 -2
  20. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_bybit.py +2 -2
  21. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_bybit_futures.py +2 -2
  22. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_coinbase.py +2 -2
  23. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_coinex.py +2 -2
  24. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_cryptocom.py +2 -2
  25. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_gateio.py +2 -2
  26. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_hitbtc.py +9 -2
  27. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_htx.py +2 -2
  28. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_kraken.py +2 -2
  29. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_kucoin.py +2 -2
  30. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_kucoin_futures.py +2 -2
  31. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_mexc.py +2 -2
  32. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_ndax.py +2 -2
  33. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_okx.py +2 -2
  34. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_okx_futures.py +2 -2
  35. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_phemex.py +2 -2
  36. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_poloniex.py +2 -2
  37. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_upbit.py +10 -2
  38. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_wavesexchange.py +2 -2
  39. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/LICENSE +0 -0
  40. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/MANIFEST.in +0 -0
  41. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/OctoBot_Trading.egg-info/SOURCES.txt +0 -0
  42. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/OctoBot_Trading.egg-info/dependency_links.txt +0 -0
  43. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/OctoBot_Trading.egg-info/not-zip-safe +0 -0
  44. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/OctoBot_Trading.egg-info/requires.txt +0 -0
  45. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/OctoBot_Trading.egg-info/top_level.txt +0 -0
  46. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/api/__init__.py +0 -0
  47. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/api/channels.py +0 -0
  48. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/api/contracts.py +0 -0
  49. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/api/exchange.py +0 -0
  50. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/api/modes.py +0 -0
  51. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/api/orders.py +0 -0
  52. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/api/portfolio.py +0 -0
  53. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/api/positions.py +0 -0
  54. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/api/profitability.py +0 -0
  55. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/api/storage.py +0 -0
  56. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/api/symbol_data.py +0 -0
  57. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/api/trader.py +0 -0
  58. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/api/trades.py +0 -0
  59. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/constants.py +0 -0
  60. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/enums.py +0 -0
  61. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/errors.py +0 -0
  62. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_channel.py +0 -0
  63. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/__init__.py +0 -0
  64. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/contracts/__init__.py +0 -0
  65. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/contracts/contract_factory.py +0 -0
  66. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/contracts/future_contract.py +0 -0
  67. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/contracts/margin_contract.py +0 -0
  68. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/exchange_symbol_data.py +0 -0
  69. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/exchange_symbols_data.py +0 -0
  70. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/funding/__init__.py +0 -0
  71. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/funding/channel/__init__.py +0 -0
  72. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/funding/channel/funding.py +0 -0
  73. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/funding/channel/funding_updater.py +0 -0
  74. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/funding/channel/funding_updater_simulator.py +0 -0
  75. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/funding/funding_manager.py +0 -0
  76. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/kline/__init__.py +0 -0
  77. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/kline/channel/__init__.py +0 -0
  78. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/kline/channel/kline.py +0 -0
  79. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/kline/channel/kline_updater.py +0 -0
  80. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/kline/channel/kline_updater_simulator.py +0 -0
  81. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/kline/kline_manager.py +0 -0
  82. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ohlcv/__init__.py +0 -0
  83. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ohlcv/candles_adapter.py +0 -0
  84. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ohlcv/candles_manager.py +0 -0
  85. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ohlcv/channel/__init__.py +0 -0
  86. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ohlcv/channel/ohlcv.py +0 -0
  87. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater.py +0 -0
  88. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater_simulator.py +0 -0
  89. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ohlcv/preloaded_candles_manager.py +0 -0
  90. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/order_book/__init__.py +0 -0
  91. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/order_book/channel/__init__.py +0 -0
  92. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/order_book/channel/order_book.py +0 -0
  93. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/order_book/channel/order_book_updater.py +0 -0
  94. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/order_book/channel/order_book_updater_simulator.py +0 -0
  95. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/order_book/order_book_manager.py +0 -0
  96. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/prices/__init__.py +0 -0
  97. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/prices/channel/__init__.py +0 -0
  98. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/prices/channel/price.py +0 -0
  99. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/prices/channel/prices_updater.py +0 -0
  100. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/prices/channel/prices_updater_simulator.py +0 -0
  101. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/prices/price_events_manager.py +0 -0
  102. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/prices/prices_manager.py +0 -0
  103. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/recent_trades/__init__.py +0 -0
  104. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/recent_trades/channel/__init__.py +0 -0
  105. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/recent_trades/channel/recent_trade.py +0 -0
  106. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater.py +0 -0
  107. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater_simulator.py +0 -0
  108. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/recent_trades/recent_trades_manager.py +0 -0
  109. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ticker/__init__.py +0 -0
  110. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ticker/channel/__init__.py +0 -0
  111. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ticker/channel/ticker.py +0 -0
  112. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ticker/channel/ticker_updater.py +0 -0
  113. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ticker/channel/ticker_updater_simulator.py +0 -0
  114. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchange_data/ticker/ticker_manager.py +0 -0
  115. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/__init__.py +0 -0
  116. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/abstract_exchange.py +0 -0
  117. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/abstract_websocket_exchange.py +0 -0
  118. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/adapters/__init__.py +0 -0
  119. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/adapters/abstract_adapter.py +0 -0
  120. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/config/__init__.py +0 -0
  121. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/config/backtesting_exchange_config.py +0 -0
  122. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/config/exchange_config_data.py +0 -0
  123. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/config/proxy_config.py +0 -0
  124. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/connectors/__init__.py +0 -0
  125. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/connectors/ccxt/__init__.py +0 -0
  126. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/connectors/ccxt/ccxt_adapter.py +0 -0
  127. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/connectors/ccxt/ccxt_clients_cache.py +0 -0
  128. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/connectors/ccxt/ccxt_websocket_connector.py +0 -0
  129. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/connectors/ccxt/constants.py +0 -0
  130. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/connectors/ccxt/enums.py +0 -0
  131. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/connectors/simulator/__init__.py +0 -0
  132. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/connectors/simulator/ccxt_client_simulation.py +0 -0
  133. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/connectors/simulator/exchange_simulator_adapter.py +0 -0
  134. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/connectors/simulator/exchange_simulator_connector.py +0 -0
  135. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/exchange_builder.py +0 -0
  136. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/exchange_channels.py +0 -0
  137. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/exchange_details.py +0 -0
  138. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/exchange_factory.py +0 -0
  139. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/exchange_manager.py +0 -0
  140. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/exchange_websocket_factory.py +0 -0
  141. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/exchanges.py +0 -0
  142. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/implementations/__init__.py +0 -0
  143. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/implementations/default_rest_exchange.py +0 -0
  144. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/implementations/default_websocket_exchange.py +0 -0
  145. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/implementations/exchange_simulator.py +0 -0
  146. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/traders/__init__.py +0 -0
  147. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/traders/trader.py +0 -0
  148. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/traders/trader_simulator.py +0 -0
  149. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/types/__init__.py +0 -0
  150. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/types/websocket_exchange.py +0 -0
  151. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/util/__init__.py +0 -0
  152. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/util/exchange_market_status_fixer.py +0 -0
  153. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/util/exchange_util.py +0 -0
  154. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/util/symbol_details.py +0 -0
  155. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/exchanges/util/websockets_util.py +0 -0
  156. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/__init__.py +0 -0
  157. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/abstract_trading_mode.py +0 -0
  158. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/channel/__init__.py +0 -0
  159. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/channel/abstract_mode_consumer.py +0 -0
  160. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/channel/abstract_mode_producer.py +0 -0
  161. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/channel/mode.py +0 -0
  162. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/mode_activity.py +0 -0
  163. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/mode_config.py +0 -0
  164. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/modes_factory.py +0 -0
  165. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/modes_util.py +0 -0
  166. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/__init__.py +0 -0
  167. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/basic_keywords/__init__.py +0 -0
  168. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/basic_keywords/account_balance.py +0 -0
  169. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/basic_keywords/amount.py +0 -0
  170. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/basic_keywords/configuration.py +0 -0
  171. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/basic_keywords/position.py +0 -0
  172. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/basic_keywords/price.py +0 -0
  173. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/basic_keywords/run_persistence.py +0 -0
  174. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/basic_keywords/trading_signals.py +0 -0
  175. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/basic_keywords/user_inputs.py +0 -0
  176. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/context_management.py +0 -0
  177. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/dsl/__init__.py +0 -0
  178. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/dsl/quantity.py +0 -0
  179. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/script_keywords/dsl/values.py +0 -0
  180. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/scripted_trading_mode/__init__.py +0 -0
  181. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/modes/scripted_trading_mode/abstract_scripted_trading_mode.py +0 -0
  182. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/octobot_channel_consumer.py +0 -0
  183. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/__init__.py +0 -0
  184. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/exchange_personal_data.py +0 -0
  185. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/__init__.py +0 -0
  186. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/channel/__init__.py +0 -0
  187. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/channel/orders.py +0 -0
  188. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/channel/orders_updater.py +0 -0
  189. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/channel/orders_updater_simulator.py +0 -0
  190. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/decimal_order_adapter.py +0 -0
  191. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/groups/__init__.py +0 -0
  192. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/groups/balanced_take_profit_and_stop_order_group.py +0 -0
  193. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/groups/group_util.py +0 -0
  194. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/groups/one_cancels_the_other_order_group.py +0 -0
  195. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/order.py +0 -0
  196. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/order_adapter.py +0 -0
  197. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/order_factory.py +0 -0
  198. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/order_group.py +0 -0
  199. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/order_state.py +0 -0
  200. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/order_util.py +0 -0
  201. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/orders_manager.py +0 -0
  202. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/orders_storage_operations.py +0 -0
  203. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/states/__init__.py +0 -0
  204. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/states/cancel_order_state.py +0 -0
  205. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/states/close_order_state.py +0 -0
  206. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/states/fill_order_state.py +0 -0
  207. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/states/open_order_state.py +0 -0
  208. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/states/order_state_factory.py +0 -0
  209. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/states/pending_creation_chained_order_state.py +0 -0
  210. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/states/pending_creation_order_state.py +0 -0
  211. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/__init__.py +0 -0
  212. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/limit/__init__.py +0 -0
  213. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/limit/buy_limit_order.py +0 -0
  214. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/limit/limit_order.py +0 -0
  215. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/limit/sell_limit_order.py +0 -0
  216. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/limit/stop_loss_limit_order.py +0 -0
  217. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/limit/stop_loss_order.py +0 -0
  218. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/limit/take_profit_limit_order.py +0 -0
  219. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/limit/take_profit_order.py +0 -0
  220. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/market/__init__.py +0 -0
  221. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/market/buy_market_order.py +0 -0
  222. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/market/market_order.py +0 -0
  223. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/market/sell_market_order.py +0 -0
  224. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/trailing/__init__.py +0 -0
  225. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/trailing/trailing_stop_limit_order.py +0 -0
  226. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/trailing/trailing_stop_order.py +0 -0
  227. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/unknown_order.py +0 -0
  228. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/orders/types/unsupported_order.py +0 -0
  229. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/__init__.py +0 -0
  230. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/asset.py +0 -0
  231. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/assets/__init__.py +0 -0
  232. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/assets/future_asset.py +0 -0
  233. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/assets/margin_asset.py +0 -0
  234. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/assets/spot_asset.py +0 -0
  235. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/channel/__init__.py +0 -0
  236. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/channel/balance.py +0 -0
  237. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/channel/balance_updater.py +0 -0
  238. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/channel/balance_updater_simulator.py +0 -0
  239. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/history/__init__.py +0 -0
  240. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/history/historical_asset_value.py +0 -0
  241. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/history/historical_asset_value_factory.py +0 -0
  242. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/history/historical_portfolio_value_manager.py +0 -0
  243. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/portfolio.py +0 -0
  244. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/portfolio_factory.py +0 -0
  245. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/portfolio_manager.py +0 -0
  246. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/portfolio_profitability.py +0 -0
  247. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/portfolio_util.py +0 -0
  248. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/portfolio_value_holder.py +0 -0
  249. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/sub_portfolio.py +0 -0
  250. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/types/__init__.py +0 -0
  251. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/types/future_portfolio.py +0 -0
  252. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/types/margin_portfolio.py +0 -0
  253. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/types/spot_portfolio.py +0 -0
  254. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/portfolios/value_converter.py +0 -0
  255. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/__init__.py +0 -0
  256. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/channel/__init__.py +0 -0
  257. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/channel/positions.py +0 -0
  258. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/channel/positions_updater.py +0 -0
  259. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/channel/positions_updater_simulator.py +0 -0
  260. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/position.py +0 -0
  261. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/position_factory.py +0 -0
  262. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/position_state.py +0 -0
  263. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/position_util.py +0 -0
  264. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/positions_manager.py +0 -0
  265. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/states/__init__.py +0 -0
  266. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/states/active_position_state.py +0 -0
  267. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/states/idle_position_state.py +0 -0
  268. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/states/liquidate_position_state.py +0 -0
  269. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/states/position_state_factory.py +0 -0
  270. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/types/__init__.py +0 -0
  271. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/types/inverse_position.py +0 -0
  272. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/positions/types/linear_position.py +0 -0
  273. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/state.py +0 -0
  274. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/trades/__init__.py +0 -0
  275. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/trades/channel/__init__.py +0 -0
  276. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/trades/channel/trades.py +0 -0
  277. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/trades/channel/trades_updater.py +0 -0
  278. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/trades/trade.py +0 -0
  279. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/trades/trade_factory.py +0 -0
  280. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/trades/trade_pnl.py +0 -0
  281. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/trades/trades_manager.py +0 -0
  282. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/trades/trades_util.py +0 -0
  283. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/transactions/__init__.py +0 -0
  284. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/transactions/transaction.py +0 -0
  285. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/transactions/transaction_factory.py +0 -0
  286. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/transactions/transactions_manager.py +0 -0
  287. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/transactions/types/__init__.py +0 -0
  288. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/transactions/types/blockchain_transaction.py +0 -0
  289. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/transactions/types/fee_transaction.py +0 -0
  290. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/transactions/types/realised_pnl_transaction.py +0 -0
  291. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/personal_data/transactions/types/transfer_transaction.py +0 -0
  292. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/signals/__init__.py +0 -0
  293. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/signals/channel/__init__.py +0 -0
  294. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/signals/channel/remote_trading_signal.py +0 -0
  295. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/signals/channel/remote_trading_signal_channel_factory.py +0 -0
  296. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/signals/channel/signal_producer.py +0 -0
  297. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/signals/signal_creation.py +0 -0
  298. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/signals/trading_signal_bundle_builder.py +0 -0
  299. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/signals/util.py +0 -0
  300. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/storage/__init__.py +0 -0
  301. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/storage/abstract_storage.py +0 -0
  302. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/storage/candles_storage.py +0 -0
  303. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/storage/orders_storage.py +0 -0
  304. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/storage/portfolio_storage.py +0 -0
  305. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/storage/storage_manager.py +0 -0
  306. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/storage/trades_storage.py +0 -0
  307. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/storage/transactions_storage.py +0 -0
  308. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/storage/util.py +0 -0
  309. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/supervisors/__init__.py +0 -0
  310. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/supervisors/abstract_portfolio_supervisor.py +0 -0
  311. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/supervisors/abstract_supervisor.py +0 -0
  312. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/util/__init__.py +0 -0
  313. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/util/config_util.py +0 -0
  314. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/util/initializable.py +0 -0
  315. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/util/initialization_util.py +0 -0
  316. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/util/simulator_updater_utils.py +0 -0
  317. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/util/test_tools/__init__.py +0 -0
  318. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/util/test_tools/exchange_data.py +0 -0
  319. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/util/test_tools/exchanges_test_tools.py +0 -0
  320. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/util/test_tools/spot_rest_exchange_test_tools.py +0 -0
  321. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/octobot_trading/util/test_tools/websocket_test_tools.py +0 -0
  322. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/requirements.txt +0 -0
  323. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/setup.cfg +0 -0
  324. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/setup.py +0 -0
  325. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/api/__init__.py +0 -0
  326. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/api/test_channels.py +0 -0
  327. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/api/test_exchange.py +0 -0
  328. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/api/test_modes.py +0 -0
  329. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/api/test_orders.py +0 -0
  330. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/api/test_portfolio.py +0 -0
  331. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/api/test_profitability.py +0 -0
  332. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/api/test_symbol_data.py +0 -0
  333. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/api/test_trader.py +0 -0
  334. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/api/test_trades.py +0 -0
  335. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/cli/__init__.py +0 -0
  336. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/__init__.py +0 -0
  337. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/contracts/__init__.py +0 -0
  338. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/contracts/test_future_contract.py +0 -0
  339. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/contracts/test_margin_contract.py +0 -0
  340. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/funding/__init__.py +0 -0
  341. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/funding/test_funding_manager.py +0 -0
  342. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/kline/__init__.py +0 -0
  343. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/kline/test_kline_manager.py +0 -0
  344. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/ohlcv/__init__.py +0 -0
  345. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/ohlcv/test_candles_adapter.py +0 -0
  346. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/ohlcv/test_candles_manager.py +0 -0
  347. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/order_book/__init__.py +0 -0
  348. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/order_book/test_order_book_manager.py +0 -0
  349. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/prices/__init__.py +0 -0
  350. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/prices/test_price_events_manager.py +0 -0
  351. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/prices/test_prices_manager.py +0 -0
  352. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/recent_trades/__init__.py +0 -0
  353. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/recent_trades/test_recent_trades_manager.py +0 -0
  354. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/test_exchange_symbols_data.py +0 -0
  355. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/ticker/__init__.py +0 -0
  356. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchange_data/ticker/test_ticker_manager.py +0 -0
  357. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/__init__.py +0 -0
  358. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/connectors/__init__.py +0 -0
  359. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/connectors/ccxt/__init__.py +0 -0
  360. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/connectors/ccxt/mock_exchanges_data.py +0 -0
  361. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/connectors/ccxt/test_ccxt_connector.py +0 -0
  362. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/implementations/__init__.py +0 -0
  363. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/implementations/test_default_rest_exchange.py +0 -0
  364. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/implementations/test_default_websocket_exchange.py +0 -0
  365. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/test_abstract_exchange.py +0 -0
  366. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/test_abstract_websocket_exchange.py +0 -0
  367. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/test_exchange_builder.py +0 -0
  368. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/test_exchange_config_data.py +0 -0
  369. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/test_exchange_factory.py +0 -0
  370. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/test_exchange_manager.py +0 -0
  371. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/test_exchange_simulator.py +0 -0
  372. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/test_exchanges.py +0 -0
  373. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/traders/__init__.py +0 -0
  374. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/traders/test_trader.py +0 -0
  375. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/types/__init__.py +0 -0
  376. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/types/test_websocket_exchange.py +0 -0
  377. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/util/__init__.py +0 -0
  378. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/util/test_exchange_market_status_fixer.py +0 -0
  379. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/exchanges/util/test_exchange_util.py +0 -0
  380. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/modes/__init__.py +0 -0
  381. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/modes/script_keywords/__init__.py +0 -0
  382. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/modes/script_keywords/basic_keywords/__init__.py +0 -0
  383. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/modes/script_keywords/basic_keywords/test_account_balance.py +0 -0
  384. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/modes/script_keywords/basic_keywords/test_amount.py +0 -0
  385. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/modes/script_keywords/basic_keywords/test_position.py +0 -0
  386. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/modes/script_keywords/basic_keywords/test_price.py +0 -0
  387. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/modes/script_keywords/dsl/__init__.py +0 -0
  388. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/modes/script_keywords/dsl/test_quantity.py +0 -0
  389. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/modes/test_abstract_mode_consumer.py +0 -0
  390. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/modes/test_abstract_trading_mode.py +0 -0
  391. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/modes/test_modes_util.py +0 -0
  392. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/__init__.py +0 -0
  393. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/__init__.py +0 -0
  394. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/groups/__init__.py +0 -0
  395. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/groups/test_balanced_take_profit_and_stop_order_group.py +0 -0
  396. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/groups/test_group_util.py +0 -0
  397. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/groups/test_one_cancels_the_other_order_group.py +0 -0
  398. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/states/__init__.py +0 -0
  399. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/states/test_cancel_order_state.py +0 -0
  400. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/states/test_close_order_state.py +0 -0
  401. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/states/test_fill_order_state.py +0 -0
  402. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/states/test_open_order_state.py +0 -0
  403. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/states/test_order_state.py +0 -0
  404. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/states/test_order_state_factory.py +0 -0
  405. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/states/test_pending_creation_chained_order_state.py +0 -0
  406. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/states/test_pending_creation_order_state.py +0 -0
  407. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/test_decimal_order_adapter.py +0 -0
  408. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/test_double_filled_order.py +0 -0
  409. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/test_order.py +0 -0
  410. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/test_order_adapter.py +0 -0
  411. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/test_order_factory.py +0 -0
  412. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/test_order_util.py +0 -0
  413. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/test_orders_manager.py +0 -0
  414. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/test_orders_storage_operations.py +0 -0
  415. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/__init__.py +0 -0
  416. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/limit/__init__.py +0 -0
  417. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/limit/test_buy_limit_order.py +0 -0
  418. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/limit/test_limit_order.py +0 -0
  419. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/limit/test_sell_limit_order.py +0 -0
  420. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/limit/test_stop_loss_limit_order.py +0 -0
  421. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/limit/test_stop_loss_order.py +0 -0
  422. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/limit/test_take_profit_limit_order.py +0 -0
  423. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/limit/test_take_profit_order.py +0 -0
  424. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/market/__init__.py +0 -0
  425. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/market/test_buy_market_order.py +0 -0
  426. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/market/test_sell_market_order.py +0 -0
  427. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/test_unknown_order.py +0 -0
  428. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/trailing/__init__.py +0 -0
  429. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/trailing/test_trailing_stop_limit_order.py +0 -0
  430. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/orders/types/trailing/test_trailing_stop_order.py +0 -0
  431. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/__init__.py +0 -0
  432. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/assets/__init__.py +0 -0
  433. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/assets/test_future_asset.py +0 -0
  434. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/assets/test_margin_asset.py +0 -0
  435. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/assets/test_spot_asset.py +0 -0
  436. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/history/__init__.py +0 -0
  437. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/history/test_historical_asset_value_factory.py +0 -0
  438. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/history/test_historical_portfolio_value_manager.py +0 -0
  439. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/test_asset.py +0 -0
  440. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/test_portfolio.py +0 -0
  441. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/test_portfolio_manager.py +0 -0
  442. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/test_portfolio_profitability.py +0 -0
  443. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/test_portfolio_value_holder.py +0 -0
  444. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/test_value_converter.py +0 -0
  445. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/types/__init__.py +0 -0
  446. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/types/test_future_portfolio.py +0 -0
  447. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/types/test_margin_portfolio.py +0 -0
  448. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/portfolios/types/test_spot_portfolio.py +0 -0
  449. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/positions/__init__.py +0 -0
  450. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/positions/channel/__init__.py +0 -0
  451. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/positions/states/__init__.py +0 -0
  452. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/positions/test_position.py +0 -0
  453. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/positions/test_position_factory.py +0 -0
  454. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/positions/test_positions_manager.py +0 -0
  455. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/positions/types/__init__.py +0 -0
  456. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/positions/types/test_inverse_position.py +0 -0
  457. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/positions/types/test_linear_position.py +0 -0
  458. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/trades/__init__.py +0 -0
  459. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/trades/test_trade_factory.py +0 -0
  460. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/trades/test_trade_manager.py +0 -0
  461. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/trades/test_trade_pnl.py +0 -0
  462. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/trades/test_trade_util.py +0 -0
  463. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/transactions/__init__.py +0 -0
  464. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/transactions/test_transaction_factory.py +0 -0
  465. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/personal_data/transactions/test_transactions_manager.py +0 -0
  466. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/signals/__init__.py +0 -0
  467. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/signals/test_trading_signal_bundle_builder.py +0 -0
  468. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/signals/test_util.py +0 -0
  469. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/test_utils/__init__.py +0 -0
  470. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/test_utils/order_util.py +0 -0
  471. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/test_utils/random_numbers.py +0 -0
  472. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/util/__init__.py +0 -0
  473. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests/util/test_config_util.py +0 -0
  474. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/__init__.py +0 -0
  475. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/__init__.py +0 -0
  476. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/real_futures_exchange_tester.py +0 -0
  477. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_binance.py +0 -0
  478. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_hollaex.py +0 -0
  479. {OctoBot-Trading-2.4.157 → OctoBot-Trading-2.4.159}/tests_additional/real_exchanges/test_okcoin.py +0 -0
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [2.4.159] - 2025-02-24
8
+ ### Added
9
+ [Exchanges] get_alias_symbols
10
+
11
+ ## [2.4.158] - 2025-02-22
12
+ ### Updated
13
+ [Exchanges] skip auth for non trading exchanges
14
+
7
15
  ## [2.4.157] - 2025-02-17
8
16
  ### Added
9
17
  [Futures] add use_wallet_balance_on_futures to portfolio_to_float
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: OctoBot-Trading
3
- Version: 2.4.157
3
+ Version: 2.4.159
4
4
  Summary: OctoBot project trading package
5
5
  Home-page: https://github.com/Drakkar-Software/OctoBot-Trading
6
6
  Author: Drakkar-Software
@@ -16,7 +16,7 @@ Classifier: Operating System :: POSIX
16
16
  Requires-Python: >=3.8
17
17
  License-File: LICENSE
18
18
 
19
- # OctoBot-Trading [2.4.157](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
19
+ # OctoBot-Trading [2.4.159](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
20
20
  [![Codacy Badge](https://api.codacy.com/project/badge/Grade/903b6b22bceb4661b608a86fea655f69)](https://app.codacy.com/gh/Drakkar-Software/OctoBot-Trading?utm_source=github.com&utm_medium=referral&utm_content=Drakkar-Software/OctoBot-Trading&utm_campaign=Badge_Grade_Dashboard)
21
21
  [![PyPI](https://img.shields.io/pypi/v/OctoBot-Trading.svg)](https://pypi.python.org/pypi/OctoBot-Trading/)
22
22
  [![Coverage Status](https://coveralls.io/repos/github/Drakkar-Software/OctoBot-Trading/badge.svg?branch=master)](https://coveralls.io/github/Drakkar-Software/OctoBot-Trading?branch=master)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: OctoBot-Trading
3
- Version: 2.4.157
3
+ Version: 2.4.159
4
4
  Summary: OctoBot project trading package
5
5
  Home-page: https://github.com/Drakkar-Software/OctoBot-Trading
6
6
  Author: Drakkar-Software
@@ -16,7 +16,7 @@ Classifier: Operating System :: POSIX
16
16
  Requires-Python: >=3.8
17
17
  License-File: LICENSE
18
18
 
19
- # OctoBot-Trading [2.4.157](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
19
+ # OctoBot-Trading [2.4.159](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
20
20
  [![Codacy Badge](https://api.codacy.com/project/badge/Grade/903b6b22bceb4661b608a86fea655f69)](https://app.codacy.com/gh/Drakkar-Software/OctoBot-Trading?utm_source=github.com&utm_medium=referral&utm_content=Drakkar-Software/OctoBot-Trading&utm_campaign=Badge_Grade_Dashboard)
21
21
  [![PyPI](https://img.shields.io/pypi/v/OctoBot-Trading.svg)](https://pypi.python.org/pypi/OctoBot-Trading/)
22
22
  [![Coverage Status](https://coveralls.io/repos/github/Drakkar-Software/OctoBot-Trading/badge.svg?branch=master)](https://coveralls.io/github/Drakkar-Software/OctoBot-Trading?branch=master)
@@ -1,4 +1,4 @@
1
- # OctoBot-Trading [2.4.157](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
1
+ # OctoBot-Trading [2.4.159](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
2
2
  [![Codacy Badge](https://api.codacy.com/project/badge/Grade/903b6b22bceb4661b608a86fea655f69)](https://app.codacy.com/gh/Drakkar-Software/OctoBot-Trading?utm_source=github.com&utm_medium=referral&utm_content=Drakkar-Software/OctoBot-Trading&utm_campaign=Badge_Grade_Dashboard)
3
3
  [![PyPI](https://img.shields.io/pypi/v/OctoBot-Trading.svg)](https://pypi.python.org/pypi/OctoBot-Trading/)
4
4
  [![Coverage Status](https://coveralls.io/repos/github/Drakkar-Software/OctoBot-Trading/badge.svg?branch=master)](https://coveralls.io/github/Drakkar-Software/OctoBot-Trading?branch=master)
@@ -15,4 +15,4 @@
15
15
  # License along with this library.
16
16
 
17
17
  PROJECT_NAME = "OctoBot-Trading"
18
- VERSION = "2.4.157" # major.minor.revision
18
+ VERSION = "2.4.159" # major.minor.revision
@@ -47,11 +47,14 @@ def create_client(
47
47
  :return: the created ccxt (pro, async or sync) client
48
48
  """
49
49
  is_authenticated = False
50
+ should_be_authenticated_exchange = should_authenticate and not exchange_manager.is_backtesting
50
51
  if not exchange_manager.exchange_only:
51
52
  # avoid logging version on temporary exchange_only exchanges
52
53
  exchange_type = exchange_util.get_exchange_type(exchange_manager)
53
- logger.info(f"Creating {exchange_class.__name__} {exchange_type.name} "
54
- f"exchange with ccxt in version {ccxt.__version__}")
54
+ logger.info(
55
+ f"Creating {'' if should_be_authenticated_exchange else 'un'}authenticated {exchange_class.__name__} "
56
+ f"{exchange_type.name} exchange with ccxt in version {ccxt.__version__}"
57
+ )
55
58
  if exchange_manager.ignore_config or exchange_manager.check_config(exchange_manager.exchange_name):
56
59
  try:
57
60
  auth_token_header_prefix = None
@@ -65,7 +68,7 @@ def create_client(
65
68
  if not (key and secret) and not exchange_manager.is_simulated and not exchange_manager.ignore_config:
66
69
  logger.warning(f"No exchange API key set for {exchange_manager.exchange_name}. "
67
70
  f"Enter your account details to enable real trading on this exchange.")
68
- if should_authenticate and not exchange_manager.is_backtesting:
71
+ if should_be_authenticated_exchange:
69
72
  client = instantiate_exchange(
70
73
  exchange_class,
71
74
  _get_client_config(
@@ -267,7 +267,8 @@ class CCXTConnector(abstract_exchange.AbstractExchange):
267
267
  def _should_authenticate(self):
268
268
  return self.force_authentication or not (
269
269
  self.exchange_manager.is_simulated or
270
- self.exchange_manager.is_backtesting
270
+ self.exchange_manager.is_backtesting or
271
+ not self.exchange_manager.is_trading
271
272
  )
272
273
 
273
274
  def unauthenticated_exchange_fallback(self, err):
@@ -746,6 +746,12 @@ class RestExchange(abstract_exchange.AbstractExchange):
746
746
  """
747
747
  return self.get_all_available_symbols(active_only=active_only)
748
748
 
749
+ def get_alias_symbols(self) -> set[str]:
750
+ """
751
+ :return: a set of symbol of this exchange that are aliases to other symbols
752
+ """
753
+ return set()
754
+
749
755
  async def switch_to_account(self, account_type: enums.AccountTypes):
750
756
  return await self.connector.switch_to_account(account_type=account_type)
751
757
 
@@ -48,6 +48,7 @@ class RealExchangeTester:
48
48
  MARKET_STATUS_TYPE = trading_enums.ExchangeTypes.SPOT.value
49
49
  HISTORICAL_CANDLES_TO_FETCH_COUNT = 650
50
50
  DEFAULT_CUSTOM_BOOK_LIMIT = 50
51
+ ORDER_BOOK_DESYNC_ALLOWANCE = 60 # allow 60s desync
51
52
 
52
53
  # Public methods: to be implemented as tests
53
54
  # Use await self._[method_name] to get the test request result
@@ -72,11 +73,6 @@ class RealExchangeTester:
72
73
  async def test_get_order_book(self):
73
74
  pass
74
75
 
75
-
76
- async def test_get_order_books(self):
77
- # implement if necessary
78
- pass
79
-
80
76
  async def test_get_order_books(self):
81
77
  # implement if necessary
82
78
  pass
@@ -153,7 +149,7 @@ class RealExchangeTester:
153
149
  }
154
150
 
155
151
  def _get_ref_order_book_timestamp(self):
156
- return time.time() + 30 # allow 30s desync
152
+ return time.time() + self.ORDER_BOOK_DESYNC_ALLOWANCE
157
153
 
158
154
  async def inner_test_unsupported_get_order_books(self):
159
155
  async with (self.get_exchange_manager() as exchange_manager):
@@ -185,7 +181,9 @@ class RealExchangeTester:
185
181
  if expected_symbol_filter:
186
182
  assert len(books_by_symbol) == len(symbols)
187
183
  else:
188
- assert len(books_by_symbol) >= expected_missing_symbol_filter_books_min_count
184
+ assert len(books_by_symbol) >= expected_missing_symbol_filter_books_min_count, (
185
+ f"{len(books_by_symbol)} < {expected_missing_symbol_filter_books_min_count}"
186
+ )
189
187
  for symbol, book in books_by_symbol.items():
190
188
  assert 0 < book[trading_enums.ExchangeConstantsOrderBookInfoColumns.TIMESTAMP.value] < ref_time, (
191
189
  f"Invalid {symbol} book timestamp value: "
@@ -198,9 +196,9 @@ class RealExchangeTester:
198
196
  if len(book[side.value]) == 0:
199
197
  empty_book_sides.append((symbol, side))
200
198
  else:
201
- assert min_book_orders_count < len(book[side.value]) <= expected_max_orders_by_side, (
199
+ assert min_book_orders_count <= len(book[side.value]) <= expected_max_orders_by_side, (
202
200
  f"Unexpected {symbol} {side.value} orders count: {len(book[side.value])}. Expected: "
203
- f"[{min_book_orders_count}: {expected_max_orders_by_side}]"
201
+ f"[{min_book_orders_count}:{expected_max_orders_by_side}]"
204
202
  )
205
203
  if len(empty_book_sides) > max_empty_book_sides:
206
204
  raise AssertionError(
@@ -224,13 +222,13 @@ class RealExchangeTester:
224
222
  if len(book[side.value]) == 0:
225
223
  empty_book_sides.append((symbol, side))
226
224
  else:
227
- assert min_book_orders_count < len(book[side.value]) <= expected_max_orders_by_side, (
225
+ assert min_book_orders_count <= len(book[side.value]) <= expected_max_orders_by_side, (
228
226
  f"Unexpected {symbol} {side.value} orders count: {len(book[side.value])}. Expected: "
229
- f"[{min_book_orders_count}: {expected_max_orders_by_side}]"
227
+ f"[{min_book_orders_count}:{expected_max_orders_by_side}]"
230
228
  )
231
229
  if len(empty_book_sides) > max_empty_book_sides:
232
230
  raise AssertionError(
233
- f"More empty book sides than expected: {max_empty_book_sides=} {empty_book_sides=}"
231
+ f"More empty book sides than expected: {max_empty_book_sides=} {len(empty_book_sides)=}"
234
232
  )
235
233
  # with custom limit
236
234
  books_by_symbol = await exchange_manager.exchange.get_order_books(symbols=None, limit=custom_limit)
@@ -123,8 +123,8 @@ class TestAscendExRealExchangeTester(RealExchangeTester):
123
123
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
124
124
 
125
125
  async def test_get_order_books(self):
126
- # implement if necessary
127
- pass
126
+ # not supported
127
+ await self.inner_test_unsupported_get_order_books()
128
128
 
129
129
  async def test_get_recent_trades(self):
130
130
  recent_trades = await self.get_recent_trades()
@@ -133,8 +133,8 @@ class TestBinanceFuturesRealExchangeTester(RealFuturesExchangeTester):
133
133
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
134
134
 
135
135
  async def test_get_order_books(self):
136
- # implement if necessary
137
- pass
136
+ # not supported
137
+ await self.inner_test_unsupported_get_order_books()
138
138
 
139
139
  async def test_get_recent_trades(self):
140
140
  recent_trades = await self.get_recent_trades()
@@ -156,8 +156,8 @@ class TestBingxRealExchangeTester(RealExchangeTester):
156
156
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
157
157
 
158
158
  async def test_get_order_books(self):
159
- # implement if necessary
160
- pass
159
+ # not supported
160
+ await self.inner_test_unsupported_get_order_books()
161
161
 
162
162
  async def test_get_recent_trades(self):
163
163
  recent_trades = await self.get_recent_trades()
@@ -147,8 +147,8 @@ class TestBitfinexRealExchangeTester(RealExchangeTester):
147
147
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
148
148
 
149
149
  async def test_get_order_books(self):
150
- # implement if necessary
151
- pass
150
+ # not supported
151
+ await self.inner_test_unsupported_get_order_books()
152
152
 
153
153
  async def test_get_recent_trades(self):
154
154
  recent_trades = await self.get_recent_trades()
@@ -133,8 +133,8 @@ class TestBitgetRealExchangeTester(RealExchangeTester):
133
133
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
134
134
 
135
135
  async def test_get_order_books(self):
136
- # implement if necessary
137
- pass
136
+ # not supported
137
+ await self.inner_test_unsupported_get_order_books()
138
138
 
139
139
  async def test_get_recent_trades(self):
140
140
  recent_trades = await self.get_recent_trades()
@@ -124,8 +124,8 @@ class TestBithumbRealExchangeTester(RealExchangeTester):
124
124
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
125
125
 
126
126
  async def test_get_order_books(self):
127
- # implement if necessary
128
- pass
127
+ # not supported
128
+ await self.inner_test_unsupported_get_order_books()
129
129
 
130
130
  async def test_get_recent_trades(self):
131
131
  recent_trades = await self.get_recent_trades()
@@ -123,8 +123,8 @@ class TestBitMartRealExchangeTester(RealExchangeTester):
123
123
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
124
124
 
125
125
  async def test_get_order_books(self):
126
- # implement if necessary
127
- pass
126
+ # not supported
127
+ await self.inner_test_unsupported_get_order_books()
128
128
 
129
129
  async def test_get_recent_trades(self):
130
130
  recent_trades = await self.get_recent_trades()
@@ -112,8 +112,8 @@ class TestBitmexRealExchangeTester(RealExchangeTester):
112
112
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
113
113
 
114
114
  async def test_get_order_books(self):
115
- # implement if necessary
116
- pass
115
+ # not supported
116
+ await self.inner_test_unsupported_get_order_books()
117
117
 
118
118
  async def test_get_recent_trades(self):
119
119
  recent_trades = await self.get_recent_trades()
@@ -123,8 +123,8 @@ class TestBitsoRealExchangeTester(RealExchangeTester):
123
123
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
124
124
 
125
125
  async def test_get_order_books(self):
126
- # implement if necessary
127
- pass
126
+ # not supported
127
+ await self.inner_test_unsupported_get_order_books()
128
128
 
129
129
  async def test_get_recent_trades(self):
130
130
  recent_trades = await self.get_recent_trades()
@@ -121,8 +121,8 @@ class TestBitstampRealExchangeTester(RealExchangeTester):
121
121
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
122
122
 
123
123
  async def test_get_order_books(self):
124
- # implement if necessary
125
- pass
124
+ # not supported
125
+ await self.inner_test_unsupported_get_order_books()
126
126
 
127
127
  async def test_get_recent_trades(self):
128
128
  recent_trades = await self.get_recent_trades()
@@ -130,8 +130,8 @@ class TestBybitRealExchangeTester(RealExchangeTester):
130
130
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
131
131
 
132
132
  async def test_get_order_books(self):
133
- # implement if necessary
134
- pass
133
+ # not supported
134
+ await self.inner_test_unsupported_get_order_books()
135
135
 
136
136
  async def test_get_recent_trades(self):
137
137
  recent_trades = await self.get_recent_trades()
@@ -143,8 +143,8 @@ class TestBybitRealExchangeTester(RealFuturesExchangeTester):
143
143
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
144
144
 
145
145
  async def test_get_order_books(self):
146
- # implement if necessary
147
- pass
146
+ # not supported
147
+ await self.inner_test_unsupported_get_order_books()
148
148
 
149
149
  async def test_get_recent_trades(self):
150
150
  recent_trades = await self.get_recent_trades()
@@ -132,8 +132,8 @@ class TestCoinbaseRealExchangeTester(RealExchangeTester):
132
132
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
133
133
 
134
134
  async def test_get_order_books(self):
135
- # implement if necessary
136
- pass
135
+ # not supported
136
+ await self.inner_test_unsupported_get_order_books()
137
137
 
138
138
  async def test_get_recent_trades(self):
139
139
  recent_trades = await self.get_recent_trades()
@@ -126,8 +126,8 @@ class TestCoinexRealExchangeTester(RealExchangeTester):
126
126
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
127
127
 
128
128
  async def test_get_order_books(self):
129
- # implement if necessary
130
- pass
129
+ # not supported
130
+ await self.inner_test_unsupported_get_order_books()
131
131
 
132
132
  async def test_get_recent_trades(self):
133
133
  recent_trades = await self.get_recent_trades()
@@ -130,8 +130,8 @@ class TestCryptoComRealExchangeTester(RealExchangeTester):
130
130
  assert len(order_book[Ecobic.BIDS.value][0]) == 3
131
131
 
132
132
  async def test_get_order_books(self):
133
- # implement if necessary
134
- pass
133
+ # not supported
134
+ await self.inner_test_unsupported_get_order_books()
135
135
 
136
136
  async def test_get_recent_trades(self):
137
137
  recent_trades = await self.get_recent_trades()
@@ -120,8 +120,8 @@ class TestGateIORealExchangeTester(RealExchangeTester):
120
120
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
121
121
 
122
122
  async def test_get_order_books(self):
123
- # implement if necessary
124
- pass
123
+ # not supported
124
+ await self.inner_test_unsupported_get_order_books()
125
125
 
126
126
  async def test_get_recent_trades(self):
127
127
  recent_trades = await self.get_recent_trades()
@@ -125,8 +125,15 @@ class TestHitBtcRealExchangeTester(RealExchangeTester):
125
125
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
126
126
 
127
127
  async def test_get_order_books(self):
128
- # implement if necessary
129
- pass
128
+ await self.inner_test_get_order_books(
129
+ True,
130
+ 1000, # asked symbols
131
+ 5, # up to 5 orders
132
+ 0, # up to 5 orders
133
+ True,
134
+ 10,
135
+ 140,
136
+ )
130
137
 
131
138
  async def test_get_recent_trades(self):
132
139
  recent_trades = await self.get_recent_trades()
@@ -123,8 +123,8 @@ class TestHTXRealExchangeTester(RealExchangeTester):
123
123
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
124
124
 
125
125
  async def test_get_order_books(self):
126
- # implement if necessary
127
- pass
126
+ # not supported
127
+ await self.inner_test_unsupported_get_order_books()
128
128
 
129
129
  async def test_get_recent_trades(self):
130
130
  recent_trades = await self.get_recent_trades()
@@ -133,8 +133,8 @@ class TestKrakenRealExchangeTester(RealExchangeTester):
133
133
  assert len(order_book[Ecobic.BIDS.value][0]) == 3
134
134
 
135
135
  async def test_get_order_books(self):
136
- # implement if necessary
137
- pass
136
+ # not supported
137
+ await self.inner_test_unsupported_get_order_books()
138
138
 
139
139
  async def test_get_recent_trades(self):
140
140
  # https://github.com/ccxt/ccxt/issues/5698
@@ -129,8 +129,8 @@ class TestKucoinRealExchangeTester(RealExchangeTester):
129
129
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
130
130
 
131
131
  async def test_get_order_books(self):
132
- # implement if necessary
133
- pass
132
+ # not supported
133
+ await self.inner_test_unsupported_get_order_books()
134
134
 
135
135
  async def test_get_recent_trades(self):
136
136
  # note: on ccxt kucoin recent trades are received in reverse order from exchange and therefore should never be
@@ -137,8 +137,8 @@ class TestKucoinFuturesRealExchangeTester(RealFuturesExchangeTester):
137
137
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
138
138
 
139
139
  async def test_get_order_books(self):
140
- # implement if necessary
141
- pass
140
+ # not supported
141
+ await self.inner_test_unsupported_get_order_books()
142
142
 
143
143
  async def test_get_recent_trades(self):
144
144
  # note: on ccxt kucoin recent trades are received in reverse order from exchange and therefore should never be
@@ -120,8 +120,8 @@ class TestMEXCRealExchangeTester(RealExchangeTester):
120
120
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
121
121
 
122
122
  async def test_get_order_books(self):
123
- # implement if necessary
124
- pass
123
+ # not supported
124
+ await self.inner_test_unsupported_get_order_books()
125
125
 
126
126
  async def test_get_recent_trades(self):
127
127
  recent_trades = await self.get_recent_trades()
@@ -129,8 +129,8 @@ class TestNdaxRealExchangeTester(RealExchangeTester):
129
129
  assert len(order_book[Ecobic.BIDS.value][0]) == 3
130
130
 
131
131
  async def test_get_order_books(self):
132
- # implement if necessary
133
- pass
132
+ # not supported
133
+ await self.inner_test_unsupported_get_order_books()
134
134
 
135
135
  async def test_get_recent_trades(self):
136
136
  recent_trades = await self.get_recent_trades()
@@ -133,8 +133,8 @@ class TestOkxRealExchangeTester(RealExchangeTester):
133
133
  assert len(order_book[Ecobic.BIDS.value][0]) == 3
134
134
 
135
135
  async def test_get_order_books(self):
136
- # implement if necessary
137
- pass
136
+ # not supported
137
+ await self.inner_test_unsupported_get_order_books()
138
138
 
139
139
  async def test_get_recent_trades(self):
140
140
  recent_trades = await self.get_recent_trades()
@@ -132,8 +132,8 @@ class TestOkxFuturesRealExchangeTester(RealFuturesExchangeTester):
132
132
  assert len(order_book[Ecobic.BIDS.value][0]) == 3
133
133
 
134
134
  async def test_get_order_books(self):
135
- # implement if necessary
136
- pass
135
+ # not supported
136
+ await self.inner_test_unsupported_get_order_books()
137
137
 
138
138
  async def test_get_recent_trades(self):
139
139
  recent_trades = await self.get_recent_trades()
@@ -146,8 +146,8 @@ class TestPhemexRealExchangeTester(RealExchangeTester):
146
146
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
147
147
 
148
148
  async def test_get_order_books(self):
149
- # implement if necessary
150
- pass
149
+ # not supported
150
+ await self.inner_test_unsupported_get_order_books()
151
151
 
152
152
  async def test_get_recent_trades(self):
153
153
  recent_trades = await self.get_recent_trades()
@@ -117,8 +117,8 @@ class TestPoloniexRealExchangeTester(RealExchangeTester):
117
117
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
118
118
 
119
119
  async def test_get_order_books(self):
120
- # implement if necessary
121
- pass
120
+ # not supported
121
+ await self.inner_test_unsupported_get_order_books()
122
122
 
123
123
  async def test_get_recent_trades(self):
124
124
  recent_trades = await self.get_recent_trades()
@@ -32,6 +32,7 @@ class TestUpbitRealExchangeTester(RealExchangeTester):
32
32
  SYMBOL = "BTC/USDT"
33
33
  SYMBOL_2 = "ETH/BTC"
34
34
  SYMBOL_3 = "XRP/BTC"
35
+ ORDER_BOOK_DESYNC_ALLOWANCE = 2 * 60 # allow 2x60s desync
35
36
 
36
37
  async def test_time_frames(self):
37
38
  time_frames = await self.time_frames()
@@ -119,8 +120,15 @@ class TestUpbitRealExchangeTester(RealExchangeTester):
119
120
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
120
121
 
121
122
  async def test_get_order_books(self):
122
- # implement if necessary
123
- pass
123
+ await self.inner_test_get_order_books(
124
+ True,
125
+ 400, # asked symbols
126
+ 15, # up to 15 orders
127
+ 0, # up to 15 orders
128
+ False,
129
+ 10,
130
+ 10,
131
+ )
124
132
 
125
133
  async def test_get_recent_trades(self):
126
134
  recent_trades = await self.get_recent_trades()
@@ -144,8 +144,8 @@ class TestWavesExchangeRealExchangeTester(RealExchangeTester):
144
144
  assert len(order_book[Ecobic.BIDS.value][0]) == 2
145
145
 
146
146
  async def test_get_order_books(self):
147
- # implement if necessary
148
- pass
147
+ # not supported
148
+ await self.inner_test_unsupported_get_order_books()
149
149
 
150
150
  async def test_get_recent_trades(self):
151
151
  recent_trades = await self.get_recent_trades()