OctoBot-Trading 2.4.152__tar.gz → 2.4.154__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.152 → OctoBot-Trading-2.4.154}/CHANGELOG.md +8 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154/OctoBot_Trading.egg-info}/PKG-INFO +2 -2
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/OctoBot_Trading.egg-info/requires.txt +1 -1
- {OctoBot-Trading-2.4.152/OctoBot_Trading.egg-info → OctoBot-Trading-2.4.154}/PKG-INFO +2 -2
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/README.md +1 -1
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/__init__.py +1 -1
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/errors.py +6 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/config/proxy_config.py +3 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/ccxt/ccxt_client_util.py +28 -3
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/ccxt/ccxt_connector.py +12 -3
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/exchange_builder.py +4 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/exchange_factory.py +5 -2
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/exchange_manager.py +1 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/types/rest_exchange.py +7 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/util/exchange_util.py +8 -2
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/channel/abstract_mode_consumer.py +4 -2
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/order.py +2 -2
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/requirements.txt +1 -1
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/LICENSE +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/MANIFEST.in +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/OctoBot_Trading.egg-info/SOURCES.txt +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/OctoBot_Trading.egg-info/dependency_links.txt +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/OctoBot_Trading.egg-info/not-zip-safe +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/OctoBot_Trading.egg-info/top_level.txt +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/api/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/api/channels.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/api/contracts.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/api/exchange.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/api/modes.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/api/orders.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/api/portfolio.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/api/positions.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/api/profitability.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/api/storage.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/api/symbol_data.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/api/trader.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/api/trades.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/constants.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/enums.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_channel.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/contracts/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/contracts/contract_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/contracts/future_contract.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/contracts/margin_contract.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/exchange_symbol_data.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/exchange_symbols_data.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/funding/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/funding/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/funding/channel/funding.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/funding/channel/funding_updater.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/funding/channel/funding_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/funding/funding_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/kline/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/kline/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/kline/channel/kline.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/kline/channel/kline_updater.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/kline/channel/kline_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/kline/kline_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ohlcv/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ohlcv/candles_adapter.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ohlcv/candles_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ohlcv/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ohlcv/channel/ohlcv.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ohlcv/preloaded_candles_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/order_book/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/order_book/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/order_book/channel/order_book.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/order_book/channel/order_book_updater.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/order_book/channel/order_book_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/order_book/order_book_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/prices/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/prices/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/prices/channel/price.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/prices/channel/prices_updater.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/prices/channel/prices_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/prices/price_events_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/prices/prices_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/recent_trades/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/recent_trades/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/recent_trades/channel/recent_trade.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/recent_trades/recent_trades_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ticker/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ticker/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ticker/channel/ticker.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ticker/channel/ticker_updater.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ticker/channel/ticker_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ticker/ticker_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/abstract_exchange.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/abstract_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/adapters/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/adapters/abstract_adapter.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/config/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/config/backtesting_exchange_config.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/config/exchange_config_data.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/ccxt/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/ccxt/ccxt_adapter.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/ccxt/ccxt_clients_cache.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/ccxt/ccxt_websocket_connector.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/ccxt/constants.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/ccxt/enums.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/simulator/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/simulator/ccxt_client_simulation.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/simulator/exchange_simulator_adapter.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/simulator/exchange_simulator_connector.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/exchange_channels.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/exchange_details.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/exchange_websocket_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/exchanges.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/implementations/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/implementations/default_rest_exchange.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/implementations/default_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/implementations/exchange_simulator.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/traders/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/traders/trader.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/traders/trader_simulator.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/types/websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/util/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/util/exchange_market_status_fixer.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/util/symbol_details.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/util/websockets_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/abstract_trading_mode.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/channel/abstract_mode_producer.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/channel/mode.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/mode_activity.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/mode_config.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/modes_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/modes_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/basic_keywords/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/basic_keywords/account_balance.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/basic_keywords/amount.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/basic_keywords/configuration.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/basic_keywords/position.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/basic_keywords/price.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/basic_keywords/run_persistence.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/basic_keywords/trading_signals.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/basic_keywords/user_inputs.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/context_management.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/dsl/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/dsl/quantity.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/script_keywords/dsl/values.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/scripted_trading_mode/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/modes/scripted_trading_mode/abstract_scripted_trading_mode.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/octobot_channel_consumer.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/exchange_personal_data.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/channel/orders.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/channel/orders_updater.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/channel/orders_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/decimal_order_adapter.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/groups/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/groups/balanced_take_profit_and_stop_order_group.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/groups/group_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/groups/one_cancels_the_other_order_group.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/order_adapter.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/order_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/order_group.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/order_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/orders_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/orders_storage_operations.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/states/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/states/cancel_order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/states/close_order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/states/fill_order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/states/open_order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/states/order_state_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/states/pending_creation_chained_order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/states/pending_creation_order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/limit/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/limit/buy_limit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/limit/limit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/limit/sell_limit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/limit/stop_loss_limit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/limit/stop_loss_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/limit/take_profit_limit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/limit/take_profit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/market/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/market/buy_market_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/market/market_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/market/sell_market_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/trailing/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/trailing/trailing_stop_limit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/trailing/trailing_stop_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/unknown_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/types/unsupported_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/asset.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/assets/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/assets/future_asset.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/assets/margin_asset.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/assets/spot_asset.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/channel/balance.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/channel/balance_updater.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/channel/balance_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/history/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/history/historical_asset_value.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/history/historical_asset_value_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/history/historical_portfolio_value_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/portfolio.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/portfolio_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/portfolio_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/portfolio_profitability.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/portfolio_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/portfolio_value_holder.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/sub_portfolio.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/types/future_portfolio.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/types/margin_portfolio.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/types/spot_portfolio.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/portfolios/value_converter.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/channel/positions.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/channel/positions_updater.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/channel/positions_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/position.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/position_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/position_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/position_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/positions_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/states/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/states/active_position_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/states/idle_position_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/states/liquidate_position_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/states/position_state_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/types/inverse_position.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/positions/types/linear_position.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/trades/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/trades/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/trades/channel/trades.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/trades/channel/trades_updater.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/trades/trade.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/trades/trade_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/trades/trade_pnl.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/trades/trades_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/trades/trades_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/transactions/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/transactions/transaction.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/transactions/transaction_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/transactions/transactions_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/transactions/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/transactions/types/blockchain_transaction.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/transactions/types/fee_transaction.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/transactions/types/realised_pnl_transaction.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/transactions/types/transfer_transaction.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/signals/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/signals/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/signals/channel/remote_trading_signal.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/signals/channel/remote_trading_signal_channel_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/signals/channel/signal_producer.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/signals/signal_creation.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/signals/trading_signal_bundle_builder.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/signals/util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/storage/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/storage/abstract_storage.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/storage/candles_storage.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/storage/orders_storage.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/storage/portfolio_storage.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/storage/storage_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/storage/trades_storage.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/storage/transactions_storage.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/storage/util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/supervisors/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/supervisors/abstract_portfolio_supervisor.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/supervisors/abstract_supervisor.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/util/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/util/config_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/util/initializable.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/util/initialization_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/util/simulator_updater_utils.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/util/test_tools/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/util/test_tools/exchange_data.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/util/test_tools/exchanges_test_tools.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/util/test_tools/spot_rest_exchange_test_tools.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/util/test_tools/websocket_test_tools.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/setup.cfg +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/setup.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/api/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/api/test_channels.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/api/test_exchange.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/api/test_modes.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/api/test_orders.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/api/test_portfolio.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/api/test_profitability.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/api/test_symbol_data.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/api/test_trader.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/api/test_trades.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/cli/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/contracts/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/contracts/test_future_contract.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/contracts/test_margin_contract.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/funding/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/funding/test_funding_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/kline/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/kline/test_kline_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/ohlcv/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/ohlcv/test_candles_adapter.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/ohlcv/test_candles_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/order_book/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/order_book/test_order_book_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/prices/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/prices/test_price_events_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/prices/test_prices_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/recent_trades/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/recent_trades/test_recent_trades_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/test_exchange_symbols_data.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/ticker/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchange_data/ticker/test_ticker_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/connectors/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/connectors/ccxt/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/connectors/ccxt/mock_exchanges_data.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/connectors/ccxt/test_ccxt_connector.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/implementations/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/implementations/test_default_rest_exchange.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/implementations/test_default_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/test_abstract_exchange.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/test_abstract_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/test_exchange_builder.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/test_exchange_config_data.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/test_exchange_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/test_exchange_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/test_exchange_simulator.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/test_exchanges.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/traders/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/traders/test_trader.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/types/test_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/util/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/util/test_exchange_market_status_fixer.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/exchanges/util/test_exchange_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/modes/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/modes/script_keywords/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/modes/script_keywords/basic_keywords/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/modes/script_keywords/basic_keywords/test_account_balance.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/modes/script_keywords/basic_keywords/test_amount.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/modes/script_keywords/basic_keywords/test_position.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/modes/script_keywords/basic_keywords/test_price.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/modes/script_keywords/dsl/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/modes/script_keywords/dsl/test_quantity.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/modes/test_abstract_mode_consumer.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/modes/test_abstract_trading_mode.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/modes/test_modes_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/groups/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/groups/test_balanced_take_profit_and_stop_order_group.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/groups/test_group_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/groups/test_one_cancels_the_other_order_group.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/states/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/states/test_cancel_order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/states/test_close_order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/states/test_fill_order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/states/test_open_order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/states/test_order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/states/test_order_state_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/states/test_pending_creation_chained_order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/states/test_pending_creation_order_state.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/test_decimal_order_adapter.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/test_double_filled_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/test_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/test_order_adapter.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/test_order_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/test_order_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/test_orders_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/test_orders_storage_operations.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/limit/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/limit/test_buy_limit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/limit/test_limit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/limit/test_sell_limit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/limit/test_stop_loss_limit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/limit/test_stop_loss_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/limit/test_take_profit_limit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/limit/test_take_profit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/market/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/market/test_buy_market_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/market/test_sell_market_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/test_unknown_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/trailing/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/trailing/test_trailing_stop_limit_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/orders/types/trailing/test_trailing_stop_order.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/assets/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/assets/test_future_asset.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/assets/test_margin_asset.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/assets/test_spot_asset.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/history/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/history/test_historical_asset_value_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/history/test_historical_portfolio_value_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/test_asset.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/test_portfolio.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/test_portfolio_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/test_portfolio_profitability.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/test_portfolio_value_holder.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/test_value_converter.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/types/test_future_portfolio.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/types/test_margin_portfolio.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/portfolios/types/test_spot_portfolio.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/positions/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/positions/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/positions/states/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/positions/test_position.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/positions/test_position_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/positions/test_positions_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/positions/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/positions/types/test_inverse_position.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/positions/types/test_linear_position.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/trades/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/trades/test_trade_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/trades/test_trade_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/trades/test_trade_pnl.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/trades/test_trade_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/transactions/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/transactions/test_transaction_factory.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/personal_data/transactions/test_transactions_manager.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/signals/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/signals/test_trading_signal_bundle_builder.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/signals/test_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/test_utils/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/test_utils/order_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/test_utils/random_numbers.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/util/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests/util/test_config_util.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/__init__.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/real_exchange_tester.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/real_futures_exchange_tester.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_ascendex.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_binance.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_binance_futures.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_bingx.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_bitfinex.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_bitget.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_bithumb.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_bitmart.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_bitmex.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_bitso.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_bitstamp.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_bybit.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_bybit_futures.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_coinbase.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_coinex.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_cryptocom.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_gateio.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_hitbtc.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_hollaex.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_htx.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_kraken.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_kucoin.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_kucoin_futures.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_mexc.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_ndax.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_okcoin.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_okx.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_okx_futures.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_phemex.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_poloniex.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_upbit.py +0 -0
- {OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/tests_additional/real_exchanges/test_wavesexchange.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.154] - 2025-01-31
|
8
|
+
### Added
|
9
|
+
[Exchanges] handle InvalidAPIKeyIPWhitelistError
|
10
|
+
|
11
|
+
## [2.4.153] - 2025-01-29
|
12
|
+
### Updated
|
13
|
+
[TradingMode] make register_chained_order more flexible
|
14
|
+
|
7
15
|
## [2.4.152] - 2025-01-28
|
8
16
|
### Fixed
|
9
17
|
[Proxy] type error
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: OctoBot-Trading
|
3
|
-
Version: 2.4.
|
3
|
+
Version: 2.4.154
|
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.154](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.154
|
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.154](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.154](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)
|
@@ -147,6 +147,12 @@ class AuthenticationError(OctoBotExchangeError):
|
|
147
147
|
"""
|
148
148
|
|
149
149
|
|
150
|
+
class InvalidAPIKeyIPWhitelistError(AuthenticationError):
|
151
|
+
"""
|
152
|
+
Raised when an exchange failed to authenticate due to an IP whitelist issue
|
153
|
+
"""
|
154
|
+
|
155
|
+
|
150
156
|
class ExchangeInternalSyncError(OctoBotExchangeError):
|
151
157
|
"""
|
152
158
|
Raised when an exchange is returning an error due to its internal sync process
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/config/proxy_config.py
RENAMED
@@ -36,6 +36,9 @@ class ProxyConfig:
|
|
36
36
|
get_last_proxied_request_url: typing.Optional[typing.Callable] = None
|
37
37
|
# the host of this proxy, used to identify proxy connexion errors
|
38
38
|
proxy_host: str = "DEFAULT PROXY HOST"
|
39
|
+
# if DNS cache should be disabled with this proxy config. Warning: in this case, DNS cache will be
|
40
|
+
# completely disabled for this exchange
|
41
|
+
disable_dns_cache: bool = False
|
39
42
|
|
40
43
|
@classmethod
|
41
44
|
def default_env_var_config(cls):
|
@@ -15,6 +15,7 @@
|
|
15
15
|
# License along with this library.
|
16
16
|
import asyncio
|
17
17
|
import os
|
18
|
+
import ssl
|
18
19
|
import aiohttp
|
19
20
|
import copy
|
20
21
|
import logging
|
@@ -143,7 +144,7 @@ def instantiate_exchange(
|
|
143
144
|
client = exchange_class(config)
|
144
145
|
_use_proxy_if_necessary(client, proxy_config)
|
145
146
|
if constants.ENABLE_CCXT_REQUESTS_COUNTER and allow_request_counter:
|
146
|
-
_use_request_counter(identifier, client)
|
147
|
+
_use_request_counter(identifier, client, proxy_config)
|
147
148
|
return client
|
148
149
|
|
149
150
|
|
@@ -304,6 +305,27 @@ def _use_proxy_if_necessary(client, proxy_config: proxy_config_import.ProxyConfi
|
|
304
305
|
client.socks_proxy = proxy_config.socks_proxy
|
305
306
|
if proxy_config.socks_proxy_callback:
|
306
307
|
client.socks_proxy_callback = proxy_config.socks_proxy_callback
|
308
|
+
if proxy_config.disable_dns_cache:
|
309
|
+
# rewrite of async_ccxt.exchange.client.open()
|
310
|
+
if client.asyncio_loop is None:
|
311
|
+
client.asyncio_loop = asyncio.get_running_loop()
|
312
|
+
client.throttle.loop = client.asyncio_loop
|
313
|
+
|
314
|
+
if client.ssl_context is None:
|
315
|
+
# Create our SSL context object with our CA cert file
|
316
|
+
client.ssl_context = ssl.create_default_context(cafile=client.cafile) if client.verify else client.verify
|
317
|
+
if client.session:
|
318
|
+
# should not happen
|
319
|
+
asyncio.create_task(client.session.close())
|
320
|
+
connector = aiohttp.TCPConnector(
|
321
|
+
ssl=client.ssl_context, loop=client.asyncio_loop, enable_cleanup_closed=True,
|
322
|
+
# local overrides
|
323
|
+
use_dns_cache=False
|
324
|
+
# end local overrides
|
325
|
+
)
|
326
|
+
client.session = aiohttp.ClientSession(
|
327
|
+
loop=client.asyncio_loop, connector=connector, trust_env=client.aiohttp_trust_env
|
328
|
+
)
|
307
329
|
|
308
330
|
|
309
331
|
def _get_client_config(
|
@@ -372,7 +394,9 @@ def _get_patched_url_config(url_config: dict, old: str, new: str):
|
|
372
394
|
return updated_config
|
373
395
|
|
374
396
|
|
375
|
-
def _use_request_counter(
|
397
|
+
def _use_request_counter(
|
398
|
+
identifier: str, ccxt_client: async_ccxt.Exchange, proxy_config: proxy_config_import.ProxyConfig
|
399
|
+
):
|
376
400
|
"""
|
377
401
|
Replaces the given exchange async session by an aiohttp_util.CounterClientSession
|
378
402
|
WARNING: should only be called right after creating the exchange and on the same async loop as
|
@@ -387,7 +411,8 @@ def _use_request_counter(identifier: str, ccxt_client: async_ccxt.Exchange):
|
|
387
411
|
# same as in ccxt.async_support.exchange.py#open()
|
388
412
|
# connector = aiohttp.TCPConnector(ssl=self.ssl_context, loop=self.asyncio_loop, enable_cleanup_closed=True)
|
389
413
|
new_connector = aiohttp.TCPConnector(
|
390
|
-
ssl=ccxt_client.ssl_context, loop=ccxt_client.asyncio_loop,
|
414
|
+
ssl=ccxt_client.ssl_context, loop=ccxt_client.asyncio_loop,
|
415
|
+
enable_cleanup_closed=True, use_dns_cache=not proxy_config.disable_dns_cache
|
391
416
|
)
|
392
417
|
counter_session = aiohttp_util.CounterClientSession(
|
393
418
|
identifier,
|
@@ -79,7 +79,7 @@ class CCXTConnector(abstract_exchange.AbstractExchange):
|
|
79
79
|
self, config, exchange_manager, adapter_class=None, additional_config=None, rest_name=None, force_auth=False
|
80
80
|
):
|
81
81
|
super().__init__(config, exchange_manager, None)
|
82
|
-
self.client = None
|
82
|
+
self.client: ccxt.Exchange = None
|
83
83
|
self.exchange_type = None
|
84
84
|
self.adapter = self.get_adapter_class(adapter_class)(self)
|
85
85
|
self.all_currencies_price_ticker = None
|
@@ -1033,9 +1033,14 @@ class CCXTConnector(abstract_exchange.AbstractExchange):
|
|
1033
1033
|
f"Request timeout: {html_util.get_html_summary_if_relevant(err)}"
|
1034
1034
|
) from err
|
1035
1035
|
except ccxt.AuthenticationError as err:
|
1036
|
+
error_class = (
|
1037
|
+
octobot_trading.errors.InvalidAPIKeyIPWhitelistError
|
1038
|
+
if self.exchange_manager.exchange.is_ip_whitelist_error(err)
|
1039
|
+
else octobot_trading.errors.AuthenticationError
|
1040
|
+
)
|
1036
1041
|
self.raise_or_prefix_proxy_error_if_relevant(
|
1037
1042
|
err,
|
1038
|
-
|
1043
|
+
error_class(html_util.get_html_summary_if_relevant(err))
|
1039
1044
|
)
|
1040
1045
|
except ccxt.ExchangeNotAvailable as err:
|
1041
1046
|
self.raise_or_prefix_proxy_error_if_relevant(
|
@@ -1045,8 +1050,12 @@ class CCXTConnector(abstract_exchange.AbstractExchange):
|
|
1045
1050
|
)
|
1046
1051
|
)
|
1047
1052
|
except ccxt.ExchangeError as err:
|
1053
|
+
error_message = html_util.get_html_summary_if_relevant(err)
|
1054
|
+
if self.exchange_manager.exchange.is_ip_whitelist_error(err):
|
1055
|
+
# ensure this is not an IP whitelist error
|
1056
|
+
raise octobot_trading.errors.InvalidAPIKeyIPWhitelistError(error_message) from err
|
1048
1057
|
if self.exchange_manager.exchange.is_authentication_error(err):
|
1049
1058
|
# ensure this is not an unhandled authentication error
|
1050
|
-
raise octobot_trading.errors.AuthenticationError(
|
1059
|
+
raise octobot_trading.errors.AuthenticationError(error_message) from err
|
1051
1060
|
# otherwise just forward exception
|
1052
1061
|
raise
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/exchange_builder.py
RENAMED
@@ -257,6 +257,10 @@ class ExchangeBuilder:
|
|
257
257
|
self.exchange_manager.without_auth = True
|
258
258
|
return self
|
259
259
|
|
260
|
+
def disable_unauth_retry(self, disabled):
|
261
|
+
self.exchange_manager.disable_unauth_retry = disabled
|
262
|
+
return self
|
263
|
+
|
260
264
|
def is_checking_credentials(self, check_credentials):
|
261
265
|
self.exchange_manager.check_credentials = check_credentials
|
262
266
|
return self
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/exchange_factory.py
RENAMED
@@ -62,10 +62,13 @@ async def create_real_exchange(exchange_manager, exchange_config_by_exchange: ty
|
|
62
62
|
return
|
63
63
|
await _initialize_exchange_backend(exchange_manager)
|
64
64
|
except errors.AuthenticationError as err:
|
65
|
-
if
|
65
|
+
if (
|
66
|
+
exchange_manager.without_auth or exchange_manager.exchange.REQUIRES_AUTHENTICATION
|
67
|
+
or exchange_manager.disable_unauth_retry
|
68
|
+
):
|
66
69
|
# auth is required or already retried, don't loop
|
67
70
|
exchange_manager.logger.error(
|
68
|
-
f"Authentication is required and
|
71
|
+
f"Authentication is required and raised an error: impossible to connect to "
|
69
72
|
f"{exchange_manager.exchange_name} exchange: {err}"
|
70
73
|
)
|
71
74
|
raise
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/exchange_manager.py
RENAMED
@@ -57,6 +57,7 @@ class ExchangeManager(util.Initializable):
|
|
57
57
|
self.is_sandboxed: bool = False
|
58
58
|
self.is_trading: bool = True
|
59
59
|
self.without_auth: bool = False
|
60
|
+
self.disable_unauth_retry: bool = False
|
60
61
|
self.check_credentials: bool = True
|
61
62
|
self.enable_storage: bool = True
|
62
63
|
self.proxy_config: exchanges.ProxyConfig = exchanges.ProxyConfig.default_env_var_config()
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/types/rest_exchange.py
RENAMED
@@ -124,6 +124,8 @@ class RestExchange(abstract_exchange.AbstractExchange):
|
|
124
124
|
EXCHANGE_ACCOUNT_TRADED_SYMBOL_PERMISSION_ERRORS: typing.List[typing.Iterable[str]] = []
|
125
125
|
# text content of errors due to unhandled authentication issues
|
126
126
|
EXCHANGE_AUTHENTICATION_ERRORS: typing.List[typing.Iterable[str]] = []
|
127
|
+
# text content of errors due to unhandled IP white list issues
|
128
|
+
EXCHANGE_IP_WHITELIST_ERRORS: typing.List[typing.Iterable[str]] = []
|
127
129
|
# text content of errors due to a closed position on the exchange. Relevant for reduce-only orders
|
128
130
|
EXCHANGE_CLOSED_POSITION_ERRORS: typing.List[typing.Iterable[str]] = []
|
129
131
|
# text content of errors due to an order that would immediately trigger if created. Relevant for stop losses
|
@@ -1063,6 +1065,11 @@ class RestExchange(abstract_exchange.AbstractExchange):
|
|
1063
1065
|
return exchanges_util.is_error_on_this_type(error, self.EXCHANGE_AUTHENTICATION_ERRORS)
|
1064
1066
|
return False
|
1065
1067
|
|
1068
|
+
def is_ip_whitelist_error(self, error: BaseException) -> bool:
|
1069
|
+
if self.EXCHANGE_IP_WHITELIST_ERRORS:
|
1070
|
+
return exchanges_util.is_error_on_this_type(error, self.EXCHANGE_IP_WHITELIST_ERRORS)
|
1071
|
+
return False
|
1072
|
+
|
1066
1073
|
"""
|
1067
1074
|
Auto fetched and filled exchanges
|
1068
1075
|
"""
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/util/exchange_util.py
RENAMED
@@ -221,6 +221,7 @@ async def get_local_exchange_manager(
|
|
221
221
|
exchange_name: str, exchange_config: dict, tentacles_setup_config,
|
222
222
|
is_sandboxed: bool, ignore_config=False, builder=None, use_cached_markets=True,
|
223
223
|
is_broker_enabled: bool = False, exchange_config_by_exchange: typing.Optional[dict[str, dict]] = None,
|
224
|
+
disable_unauth_retry: bool = False,
|
224
225
|
market_filter: typing.Union[None, typing.Callable[[dict], bool]] = None
|
225
226
|
):
|
226
227
|
exchange_type = exchange_config.get(common_constants.CONFIG_EXCHANGE_TYPE, get_default_exchange_type(exchange_name))
|
@@ -230,6 +231,7 @@ async def get_local_exchange_manager(
|
|
230
231
|
)
|
231
232
|
exchange_manager = await builder.use_tentacles_setup_config(tentacles_setup_config) \
|
232
233
|
.is_checking_credentials(False) \
|
234
|
+
.disable_unauth_retry(disable_unauth_retry) \
|
233
235
|
.is_sandboxed(is_sandboxed) \
|
234
236
|
.is_using_exchange_type(exchange_type) \
|
235
237
|
.use_exchange_config_by_exchange(exchange_config_by_exchange) \
|
@@ -289,6 +291,12 @@ async def is_compatible_account(exchange_name: str, exchange_config: dict, tenta
|
|
289
291
|
return True, True, None
|
290
292
|
except trading_backend.TimeSyncError:
|
291
293
|
return False, False, _get_time_sync_error_message(exchange_name, "backend.is_valid_account")
|
294
|
+
except trading_backend.APIKeyPermissionsError as err:
|
295
|
+
return False, False, f"Please update your API Key permissions: {err}"
|
296
|
+
except trading_backend.APIKeyIPWhitelistError as err:
|
297
|
+
return False, False, f"Please update your API Key IP whitelist: {err}"
|
298
|
+
except trading_backend.UnexpectedError as err:
|
299
|
+
return False, False, f"Impossible to check API key: {err}"
|
292
300
|
except trading_backend.ExchangeAuthError:
|
293
301
|
message = f"Invalid {exchange_name.capitalize()} authentication details"
|
294
302
|
if is_sandboxed:
|
@@ -297,8 +305,6 @@ async def is_compatible_account(exchange_name: str, exchange_config: dict, tenta
|
|
297
305
|
f"{exchange_name.capitalize()} to trade and validate your api key. " \
|
298
306
|
f"Disable sandbox in your accounts configuration if this is not intended."
|
299
307
|
return False, False, message
|
300
|
-
except trading_backend.APIKeyPermissionsError as err:
|
301
|
-
return False, False, f"Please update your API Key permissions: {err}"
|
302
308
|
except (AttributeError, Exception) as e:
|
303
309
|
return True, False, f"Error when loading exchange account: {e}"
|
304
310
|
|
@@ -257,7 +257,8 @@ class AbstractTradingModeConsumer(modes_channel.ModeChannelConsumer):
|
|
257
257
|
return position.state.is_active()
|
258
258
|
|
259
259
|
async def register_chained_order(
|
260
|
-
self, main_order, price, order_type, side, quantity=None, allow_bundling=True, tag=None, reduce_only=False
|
260
|
+
self, main_order, price, order_type, side, quantity=None, allow_bundling=True, tag=None, reduce_only=False,
|
261
|
+
update_with_triggering_order_fees=None
|
261
262
|
) -> tuple:
|
262
263
|
chained_order = personal_data.create_order_instance(
|
263
264
|
trader=self.exchange_manager.trader,
|
@@ -273,7 +274,8 @@ class AbstractTradingModeConsumer(modes_channel.ModeChannelConsumer):
|
|
273
274
|
)
|
274
275
|
params = {}
|
275
276
|
# do not reduce chained order amounts to account for fees when trading futures
|
276
|
-
update_with_triggering_order_fees
|
277
|
+
if update_with_triggering_order_fees is None:
|
278
|
+
update_with_triggering_order_fees = not self.exchange_manager.is_future
|
277
279
|
if allow_bundling:
|
278
280
|
params = await self.exchange_manager.trader.bundle_chained_order_with_uncreated_order(
|
279
281
|
main_order, chained_order, update_with_triggering_order_fees
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/personal_data/orders/order.py
RENAMED
@@ -491,8 +491,8 @@ class Order(util.Initializable):
|
|
491
491
|
return True
|
492
492
|
return False
|
493
493
|
|
494
|
-
def update_quantity_with_order_fees(self,
|
495
|
-
relevant_fees_amount = order_util.get_fees_for_currency(
|
494
|
+
def update_quantity_with_order_fees(self, other_order_or_trade):
|
495
|
+
relevant_fees_amount = order_util.get_fees_for_currency(other_order_or_trade.fee, self.quantity_currency)
|
496
496
|
if relevant_fees_amount:
|
497
497
|
logger = logging.get_logger(self.get_logger_name())
|
498
498
|
fees_str = f"Paid {self.quantity_currency} fees: {relevant_fees_amount}, " \
|
@@ -5,7 +5,7 @@ OctoBot-Backtesting>=1.9, <1.10
|
|
5
5
|
Async-Channel>=2.2, <2.3
|
6
6
|
OctoBot-Commons>=1.9.64, <1.10
|
7
7
|
OctoBot-Tentacles-Manager>=2.9, <2.10
|
8
|
-
trading-backend>=1.2.
|
8
|
+
trading-backend>=1.2.35
|
9
9
|
|
10
10
|
# Exchange connection requirements
|
11
11
|
ccxt==4.3.85 # always ensure real exchanges tests (in tests_additional and authenticated exchange tests) are passing before changing the ccxt version
|
File without changes
|
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/__init__.py
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
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/kline/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ohlcv/__init__.py
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
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/prices/__init__.py
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
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchange_data/ticker/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/abstract_exchange.py
RENAMED
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/adapters/__init__.py
RENAMED
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/config/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/connectors/__init__.py
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
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/exchange_channels.py
RENAMED
File without changes
|
{OctoBot-Trading-2.4.152 → OctoBot-Trading-2.4.154}/octobot_trading/exchanges/exchange_details.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|