OctoBot-Trading 2.4.67__tar.gz → 2.4.69__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.67 → OctoBot-Trading-2.4.69}/CHANGELOG.md +8 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69/OctoBot_Trading.egg-info}/PKG-INFO +2 -2
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/OctoBot_Trading.egg-info/SOURCES.txt +1 -0
- {OctoBot-Trading-2.4.67/OctoBot_Trading.egg-info → OctoBot-Trading-2.4.69}/PKG-INFO +2 -2
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/README.md +1 -1
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/__init__.py +1 -1
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/constants.py +1 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/enums.py +6 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/__init__.py +6 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/abstract_trading_mode.py +4 -1
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/channel/abstract_mode_consumer.py +10 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/channel/abstract_mode_producer.py +3 -0
- OctoBot-Trading-2.4.69/octobot_trading/modes/mode_activity.py +28 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/portfolio_value_holder.py +11 -9
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/modes/test_abstract_mode_consumer.py +21 -8
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/LICENSE +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/MANIFEST.in +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/OctoBot_Trading.egg-info/dependency_links.txt +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/OctoBot_Trading.egg-info/not-zip-safe +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/OctoBot_Trading.egg-info/requires.txt +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/OctoBot_Trading.egg-info/top_level.txt +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/api/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/api/channels.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/api/contracts.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/api/exchange.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/api/modes.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/api/orders.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/api/portfolio.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/api/positions.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/api/profitability.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/api/storage.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/api/symbol_data.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/api/trader.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/api/trades.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/errors.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_channel.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/contracts/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/contracts/contract_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/contracts/future_contract.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/contracts/margin_contract.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/exchange_symbol_data.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/exchange_symbols_data.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/funding/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/funding/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/funding/channel/funding.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/funding/channel/funding_updater.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/funding/channel/funding_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/funding/funding_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/kline/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/kline/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/kline/channel/kline.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/kline/channel/kline_updater.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/kline/channel/kline_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/kline/kline_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ohlcv/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ohlcv/candles_adapter.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ohlcv/candles_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ohlcv/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ohlcv/channel/ohlcv.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ohlcv/preloaded_candles_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/order_book/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/order_book/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/order_book/channel/order_book.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/order_book/channel/order_book_updater.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/order_book/channel/order_book_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/order_book/order_book_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/prices/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/prices/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/prices/channel/price.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/prices/channel/prices_updater.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/prices/channel/prices_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/prices/price_events_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/prices/prices_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/recent_trades/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/recent_trades/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/recent_trades/channel/recent_trade.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/recent_trades/recent_trades_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ticker/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ticker/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ticker/channel/ticker.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ticker/channel/ticker_updater.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ticker/channel/ticker_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/ticker/ticker_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/abstract_exchange.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/abstract_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/adapters/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/adapters/abstract_adapter.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/config/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/config/backtesting_exchange_config.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/config/exchange_config_data.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/ccxt/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/ccxt/ccxt_adapter.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/ccxt/ccxt_client_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/ccxt/ccxt_clients_cache.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/ccxt/ccxt_connector.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/ccxt/ccxt_websocket_connector.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/ccxt/constants.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/ccxt/enums.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/simulator/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/simulator/ccxt_client_simulation.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/simulator/exchange_simulator_adapter.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/simulator/exchange_simulator_connector.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/exchange_builder.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/exchange_channels.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/exchange_details.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/exchange_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/exchange_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/exchange_websocket_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/exchanges.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/implementations/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/implementations/default_rest_exchange.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/implementations/default_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/implementations/exchange_simulator.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/traders/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/traders/trader.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/traders/trader_simulator.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/types/rest_exchange.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/types/websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/util/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/util/exchange_market_status_fixer.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/util/exchange_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/util/symbol_details.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/util/websockets_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/channel/mode.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/mode_config.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/modes_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/modes_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/basic_keywords/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/basic_keywords/account_balance.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/basic_keywords/amount.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/basic_keywords/configuration.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/basic_keywords/position.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/basic_keywords/price.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/basic_keywords/run_persistence.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/basic_keywords/trading_signals.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/basic_keywords/user_inputs.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/context_management.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/dsl/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/dsl/quantity.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/script_keywords/dsl/values.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/scripted_trading_mode/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/scripted_trading_mode/abstract_scripted_trading_mode.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/octobot_channel_consumer.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/exchange_personal_data.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/channel/orders.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/channel/orders_updater.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/channel/orders_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/decimal_order_adapter.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/groups/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/groups/balanced_take_profit_and_stop_order_group.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/groups/group_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/groups/one_cancels_the_other_order_group.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/order_adapter.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/order_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/order_group.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/order_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/orders_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/orders_storage_operations.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/states/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/states/cancel_order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/states/close_order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/states/fill_order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/states/open_order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/states/order_state_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/states/pending_creation_chained_order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/states/pending_creation_order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/limit/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/limit/buy_limit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/limit/limit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/limit/sell_limit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/limit/stop_loss_limit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/limit/stop_loss_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/limit/take_profit_limit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/limit/take_profit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/market/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/market/buy_market_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/market/market_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/market/sell_market_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/trailing/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/trailing/trailing_stop_limit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/trailing/trailing_stop_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/unknown_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/orders/types/unsupported_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/asset.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/assets/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/assets/future_asset.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/assets/margin_asset.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/assets/spot_asset.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/channel/balance.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/channel/balance_updater.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/channel/balance_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/history/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/history/historical_asset_value.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/history/historical_asset_value_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/history/historical_portfolio_value_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/portfolio.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/portfolio_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/portfolio_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/portfolio_profitability.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/portfolio_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/sub_portfolio.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/types/future_portfolio.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/types/margin_portfolio.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/types/spot_portfolio.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/portfolios/value_converter.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/channel/positions.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/channel/positions_updater.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/channel/positions_updater_simulator.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/position.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/position_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/position_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/position_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/positions_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/states/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/states/active_position_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/states/idle_position_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/states/liquidate_position_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/states/position_state_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/types/inverse_position.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/positions/types/linear_position.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/trades/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/trades/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/trades/channel/trades.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/trades/channel/trades_updater.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/trades/trade.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/trades/trade_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/trades/trade_pnl.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/trades/trades_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/trades/trades_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/transactions/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/transactions/transaction.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/transactions/transaction_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/transactions/transactions_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/transactions/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/transactions/types/blockchain_transaction.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/transactions/types/fee_transaction.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/transactions/types/realised_pnl_transaction.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/personal_data/transactions/types/transfer_transaction.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/signals/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/signals/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/signals/channel/remote_trading_signal.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/signals/channel/remote_trading_signal_channel_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/signals/channel/signal_producer.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/signals/signal_creation.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/signals/trading_signal_bundle_builder.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/signals/util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/storage/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/storage/abstract_storage.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/storage/candles_storage.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/storage/orders_storage.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/storage/portfolio_storage.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/storage/storage_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/storage/trades_storage.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/storage/transactions_storage.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/storage/util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/supervisors/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/supervisors/abstract_portfolio_supervisor.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/supervisors/abstract_supervisor.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/util/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/util/config_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/util/initializable.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/util/initialization_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/util/simulator_updater_utils.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/util/test_tools/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/util/test_tools/exchange_data.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/util/test_tools/exchanges_test_tools.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/util/test_tools/spot_rest_exchange_test_tools.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/util/test_tools/websocket_test_tools.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/requirements.txt +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/setup.cfg +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/setup.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/api/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/api/test_channels.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/api/test_exchange.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/api/test_modes.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/api/test_orders.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/api/test_portfolio.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/api/test_profitability.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/api/test_symbol_data.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/api/test_trader.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/api/test_trades.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/cli/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/contracts/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/contracts/test_future_contract.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/contracts/test_margin_contract.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/funding/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/funding/test_funding_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/kline/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/kline/test_kline_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/ohlcv/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/ohlcv/test_candles_adapter.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/ohlcv/test_candles_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/order_book/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/order_book/test_order_book_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/prices/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/prices/test_price_events_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/prices/test_prices_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/recent_trades/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/recent_trades/test_recent_trades_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/test_exchange_symbols_data.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/ticker/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchange_data/ticker/test_ticker_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/connectors/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/connectors/ccxt/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/connectors/ccxt/mock_exchanges_data.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/connectors/ccxt/test_ccxt_connector.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/implementations/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/implementations/test_default_rest_exchange.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/implementations/test_default_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/test_abstract_exchange.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/test_abstract_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/test_exchange_builder.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/test_exchange_config_data.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/test_exchange_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/test_exchange_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/test_exchange_simulator.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/test_exchanges.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/traders/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/traders/test_trader.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/types/test_websocket_exchange.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/util/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/util/test_exchange_market_status_fixer.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/exchanges/util/test_exchange_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/modes/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/modes/script_keywords/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/modes/script_keywords/basic_keywords/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/modes/script_keywords/basic_keywords/test_account_balance.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/modes/script_keywords/basic_keywords/test_amount.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/modes/script_keywords/basic_keywords/test_position.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/modes/script_keywords/basic_keywords/test_price.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/modes/script_keywords/dsl/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/modes/script_keywords/dsl/test_quantity.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/modes/test_abstract_trading_mode.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/modes/test_modes_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/groups/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/groups/test_balanced_take_profit_and_stop_order_group.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/groups/test_group_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/groups/test_one_cancels_the_other_order_group.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/states/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/states/test_cancel_order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/states/test_close_order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/states/test_fill_order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/states/test_open_order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/states/test_order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/states/test_order_state_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/states/test_pending_creation_chained_order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/states/test_pending_creation_order_state.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/test_decimal_order_adapter.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/test_double_filled_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/test_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/test_order_adapter.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/test_order_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/test_order_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/test_orders_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/test_orders_storage_operations.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/limit/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/limit/test_buy_limit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/limit/test_limit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/limit/test_sell_limit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/limit/test_stop_loss_limit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/limit/test_stop_loss_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/limit/test_take_profit_limit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/limit/test_take_profit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/market/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/market/test_buy_market_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/market/test_sell_market_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/test_unknown_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/trailing/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/trailing/test_trailing_stop_limit_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/orders/types/trailing/test_trailing_stop_order.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/assets/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/assets/test_future_asset.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/assets/test_margin_asset.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/assets/test_spot_asset.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/history/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/history/test_historical_asset_value_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/history/test_historical_portfolio_value_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/test_asset.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/test_portfolio.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/test_portfolio_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/test_portfolio_profitability.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/test_portfolio_value_holder.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/test_value_converter.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/types/test_future_portfolio.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/types/test_margin_portfolio.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/portfolios/types/test_spot_portfolio.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/positions/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/positions/channel/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/positions/states/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/positions/test_position.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/positions/test_position_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/positions/test_positions_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/positions/types/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/positions/types/test_inverse_position.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/positions/types/test_linear_position.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/trades/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/trades/test_trade_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/trades/test_trade_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/trades/test_trade_pnl.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/trades/test_trade_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/transactions/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/transactions/test_transaction_factory.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/personal_data/transactions/test_transactions_manager.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/signals/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/signals/test_trading_signal_bundle_builder.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/signals/test_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/test_utils/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/test_utils/order_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/test_utils/random_numbers.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/util/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/util/test_config_util.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/__init__.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/real_exchange_tester.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/real_futures_exchange_tester.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_ascendex.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_binance.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_binance_futures.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_bingx.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_bitfinex.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_bitget.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_bithumb.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_bitso.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_bitstamp.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_bybit.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_bybit_futures.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_coinbase.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_coinex.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_cryptocom.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_gateio.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_hitbtc.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_hollaex.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_htx.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_kraken.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_kucoin.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_kucoin_futures.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_mexc.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_ndax.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_okcoin.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_okx.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_okx_futures.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_phemex.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_poloniex.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests_additional/real_exchanges/test_upbit.py +0 -0
- {OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/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.69] - 2024-03-26
|
8
|
+
### Added
|
9
|
+
- [TradingMode] update activity from consumer
|
10
|
+
|
11
|
+
## [2.4.68] - 2024-03-25
|
12
|
+
### Added
|
13
|
+
- [TradingMode] last_activity
|
14
|
+
|
7
15
|
## [2.4.67] - 2024-03-23
|
8
16
|
### Updated
|
9
17
|
- [TradingMode] Requirements for indexes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: OctoBot-Trading
|
3
|
-
Version: 2.4.
|
3
|
+
Version: 2.4.69
|
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.69](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)
|
@@ -126,6 +126,7 @@ octobot_trading/exchanges/util/symbol_details.py
|
|
126
126
|
octobot_trading/exchanges/util/websockets_util.py
|
127
127
|
octobot_trading/modes/__init__.py
|
128
128
|
octobot_trading/modes/abstract_trading_mode.py
|
129
|
+
octobot_trading/modes/mode_activity.py
|
129
130
|
octobot_trading/modes/mode_config.py
|
130
131
|
octobot_trading/modes/modes_factory.py
|
131
132
|
octobot_trading/modes/modes_util.py
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: OctoBot-Trading
|
3
|
-
Version: 2.4.
|
3
|
+
Version: 2.4.69
|
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.69](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.69](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)
|
@@ -50,6 +50,7 @@ CONFIG_CANDLES_HISTORY_SIZE_TITLE = "Candles history size"
|
|
50
50
|
CONFIG_CANDLES_HISTORY_SIZE_KEY = CONFIG_CANDLES_HISTORY_SIZE_TITLE.replace(" ", "_")
|
51
51
|
CONFIG_BUY_ORDER_AMOUNT = "buy_order_amount"
|
52
52
|
CONFIG_SELL_ORDER_AMOUNT = "sell_order_amount"
|
53
|
+
TRADING_MODE_ACTIVITY_REASON = "reason"
|
53
54
|
|
54
55
|
# Exchange
|
55
56
|
DEFAULT_EXCHANGE_TIME_LAG = 10
|
@@ -575,3 +575,9 @@ class OrderUpdateType(enum.Enum):
|
|
575
575
|
class ExchangeSupportedElements(enum.Enum):
|
576
576
|
UNSUPPORTED_ORDERS = "unsupported_orders"
|
577
577
|
SUPPORTED_BUNDLED_ORDERS = "supported_bundled_orders"
|
578
|
+
|
579
|
+
|
580
|
+
class TradingModeActivityType(enum.Enum):
|
581
|
+
CREATED_ORDERS = "created_orders"
|
582
|
+
NOTHING_TO_DO = "nothing_to_do"
|
583
|
+
NO_ACTIVITY = None
|
@@ -58,6 +58,11 @@ from octobot_trading.modes.modes_factory import (
|
|
58
58
|
create_temporary_trading_mode_with_local_config,
|
59
59
|
)
|
60
60
|
|
61
|
+
from octobot_trading.modes import mode_activity
|
62
|
+
from octobot_trading.modes.mode_activity import (
|
63
|
+
TradingModeActivity,
|
64
|
+
)
|
65
|
+
|
61
66
|
from octobot_trading.modes import modes_util
|
62
67
|
from octobot_trading.modes.modes_util import (
|
63
68
|
get_required_candles_count,
|
@@ -81,6 +86,7 @@ __all__ = [
|
|
81
86
|
"create_trading_modes",
|
82
87
|
"create_trading_mode",
|
83
88
|
"create_temporary_trading_mode_with_local_config",
|
89
|
+
"TradingModeActivity",
|
84
90
|
"get_activated_trading_mode",
|
85
91
|
"should_emit_trading_signals_user_input",
|
86
92
|
"is_trading_signal_emitter",
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/modes/abstract_trading_mode.py
RENAMED
@@ -71,9 +71,12 @@ class AbstractTradingMode(abstract_tentacle.AbstractTentacle):
|
|
71
71
|
# The id of the OctoBot using this trading mode
|
72
72
|
self.bot_id: str = None
|
73
73
|
|
74
|
-
#
|
74
|
+
# Trading Mode specific config (Is loaded from tentacle specific file)
|
75
75
|
self.trading_config: dict = None
|
76
76
|
|
77
|
+
# Trading Mode specific config snapshot before a config update
|
78
|
+
self.previous_trading_config: dict = None
|
79
|
+
|
77
80
|
# If this mode is enabled
|
78
81
|
self.enabled: bool = True
|
79
82
|
|
@@ -21,6 +21,7 @@ import octobot_commons.constants as commons_constants
|
|
21
21
|
|
22
22
|
import octobot_trading.exchange_channel as exchange_channel
|
23
23
|
import octobot_trading.modes.channel as modes_channel
|
24
|
+
import octobot_trading.modes.mode_activity as mode_activity
|
24
25
|
import octobot_trading.enums as enums
|
25
26
|
import octobot_trading.errors as errors
|
26
27
|
import octobot_trading.constants as constants
|
@@ -205,6 +206,15 @@ class AbstractTradingModeConsumer(modes_channel.ModeChannelConsumer):
|
|
205
206
|
return len(self.exchange_manager.exchange_personal_data.portfolio_manager.portfolio_value_holder
|
206
207
|
.origin_crypto_currencies_values)
|
207
208
|
|
209
|
+
def _update_producer_last_activity(self, activity_type: enums, reason):
|
210
|
+
for producer in self.trading_mode.producers:
|
211
|
+
if isinstance(producer, modes_channel.AbstractTradingModeProducer):
|
212
|
+
if producer.last_activity is None:
|
213
|
+
producer.last_activity = mode_activity.TradingModeActivity(activity_type)
|
214
|
+
else:
|
215
|
+
producer.last_activity.type = activity_type
|
216
|
+
producer.last_activity.set_reason(reason)
|
217
|
+
|
208
218
|
async def wait_for_active_position(self, symbol, timeout, side=None) -> bool:
|
209
219
|
"""
|
210
220
|
Instantly return when the position is already active.
|
@@ -35,6 +35,7 @@ import octobot_trading.exchanges.exchanges as exchanges
|
|
35
35
|
import octobot_trading.exchange_channel as exchanges_channel
|
36
36
|
import octobot_trading.modes.channel as modes_channel
|
37
37
|
import octobot_trading.modes.script_keywords as script_keywords
|
38
|
+
import octobot_trading.modes.mode_activity as mode_activity
|
38
39
|
import octobot_trading.storage.util as storage_util
|
39
40
|
|
40
41
|
|
@@ -95,6 +96,8 @@ class AbstractTradingModeProducer(modes_channel.ModeChannelProducer):
|
|
95
96
|
self._is_trigger_completed = asyncio.Event()
|
96
97
|
self._is_trigger_completed.set()
|
97
98
|
|
99
|
+
self.last_activity: mode_activity.TradingModeActivity = mode_activity.TradingModeActivity()
|
100
|
+
|
98
101
|
def on_reload_config(self):
|
99
102
|
"""
|
100
103
|
Called at constructor and after the associated trading mode's reload_config.
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Drakkar-Software OctoBot-Trading
|
2
|
+
# Copyright (c) Drakkar-Software, All rights reserved.
|
3
|
+
#
|
4
|
+
# This library is free software; you can redistribute it and/or
|
5
|
+
# modify it under the terms of the GNU Lesser General Public
|
6
|
+
# License as published by the Free Software Foundation; either
|
7
|
+
# version 3.0 of the License, or (at your option) any later version.
|
8
|
+
#
|
9
|
+
# This library is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12
|
+
# Lesser General Public License for more details.
|
13
|
+
#
|
14
|
+
# You should have received a copy of the GNU Lesser General Public
|
15
|
+
# License along with this library
|
16
|
+
import dataclasses
|
17
|
+
import enum
|
18
|
+
import octobot_trading.enums
|
19
|
+
import octobot_trading.constants
|
20
|
+
|
21
|
+
|
22
|
+
@dataclasses.dataclass
|
23
|
+
class TradingModeActivity:
|
24
|
+
type: enum.Enum = octobot_trading.enums.TradingModeActivityType.NO_ACTIVITY
|
25
|
+
details: dict = dataclasses.field(default_factory=dict)
|
26
|
+
|
27
|
+
def set_reason(self, reason):
|
28
|
+
self.details = {octobot_trading.constants.TRADING_MODE_ACTIVITY_REASON: reason}
|
@@ -131,16 +131,18 @@ class PortfolioValueHolder:
|
|
131
131
|
self.logger.info(f"Missing {asset} price conversion, ignoring {float(asset_holdings.total)} holdings.")
|
132
132
|
return total_value
|
133
133
|
|
134
|
+
def get_traded_assets_holdings_value(self, unit):
|
135
|
+
assets = set()
|
136
|
+
for symbol in self.portfolio_manager.exchange_manager.exchange_config.traded_symbols:
|
137
|
+
assets.add(symbol.base)
|
138
|
+
assets.add(symbol.quote)
|
139
|
+
return self.get_assets_holdings_value(
|
140
|
+
assets, unit
|
141
|
+
)
|
142
|
+
|
134
143
|
def get_holdings_ratio(self, currency, traded_symbols_only=False, include_assets_in_open_orders=False):
|
135
144
|
if traded_symbols_only:
|
136
|
-
|
137
|
-
assets = set()
|
138
|
-
for symbol in self.portfolio_manager.exchange_manager.exchange_config.traded_symbols:
|
139
|
-
assets.add(symbol.base)
|
140
|
-
assets.add(symbol.quote)
|
141
|
-
total_holdings_value = self.get_assets_holdings_value(
|
142
|
-
assets, self.portfolio_manager.reference_market
|
143
|
-
)
|
145
|
+
total_holdings_value = self.get_traded_assets_holdings_value(self.portfolio_manager.reference_market)
|
144
146
|
else:
|
145
147
|
# consider all assets for total_holdings_value
|
146
148
|
total_holdings_value = self.portfolio_current_value
|
@@ -157,7 +159,7 @@ class PortfolioValueHolder:
|
|
157
159
|
elif order.side is enums.TradeOrderSide.SELL and symbol.quote == currency:
|
158
160
|
assets_in_open_orders += order.total_cost
|
159
161
|
currency_holdings += assets_in_open_orders
|
160
|
-
# compute
|
162
|
+
# compute ratio
|
161
163
|
current_holdings_value = self.value_converter.evaluate_value(currency, currency_holdings)
|
162
164
|
return current_holdings_value / total_holdings_value
|
163
165
|
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/tests/modes/test_abstract_mode_consumer.py
RENAMED
@@ -13,22 +13,17 @@
|
|
13
13
|
#
|
14
14
|
# You should have received a copy of the GNU Lesser General Public
|
15
15
|
# License along with this library.
|
16
|
-
import decimal
|
17
16
|
import mock
|
18
17
|
import pytest
|
19
18
|
|
20
19
|
import octobot_commons.constants as commons_constants
|
21
20
|
from octobot_backtesting.backtesting import Backtesting
|
22
|
-
from octobot_commons.asyncio_tools import wait_asyncio_next_cycle
|
23
21
|
from octobot_commons.tests.test_config import load_test_config
|
24
22
|
from octobot_trading.modes.channel.abstract_mode_consumer import AbstractTradingModeConsumer
|
25
|
-
from octobot_trading.enums import EvaluatorStates
|
26
|
-
|
27
|
-
import octobot_trading.errors as errors
|
28
|
-
import octobot_trading.enums as enums
|
23
|
+
from octobot_trading.enums import EvaluatorStates, TradingModeActivityType
|
24
|
+
from octobot_trading.constants import TRADING_MODE_ACTIVITY_REASON
|
29
25
|
from octobot_trading.exchanges.exchange_manager import ExchangeManager
|
30
|
-
from octobot_trading.modes import AbstractTradingMode
|
31
|
-
import octobot_trading.personal_data.portfolios.assets as portfolio_assets
|
26
|
+
from octobot_trading.modes import AbstractTradingMode, AbstractTradingModeProducer, TradingModeActivity
|
32
27
|
from octobot_trading.exchanges.traders.trader_simulator import TraderSimulator
|
33
28
|
from tests import event_loop
|
34
29
|
|
@@ -144,3 +139,21 @@ async def test_get_number_of_traded_assets():
|
|
144
139
|
"aaa": 3
|
145
140
|
}
|
146
141
|
assert consumer.get_number_of_traded_assets() == 3
|
142
|
+
|
143
|
+
|
144
|
+
async def test_update_producer_last_activity():
|
145
|
+
exchange_manager, symbol, consumer = await _get_tools()
|
146
|
+
mode = consumer.trading_mode
|
147
|
+
producer = AbstractTradingModeProducer(
|
148
|
+
mock.Mock(exchange_manager=exchange_manager), exchange_manager.config, mode, exchange_manager
|
149
|
+
)
|
150
|
+
mode.producers.append(producer)
|
151
|
+
assert producer.last_activity == TradingModeActivity()
|
152
|
+
consumer._update_producer_last_activity(TradingModeActivityType.NOTHING_TO_DO, "plop")
|
153
|
+
assert producer.last_activity == TradingModeActivity(
|
154
|
+
TradingModeActivityType.NOTHING_TO_DO, {TRADING_MODE_ACTIVITY_REASON: "plop"}
|
155
|
+
)
|
156
|
+
consumer._update_producer_last_activity(TradingModeActivityType.CREATED_ORDERS, "11")
|
157
|
+
assert producer.last_activity == TradingModeActivity(
|
158
|
+
TradingModeActivityType.CREATED_ORDERS, {TRADING_MODE_ACTIVITY_REASON: "11"}
|
159
|
+
)
|
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/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
|
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.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchange_data/funding/__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.67 → OctoBot-Trading-2.4.69}/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.67 → OctoBot-Trading-2.4.69}/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.67 → OctoBot-Trading-2.4.69}/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.67 → OctoBot-Trading-2.4.69}/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.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/abstract_exchange.py
RENAMED
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/adapters/__init__.py
RENAMED
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/config/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/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
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/connectors/ccxt/enums.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/exchange_builder.py
RENAMED
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/exchange_channels.py
RENAMED
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/exchange_details.py
RENAMED
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/exchange_factory.py
RENAMED
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/exchange_manager.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.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/traders/__init__.py
RENAMED
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/traders/trader.py
RENAMED
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/types/__init__.py
RENAMED
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/types/rest_exchange.py
RENAMED
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/util/__init__.py
RENAMED
File without changes
|
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/util/exchange_util.py
RENAMED
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/util/symbol_details.py
RENAMED
File without changes
|
{OctoBot-Trading-2.4.67 → OctoBot-Trading-2.4.69}/octobot_trading/exchanges/util/websockets_util.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|