OctoBot-Trading 2.4.156__tar.gz → 2.4.158__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.
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/CHANGELOG.md +8 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158/OctoBot_Trading.egg-info}/PKG-INFO +2 -2
- {OctoBot-Trading-2.4.156/OctoBot_Trading.egg-info → OctoBot-Trading-2.4.158}/PKG-INFO +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/README.md +1 -1
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/__init__.py +1 -1
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/connectors/ccxt/ccxt_client_util.py +6 -3
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/connectors/ccxt/ccxt_connector.py +2 -1
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/portfolio_util.py +11 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/real_exchange_tester.py +10 -12
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_ascendex.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_binance_futures.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bingx.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bitfinex.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bitget.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bithumb.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bitmart.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bitmex.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bitso.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bitstamp.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bybit.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bybit_futures.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_coinbase.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_coinex.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_cryptocom.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_gateio.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_hitbtc.py +9 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_htx.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_kraken.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_kucoin.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_kucoin_futures.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_mexc.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_ndax.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_okx.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_okx_futures.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_phemex.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_poloniex.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_upbit.py +10 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_wavesexchange.py +2 -2
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/LICENSE +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/MANIFEST.in +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/OctoBot_Trading.egg-info/SOURCES.txt +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/OctoBot_Trading.egg-info/dependency_links.txt +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/OctoBot_Trading.egg-info/not-zip-safe +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/OctoBot_Trading.egg-info/requires.txt +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/OctoBot_Trading.egg-info/top_level.txt +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/api/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/api/channels.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/api/contracts.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/api/exchange.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/api/modes.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/api/orders.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/api/portfolio.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/api/positions.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/api/profitability.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/api/storage.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/api/symbol_data.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/api/trader.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/api/trades.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/constants.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/enums.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/errors.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_channel.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/contracts/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/contracts/contract_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/contracts/future_contract.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/contracts/margin_contract.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/exchange_symbol_data.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/exchange_symbols_data.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/funding/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/funding/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/funding/channel/funding.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/funding/channel/funding_updater.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/funding/channel/funding_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/funding/funding_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/kline/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/kline/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/kline/channel/kline.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/kline/channel/kline_updater.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/kline/channel/kline_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/kline/kline_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ohlcv/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ohlcv/candles_adapter.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ohlcv/candles_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ohlcv/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ohlcv/channel/ohlcv.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ohlcv/preloaded_candles_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/order_book/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/order_book/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/order_book/channel/order_book.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/order_book/channel/order_book_updater.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/order_book/channel/order_book_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/order_book/order_book_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/prices/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/prices/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/prices/channel/price.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/prices/channel/prices_updater.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/prices/channel/prices_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/prices/price_events_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/prices/prices_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/recent_trades/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/recent_trades/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/recent_trades/channel/recent_trade.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/recent_trades/recent_trades_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ticker/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ticker/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ticker/channel/ticker.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ticker/channel/ticker_updater.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ticker/channel/ticker_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchange_data/ticker/ticker_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/abstract_exchange.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/abstract_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/adapters/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/adapters/abstract_adapter.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/config/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/config/backtesting_exchange_config.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/config/exchange_config_data.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/config/proxy_config.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/connectors/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/connectors/ccxt/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/connectors/ccxt/ccxt_adapter.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/connectors/ccxt/ccxt_clients_cache.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/connectors/ccxt/ccxt_websocket_connector.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/connectors/ccxt/constants.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/connectors/ccxt/enums.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/connectors/simulator/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/connectors/simulator/ccxt_client_simulation.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/connectors/simulator/exchange_simulator_adapter.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/connectors/simulator/exchange_simulator_connector.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/exchange_builder.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/exchange_channels.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/exchange_details.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/exchange_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/exchange_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/exchange_websocket_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/exchanges.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/implementations/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/implementations/default_rest_exchange.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/implementations/default_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/implementations/exchange_simulator.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/traders/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/traders/trader.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/traders/trader_simulator.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/types/rest_exchange.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/types/websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/util/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/util/exchange_market_status_fixer.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/util/exchange_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/util/symbol_details.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/exchanges/util/websockets_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/abstract_trading_mode.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/channel/abstract_mode_consumer.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/channel/abstract_mode_producer.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/channel/mode.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/mode_activity.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/mode_config.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/modes_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/modes_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/basic_keywords/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/basic_keywords/account_balance.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/basic_keywords/amount.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/basic_keywords/configuration.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/basic_keywords/position.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/basic_keywords/price.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/basic_keywords/run_persistence.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/basic_keywords/trading_signals.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/basic_keywords/user_inputs.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/context_management.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/dsl/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/dsl/quantity.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/script_keywords/dsl/values.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/scripted_trading_mode/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/modes/scripted_trading_mode/abstract_scripted_trading_mode.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/octobot_channel_consumer.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/exchange_personal_data.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/channel/orders.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/channel/orders_updater.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/channel/orders_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/decimal_order_adapter.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/groups/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/groups/balanced_take_profit_and_stop_order_group.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/groups/group_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/groups/one_cancels_the_other_order_group.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/order_adapter.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/order_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/order_group.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/order_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/orders_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/orders_storage_operations.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/states/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/states/cancel_order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/states/close_order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/states/fill_order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/states/open_order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/states/order_state_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/states/pending_creation_chained_order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/states/pending_creation_order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/limit/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/limit/buy_limit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/limit/limit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/limit/sell_limit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/limit/stop_loss_limit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/limit/stop_loss_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/limit/take_profit_limit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/limit/take_profit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/market/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/market/buy_market_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/market/market_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/market/sell_market_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/trailing/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/trailing/trailing_stop_limit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/trailing/trailing_stop_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/unknown_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/orders/types/unsupported_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/asset.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/assets/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/assets/future_asset.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/assets/margin_asset.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/assets/spot_asset.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/channel/balance.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/channel/balance_updater.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/channel/balance_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/history/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/history/historical_asset_value.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/history/historical_asset_value_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/history/historical_portfolio_value_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/portfolio.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/portfolio_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/portfolio_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/portfolio_profitability.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/portfolio_value_holder.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/sub_portfolio.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/types/future_portfolio.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/types/margin_portfolio.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/types/spot_portfolio.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/portfolios/value_converter.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/channel/positions.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/channel/positions_updater.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/channel/positions_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/position.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/position_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/position_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/position_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/positions_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/states/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/states/active_position_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/states/idle_position_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/states/liquidate_position_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/states/position_state_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/types/inverse_position.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/positions/types/linear_position.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/trades/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/trades/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/trades/channel/trades.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/trades/channel/trades_updater.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/trades/trade.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/trades/trade_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/trades/trade_pnl.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/trades/trades_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/trades/trades_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/transactions/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/transactions/transaction.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/transactions/transaction_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/transactions/transactions_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/transactions/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/transactions/types/blockchain_transaction.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/transactions/types/fee_transaction.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/transactions/types/realised_pnl_transaction.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/personal_data/transactions/types/transfer_transaction.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/signals/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/signals/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/signals/channel/remote_trading_signal.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/signals/channel/remote_trading_signal_channel_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/signals/channel/signal_producer.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/signals/signal_creation.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/signals/trading_signal_bundle_builder.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/signals/util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/storage/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/storage/abstract_storage.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/storage/candles_storage.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/storage/orders_storage.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/storage/portfolio_storage.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/storage/storage_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/storage/trades_storage.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/storage/transactions_storage.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/storage/util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/supervisors/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/supervisors/abstract_portfolio_supervisor.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/supervisors/abstract_supervisor.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/util/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/util/config_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/util/initializable.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/util/initialization_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/util/simulator_updater_utils.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/util/test_tools/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/util/test_tools/exchange_data.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/util/test_tools/exchanges_test_tools.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/util/test_tools/spot_rest_exchange_test_tools.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/octobot_trading/util/test_tools/websocket_test_tools.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/requirements.txt +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/setup.cfg +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/setup.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/api/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/api/test_channels.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/api/test_exchange.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/api/test_modes.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/api/test_orders.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/api/test_portfolio.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/api/test_profitability.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/api/test_symbol_data.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/api/test_trader.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/api/test_trades.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/cli/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/contracts/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/contracts/test_future_contract.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/contracts/test_margin_contract.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/funding/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/funding/test_funding_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/kline/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/kline/test_kline_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/ohlcv/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/ohlcv/test_candles_adapter.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/ohlcv/test_candles_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/order_book/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/order_book/test_order_book_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/prices/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/prices/test_price_events_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/prices/test_prices_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/recent_trades/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/recent_trades/test_recent_trades_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/test_exchange_symbols_data.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/ticker/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchange_data/ticker/test_ticker_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/connectors/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/connectors/ccxt/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/connectors/ccxt/mock_exchanges_data.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/connectors/ccxt/test_ccxt_connector.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/implementations/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/implementations/test_default_rest_exchange.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/implementations/test_default_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/test_abstract_exchange.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/test_abstract_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/test_exchange_builder.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/test_exchange_config_data.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/test_exchange_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/test_exchange_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/test_exchange_simulator.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/test_exchanges.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/traders/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/traders/test_trader.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/types/test_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/util/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/util/test_exchange_market_status_fixer.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/exchanges/util/test_exchange_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/modes/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/modes/script_keywords/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/modes/script_keywords/basic_keywords/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/modes/script_keywords/basic_keywords/test_account_balance.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/modes/script_keywords/basic_keywords/test_amount.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/modes/script_keywords/basic_keywords/test_position.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/modes/script_keywords/basic_keywords/test_price.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/modes/script_keywords/dsl/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/modes/script_keywords/dsl/test_quantity.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/modes/test_abstract_mode_consumer.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/modes/test_abstract_trading_mode.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/modes/test_modes_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/groups/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/groups/test_balanced_take_profit_and_stop_order_group.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/groups/test_group_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/groups/test_one_cancels_the_other_order_group.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/states/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/states/test_cancel_order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/states/test_close_order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/states/test_fill_order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/states/test_open_order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/states/test_order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/states/test_order_state_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/states/test_pending_creation_chained_order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/states/test_pending_creation_order_state.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/test_decimal_order_adapter.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/test_double_filled_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/test_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/test_order_adapter.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/test_order_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/test_order_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/test_orders_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/test_orders_storage_operations.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/limit/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/limit/test_buy_limit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/limit/test_limit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/limit/test_sell_limit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/limit/test_stop_loss_limit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/limit/test_stop_loss_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/limit/test_take_profit_limit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/limit/test_take_profit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/market/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/market/test_buy_market_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/market/test_sell_market_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/test_unknown_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/trailing/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/trailing/test_trailing_stop_limit_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/orders/types/trailing/test_trailing_stop_order.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/assets/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/assets/test_future_asset.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/assets/test_margin_asset.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/assets/test_spot_asset.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/history/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/history/test_historical_asset_value_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/history/test_historical_portfolio_value_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/test_asset.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/test_portfolio.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/test_portfolio_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/test_portfolio_profitability.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/test_portfolio_value_holder.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/test_value_converter.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/types/test_future_portfolio.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/types/test_margin_portfolio.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/portfolios/types/test_spot_portfolio.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/positions/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/positions/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/positions/states/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/positions/test_position.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/positions/test_position_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/positions/test_positions_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/positions/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/positions/types/test_inverse_position.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/positions/types/test_linear_position.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/trades/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/trades/test_trade_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/trades/test_trade_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/trades/test_trade_pnl.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/trades/test_trade_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/transactions/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/transactions/test_transaction_factory.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/personal_data/transactions/test_transactions_manager.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/signals/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/signals/test_trading_signal_bundle_builder.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/signals/test_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/test_utils/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/test_utils/order_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/test_utils/random_numbers.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/util/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests/util/test_config_util.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/__init__.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/real_futures_exchange_tester.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_binance.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_hollaex.py +0 -0
- {OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/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.158] - 2025-02-22
|
8
|
+
### Updated
|
9
|
+
[Exchanges] skip auth for non trading exchanges
|
10
|
+
|
11
|
+
## [2.4.157] - 2025-02-17
|
12
|
+
### Added
|
13
|
+
[Futures] add use_wallet_balance_on_futures to portfolio_to_float
|
14
|
+
|
7
15
|
## [2.4.156] - 2025-02-10
|
8
16
|
### Added
|
9
17
|
[TradingModes] add init topic methods
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: OctoBot-Trading
|
3
|
-
Version: 2.4.
|
3
|
+
Version: 2.4.158
|
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.
|
19
|
+
# OctoBot-Trading [2.4.158](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
|
20
20
|
[](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
|
[](https://pypi.python.org/pypi/OctoBot-Trading/)
|
22
22
|
[](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.
|
3
|
+
Version: 2.4.158
|
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.
|
19
|
+
# OctoBot-Trading [2.4.158](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
|
20
20
|
[](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
|
[](https://pypi.python.org/pypi/OctoBot-Trading/)
|
22
22
|
[](https://coveralls.io/github/Drakkar-Software/OctoBot-Trading?branch=master)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# OctoBot-Trading [2.4.
|
1
|
+
# OctoBot-Trading [2.4.158](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
|
2
2
|
[](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
|
[](https://pypi.python.org/pypi/OctoBot-Trading/)
|
4
4
|
[](https://coveralls.io/github/Drakkar-Software/OctoBot-Trading?branch=master)
|
@@ -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(
|
54
|
-
|
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
|
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):
|
@@ -16,6 +16,7 @@
|
|
16
16
|
import decimal
|
17
17
|
|
18
18
|
import octobot_trading.personal_data.portfolios.asset as asset
|
19
|
+
import octobot_trading.personal_data.portfolios.assets
|
19
20
|
import octobot_trading.constants as constants
|
20
21
|
import octobot_trading.enums as enums
|
21
22
|
import octobot_trading.errors as errors
|
@@ -56,10 +57,18 @@ def filter_empty_values(portfolio):
|
|
56
57
|
}
|
57
58
|
|
58
59
|
|
59
|
-
def portfolio_to_float(portfolio):
|
60
|
+
def portfolio_to_float(portfolio, use_wallet_balance_on_futures=False):
|
60
61
|
float_portfolio = {}
|
61
62
|
for symbol, symbol_balance in portfolio.items():
|
62
|
-
if
|
63
|
+
if (
|
64
|
+
isinstance(symbol_balance, octobot_trading.personal_data.portfolios.assets.FutureAsset)
|
65
|
+
and use_wallet_balance_on_futures
|
66
|
+
):
|
67
|
+
float_portfolio[symbol] = {
|
68
|
+
commons_constants.PORTFOLIO_AVAILABLE: float(symbol_balance.available),
|
69
|
+
commons_constants.PORTFOLIO_TOTAL: float(symbol_balance.wallet_balance)
|
70
|
+
}
|
71
|
+
elif isinstance(symbol_balance, asset.Asset):
|
63
72
|
float_portfolio[symbol] = {
|
64
73
|
commons_constants.PORTFOLIO_AVAILABLE: float(symbol_balance.available),
|
65
74
|
commons_constants.PORTFOLIO_TOTAL: float(symbol_balance.total)
|
@@ -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() +
|
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
|
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}:
|
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
|
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}:
|
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)
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_ascendex.py
RENAMED
@@ -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
|
-
#
|
127
|
-
|
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
|
-
#
|
137
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bingx.py
RENAMED
@@ -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
|
-
#
|
160
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bitfinex.py
RENAMED
@@ -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
|
-
#
|
151
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bitget.py
RENAMED
@@ -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
|
-
#
|
137
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bithumb.py
RENAMED
@@ -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
|
-
#
|
128
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bitmart.py
RENAMED
@@ -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
|
-
#
|
127
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bitmex.py
RENAMED
@@ -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
|
-
#
|
116
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bitso.py
RENAMED
@@ -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
|
-
#
|
127
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bitstamp.py
RENAMED
@@ -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
|
-
#
|
125
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_bybit.py
RENAMED
@@ -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
|
-
#
|
134
|
-
|
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
|
-
#
|
147
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_coinbase.py
RENAMED
@@ -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
|
-
#
|
136
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_coinex.py
RENAMED
@@ -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
|
-
#
|
130
|
-
|
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
|
-
#
|
134
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_gateio.py
RENAMED
@@ -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
|
-
#
|
124
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_hitbtc.py
RENAMED
@@ -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
|
-
|
129
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_htx.py
RENAMED
@@ -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
|
-
#
|
127
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_kraken.py
RENAMED
@@ -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
|
-
#
|
137
|
-
|
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
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_kucoin.py
RENAMED
@@ -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
|
-
#
|
133
|
-
|
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
|
-
#
|
141
|
-
|
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
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_mexc.py
RENAMED
@@ -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
|
-
#
|
124
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_ndax.py
RENAMED
@@ -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
|
-
#
|
133
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_okx.py
RENAMED
@@ -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
|
-
#
|
137
|
-
|
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
|
-
#
|
136
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_phemex.py
RENAMED
@@ -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
|
-
#
|
150
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_poloniex.py
RENAMED
@@ -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
|
-
#
|
121
|
-
|
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()
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/tests_additional/real_exchanges/test_upbit.py
RENAMED
@@ -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
|
-
|
123
|
-
|
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
|
-
#
|
148
|
-
|
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()
|
File without changes
|
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.156 → OctoBot-Trading-2.4.158}/OctoBot_Trading.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|