OctoBot-Trading 2.3.25__tar.gz → 2.3.27__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (671) hide show
  1. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/CHANGELOG.md +15 -0
  2. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27/OctoBot_Trading.egg-info}/PKG-INFO +2 -2
  3. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/OctoBot_Trading.egg-info/SOURCES.txt +8 -0
  4. {OctoBot-Trading-2.3.25/OctoBot_Trading.egg-info → OctoBot-Trading-2.3.27}/PKG-INFO +2 -2
  5. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/README.md +1 -1
  6. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/__init__.py +1 -1
  7. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/api/profitability.py +3 -2
  8. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/constants.py +4 -2
  9. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/enums.py +19 -0
  10. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/errors.py +6 -0
  11. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/__init__.pxd +6 -0
  12. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/__init__.py +6 -0
  13. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/abstract_exchange.py +1 -1
  14. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/config/exchange_config_data.pxd +0 -1
  15. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/config/exchange_config_data.py +0 -4
  16. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/ccxt/ccxt_adapter.py +0 -2
  17. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/ccxt/ccxt_connector.py +42 -4
  18. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/ccxt/ccxt_websocket_connector.py +1 -1
  19. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/exchange_manager.py +1 -1
  20. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/exchanges.py +0 -2
  21. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/traders/trader.py +8 -7
  22. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/types/rest_exchange.py +128 -50
  23. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/util/__init__.pxd +6 -0
  24. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/util/__init__.py +6 -0
  25. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/util/exchange_util.pxd +4 -0
  26. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/util/exchange_util.py +67 -0
  27. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/script_keywords/__init__.py +0 -2
  28. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/script_keywords/basic_keywords/__init__.py +0 -2
  29. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/script_keywords/basic_keywords/run_persistence.py +0 -31
  30. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/__init__.py +16 -0
  31. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/exchange_personal_data.py +5 -0
  32. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/__init__.pxd +2 -0
  33. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/__init__.py +16 -0
  34. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/channel/orders.py +24 -2
  35. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/groups/__init__.py +9 -0
  36. OctoBot-Trading-2.3.27/octobot_trading/personal_data/orders/groups/group_util.py +41 -0
  37. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/order.pxd +1 -0
  38. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/order.py +20 -1
  39. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/order_factory.pxd +2 -0
  40. OctoBot-Trading-2.3.27/octobot_trading/personal_data/orders/order_factory.py +147 -0
  41. OctoBot-Trading-2.3.27/octobot_trading/personal_data/orders/orders_storage_operations.py +86 -0
  42. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/__init__.pxd +10 -0
  43. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/__init__.py +5 -0
  44. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/history/historical_portfolio_value_manager.py +16 -3
  45. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/portfolio_manager.py +2 -1
  46. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/portfolio_profitability.pxd +0 -3
  47. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/portfolio_profitability.py +2 -2
  48. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/portfolio_value_holder.pxd +4 -19
  49. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/portfolio_value_holder.py +57 -162
  50. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/sub_portfolio.pxd +0 -3
  51. OctoBot-Trading-2.3.27/octobot_trading/personal_data/portfolios/value_converter.pxd +56 -0
  52. OctoBot-Trading-2.3.27/octobot_trading/personal_data/portfolios/value_converter.py +360 -0
  53. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/trade.py +2 -0
  54. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/trade_pnl.py +36 -3
  55. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/storage/__init__.py +6 -0
  56. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/storage/abstract_storage.py +3 -0
  57. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/storage/candles_storage.py +5 -5
  58. OctoBot-Trading-2.3.27/octobot_trading/storage/orders_storage.py +146 -0
  59. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/storage/portfolio_storage.py +4 -2
  60. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/storage/storage_manager.py +6 -0
  61. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/storage/trades_storage.py +18 -18
  62. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/storage/transactions_storage.py +8 -8
  63. OctoBot-Trading-2.3.27/octobot_trading/util/initializable.pxd +20 -0
  64. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/setup.py +1 -0
  65. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/test_exchange_config_data.py +0 -7
  66. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/modes/script_keywords/__init__.py +3 -3
  67. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/modes/test_abstract_mode_consumer.py +1 -1
  68. OctoBot-Trading-2.3.27/tests/personal_data/orders/groups/test_group_util.py +29 -0
  69. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/test_order.py +57 -0
  70. OctoBot-Trading-2.3.27/tests/personal_data/orders/test_order_factory.py +229 -0
  71. OctoBot-Trading-2.3.27/tests/personal_data/orders/test_orders_storage_operations.py +74 -0
  72. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/history/test_historical_portfolio_value_manager.py +1 -1
  73. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/test_portfolio_value_holder.py +27 -12
  74. OctoBot-Trading-2.3.27/tests/personal_data/portfolios/test_value_converter.py +153 -0
  75. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/trades/__init__.py +2 -1
  76. OctoBot-Trading-2.3.27/tests/personal_data/trades/test_trade_pnl.py +207 -0
  77. OctoBot-Trading-2.3.25/octobot_trading/personal_data/orders/order_factory.py +0 -90
  78. OctoBot-Trading-2.3.25/octobot_trading/util/initializable.pxd +0 -24
  79. OctoBot-Trading-2.3.25/tests/personal_data/orders/test_order_factory.py +0 -81
  80. OctoBot-Trading-2.3.25/tests/personal_data/trades/test_trade_pnl.py +0 -128
  81. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/LICENSE +0 -0
  82. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/MANIFEST.in +0 -0
  83. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/OctoBot_Trading.egg-info/dependency_links.txt +0 -0
  84. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/OctoBot_Trading.egg-info/not-zip-safe +0 -0
  85. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/OctoBot_Trading.egg-info/requires.txt +0 -0
  86. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/OctoBot_Trading.egg-info/top_level.txt +0 -0
  87. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/__init__.pxd +0 -0
  88. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/api/__init__.py +0 -0
  89. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/api/channels.py +0 -0
  90. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/api/contracts.py +0 -0
  91. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/api/exchange.py +0 -0
  92. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/api/modes.py +0 -0
  93. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/api/orders.py +0 -0
  94. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/api/portfolio.py +0 -0
  95. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/api/positions.py +0 -0
  96. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/api/storage.py +0 -0
  97. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/api/symbol_data.py +0 -0
  98. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/api/trader.py +0 -0
  99. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/api/trades.py +0 -0
  100. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_channel.pxd +0 -0
  101. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_channel.py +0 -0
  102. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/__init__.pxd +0 -0
  103. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/__init__.py +0 -0
  104. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/contracts/__init__.pxd +0 -0
  105. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/contracts/__init__.py +0 -0
  106. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/contracts/contract_factory.py +0 -0
  107. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/contracts/future_contract.pxd +0 -0
  108. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/contracts/future_contract.py +0 -0
  109. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/contracts/margin_contract.pxd +0 -0
  110. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/contracts/margin_contract.py +0 -0
  111. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/exchange_symbol_data.pxd +0 -0
  112. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/exchange_symbol_data.py +0 -0
  113. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/exchange_symbols_data.pxd +0 -0
  114. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/exchange_symbols_data.py +0 -0
  115. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/funding/__init__.pxd +0 -0
  116. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/funding/__init__.py +0 -0
  117. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/funding/channel/__init__.pxd +0 -0
  118. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/funding/channel/__init__.py +0 -0
  119. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/funding/channel/funding.pxd +0 -0
  120. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/funding/channel/funding.py +0 -0
  121. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/funding/channel/funding_updater.pxd +0 -0
  122. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/funding/channel/funding_updater.py +0 -0
  123. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/funding/channel/funding_updater_simulator.pxd +0 -0
  124. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/funding/channel/funding_updater_simulator.py +0 -0
  125. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/funding/funding_manager.pxd +0 -0
  126. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/funding/funding_manager.py +0 -0
  127. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/kline/__init__.pxd +0 -0
  128. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/kline/__init__.py +0 -0
  129. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/kline/channel/__init__.pxd +0 -0
  130. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/kline/channel/__init__.py +0 -0
  131. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/kline/channel/kline.pxd +0 -0
  132. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/kline/channel/kline.py +0 -0
  133. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/kline/channel/kline_updater.pxd +0 -0
  134. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/kline/channel/kline_updater.py +0 -0
  135. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/kline/channel/kline_updater_simulator.pxd +0 -0
  136. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/kline/channel/kline_updater_simulator.py +0 -0
  137. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/kline/kline_manager.pxd +0 -0
  138. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/kline/kline_manager.py +0 -0
  139. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/__init__.pxd +0 -0
  140. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/__init__.py +0 -0
  141. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/candles_adapter.pxd +0 -0
  142. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/candles_adapter.py +0 -0
  143. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/candles_manager.pxd +0 -0
  144. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/candles_manager.py +0 -0
  145. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/channel/__init__.pxd +0 -0
  146. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/channel/__init__.py +0 -0
  147. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/channel/ohlcv.pxd +0 -0
  148. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/channel/ohlcv.py +0 -0
  149. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater.pxd +0 -0
  150. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater.py +0 -0
  151. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater_simulator.pxd +0 -0
  152. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater_simulator.py +0 -0
  153. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/preloaded_candles_manager.pxd +0 -0
  154. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ohlcv/preloaded_candles_manager.py +0 -0
  155. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/order_book/__init__.pxd +0 -0
  156. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/order_book/__init__.py +0 -0
  157. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/order_book/channel/__init__.pxd +0 -0
  158. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/order_book/channel/__init__.py +0 -0
  159. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/order_book/channel/order_book.pxd +0 -0
  160. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/order_book/channel/order_book.py +0 -0
  161. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/order_book/channel/order_book_updater.pxd +0 -0
  162. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/order_book/channel/order_book_updater.py +0 -0
  163. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/order_book/channel/order_book_updater_simulator.pxd +0 -0
  164. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/order_book/channel/order_book_updater_simulator.py +0 -0
  165. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/order_book/order_book_manager.pxd +0 -0
  166. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/order_book/order_book_manager.py +0 -0
  167. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/__init__.pxd +0 -0
  168. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/__init__.py +0 -0
  169. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/channel/__init__.pxd +0 -0
  170. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/channel/__init__.py +0 -0
  171. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/channel/price.pxd +0 -0
  172. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/channel/price.py +0 -0
  173. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/channel/prices_updater.pxd +0 -0
  174. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/channel/prices_updater.py +0 -0
  175. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/channel/prices_updater_simulator.pxd +0 -0
  176. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/channel/prices_updater_simulator.py +0 -0
  177. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/price_events_manager.pxd +0 -0
  178. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/price_events_manager.py +0 -0
  179. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/prices_manager.pxd +0 -0
  180. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/prices/prices_manager.py +0 -0
  181. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/recent_trades/__init__.pxd +0 -0
  182. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/recent_trades/__init__.py +0 -0
  183. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/recent_trades/channel/__init__.pxd +0 -0
  184. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/recent_trades/channel/__init__.py +0 -0
  185. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/recent_trades/channel/recent_trade.pxd +0 -0
  186. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/recent_trades/channel/recent_trade.py +0 -0
  187. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater.pxd +0 -0
  188. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater.py +0 -0
  189. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater_simulator.pxd +0 -0
  190. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater_simulator.py +0 -0
  191. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/recent_trades/recent_trades_manager.pxd +0 -0
  192. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/recent_trades/recent_trades_manager.py +0 -0
  193. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ticker/__init__.pxd +0 -0
  194. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ticker/__init__.py +0 -0
  195. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ticker/channel/__init__.pxd +0 -0
  196. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ticker/channel/__init__.py +0 -0
  197. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ticker/channel/ticker.pxd +0 -0
  198. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ticker/channel/ticker.py +0 -0
  199. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ticker/channel/ticker_updater.pxd +0 -0
  200. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ticker/channel/ticker_updater.py +0 -0
  201. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ticker/channel/ticker_updater_simulator.pxd +0 -0
  202. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ticker/channel/ticker_updater_simulator.py +0 -0
  203. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ticker/ticker_manager.pxd +0 -0
  204. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchange_data/ticker/ticker_manager.py +0 -0
  205. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/abstract_exchange.pxd +0 -0
  206. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/abstract_websocket_exchange.pxd +0 -0
  207. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/abstract_websocket_exchange.py +0 -0
  208. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/adapters/__init__.py +0 -0
  209. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/adapters/abstract_adapter.py +0 -0
  210. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/basic_exchange_wrapper.pxd +0 -0
  211. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/basic_exchange_wrapper.py +0 -0
  212. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/config/__init__.pxd +0 -0
  213. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/config/__init__.py +0 -0
  214. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/config/backtesting_exchange_config.pxd +0 -0
  215. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/config/backtesting_exchange_config.py +0 -0
  216. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/__init__.pxd +0 -0
  217. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/__init__.py +0 -0
  218. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/ccxt/__init__.pxd +0 -0
  219. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/ccxt/__init__.py +0 -0
  220. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/ccxt/ccxt_client_util.pxd +0 -0
  221. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/ccxt/ccxt_client_util.py +0 -0
  222. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/ccxt/ccxt_connector.pxd +0 -0
  223. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/ccxt/ccxt_websocket_connector.pxd +0 -0
  224. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/ccxt/constants.py +0 -0
  225. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/ccxt/enums.py +0 -0
  226. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/simulator/__init__.pxd +0 -0
  227. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/simulator/__init__.py +0 -0
  228. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/simulator/exchange_simulator_adapter.py +0 -0
  229. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/simulator/exchange_simulator_connector.pxd +0 -0
  230. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/connectors/simulator/exchange_simulator_connector.py +0 -0
  231. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/exchange_builder.pxd +0 -0
  232. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/exchange_builder.py +0 -0
  233. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/exchange_channels.pxd +0 -0
  234. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/exchange_channels.py +0 -0
  235. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/exchange_factory.pxd +0 -0
  236. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/exchange_factory.py +0 -0
  237. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/exchange_manager.pxd +0 -0
  238. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/exchange_websocket_factory.pxd +0 -0
  239. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/exchange_websocket_factory.py +0 -0
  240. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/exchanges.pxd +0 -0
  241. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/implementations/__init__.pxd +0 -0
  242. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/implementations/__init__.py +0 -0
  243. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/implementations/default_rest_exchange.pxd +0 -0
  244. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/implementations/default_rest_exchange.py +0 -0
  245. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/implementations/default_websocket_exchange.pxd +0 -0
  246. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/implementations/default_websocket_exchange.py +0 -0
  247. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/implementations/exchange_simulator.pxd +0 -0
  248. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/implementations/exchange_simulator.py +0 -0
  249. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/traders/__init__.pxd +0 -0
  250. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/traders/__init__.py +0 -0
  251. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/traders/trader.pxd +0 -0
  252. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/traders/trader_simulator.pxd +0 -0
  253. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/traders/trader_simulator.py +0 -0
  254. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/types/__init__.pxd +0 -0
  255. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/types/__init__.py +0 -0
  256. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/types/rest_exchange.pxd +0 -0
  257. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/types/websocket_exchange.pxd +0 -0
  258. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/types/websocket_exchange.py +0 -0
  259. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/util/exchange_market_status_fixer.pxd +0 -0
  260. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/util/exchange_market_status_fixer.py +0 -0
  261. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/util/websockets_util.pxd +0 -0
  262. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/exchanges/util/websockets_util.py +0 -0
  263. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/__init__.pxd +0 -0
  264. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/__init__.py +0 -0
  265. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/abstract_trading_mode.py +0 -0
  266. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/channel/__init__.pxd +0 -0
  267. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/channel/__init__.py +0 -0
  268. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/channel/abstract_mode_consumer.pxd +0 -0
  269. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/channel/abstract_mode_consumer.py +0 -0
  270. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/channel/abstract_mode_producer.pxd +0 -0
  271. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/channel/abstract_mode_producer.py +0 -0
  272. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/channel/mode.pxd +0 -0
  273. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/channel/mode.py +0 -0
  274. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/mode_config.py +0 -0
  275. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/modes_factory.pxd +0 -0
  276. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/modes_factory.py +0 -0
  277. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/modes_util.pxd +0 -0
  278. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/modes_util.py +0 -0
  279. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/script_keywords/basic_keywords/account_balance.py +0 -0
  280. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/script_keywords/basic_keywords/amount.py +0 -0
  281. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/script_keywords/basic_keywords/configuration.py +0 -0
  282. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/script_keywords/basic_keywords/trading_signals.py +0 -0
  283. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/script_keywords/basic_keywords/user_inputs.py +0 -0
  284. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/script_keywords/context_management.py +0 -0
  285. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/script_keywords/dsl/__init__.py +0 -0
  286. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/script_keywords/dsl/quantity.py +0 -0
  287. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/script_keywords/dsl/values.py +0 -0
  288. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/scripted_trading_mode/__init__.py +0 -0
  289. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/modes/scripted_trading_mode/abstract_scripted_trading_mode.py +0 -0
  290. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/octobot_channel_consumer.pxd +0 -0
  291. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/octobot_channel_consumer.py +0 -0
  292. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/__init__.pxd +0 -0
  293. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/exchange_personal_data.pxd +0 -0
  294. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/channel/__init__.pxd +0 -0
  295. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/channel/__init__.py +0 -0
  296. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/channel/orders.pxd +0 -0
  297. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/channel/orders_updater.pxd +0 -0
  298. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/channel/orders_updater.py +0 -0
  299. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/channel/orders_updater_simulator.pxd +0 -0
  300. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/channel/orders_updater_simulator.py +0 -0
  301. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/decimal_order_adapter.pxd +0 -0
  302. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/decimal_order_adapter.py +0 -0
  303. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/groups/__init__.pxd +0 -0
  304. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/groups/balanced_take_profit_and_stop_order_group.pxd +0 -0
  305. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/groups/balanced_take_profit_and_stop_order_group.py +0 -0
  306. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/groups/one_cancels_the_other_order_group.pxd +0 -0
  307. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/groups/one_cancels_the_other_order_group.py +0 -0
  308. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/order_adapter.pxd +0 -0
  309. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/order_adapter.py +0 -0
  310. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/order_group.pxd +0 -0
  311. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/order_group.py +0 -0
  312. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/order_state.pxd +0 -0
  313. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/order_state.py +0 -0
  314. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/order_util.pxd +0 -0
  315. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/order_util.py +0 -0
  316. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/orders_manager.pxd +0 -0
  317. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/orders_manager.py +0 -0
  318. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/__init__.pxd +0 -0
  319. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/__init__.py +0 -0
  320. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/cancel_order_state.pxd +0 -0
  321. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/cancel_order_state.py +0 -0
  322. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/close_order_state.pxd +0 -0
  323. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/close_order_state.py +0 -0
  324. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/fill_order_state.pxd +0 -0
  325. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/fill_order_state.py +0 -0
  326. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/open_order_state.pxd +0 -0
  327. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/open_order_state.py +0 -0
  328. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/order_state_factory.pxd +0 -0
  329. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/order_state_factory.py +0 -0
  330. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/pending_creation_chained_order_state.pxd +0 -0
  331. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/pending_creation_chained_order_state.py +0 -0
  332. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/pending_creation_order_state.pxd +0 -0
  333. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/states/pending_creation_order_state.py +0 -0
  334. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/__init__.pxd +0 -0
  335. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/__init__.py +0 -0
  336. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/__init__.pxd +0 -0
  337. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/__init__.py +0 -0
  338. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/buy_limit_order.pxd +0 -0
  339. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/buy_limit_order.py +0 -0
  340. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/limit_order.pxd +0 -0
  341. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/limit_order.py +0 -0
  342. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/sell_limit_order.pxd +0 -0
  343. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/sell_limit_order.py +0 -0
  344. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/stop_loss_limit_order.pxd +0 -0
  345. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/stop_loss_limit_order.py +0 -0
  346. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/stop_loss_order.pxd +0 -0
  347. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/stop_loss_order.py +0 -0
  348. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/take_profit_limit_order.pxd +0 -0
  349. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/take_profit_limit_order.py +0 -0
  350. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/take_profit_order.pxd +0 -0
  351. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/limit/take_profit_order.py +0 -0
  352. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/market/__init__.pxd +0 -0
  353. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/market/__init__.py +0 -0
  354. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/market/buy_market_order.pxd +0 -0
  355. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/market/buy_market_order.py +0 -0
  356. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/market/market_order.pxd +0 -0
  357. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/market/market_order.py +0 -0
  358. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/market/sell_market_order.pxd +0 -0
  359. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/market/sell_market_order.py +0 -0
  360. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/trailing/__init__.pxd +0 -0
  361. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/trailing/__init__.py +0 -0
  362. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/trailing/trailing_stop_limit_order.pxd +0 -0
  363. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/trailing/trailing_stop_limit_order.py +0 -0
  364. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/trailing/trailing_stop_order.pxd +0 -0
  365. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/trailing/trailing_stop_order.py +0 -0
  366. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/unknown_order.pxd +0 -0
  367. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/unknown_order.py +0 -0
  368. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/unsupported_order.pxd +0 -0
  369. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/orders/types/unsupported_order.py +0 -0
  370. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/asset.pxd +0 -0
  371. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/asset.py +0 -0
  372. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/assets/__init__.pxd +0 -0
  373. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/assets/__init__.py +0 -0
  374. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/assets/future_asset.pxd +0 -0
  375. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/assets/future_asset.py +0 -0
  376. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/assets/margin_asset.pxd +0 -0
  377. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/assets/margin_asset.py +0 -0
  378. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/assets/spot_asset.pxd +0 -0
  379. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/assets/spot_asset.py +0 -0
  380. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/channel/__init__.pxd +0 -0
  381. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/channel/__init__.py +0 -0
  382. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/channel/balance.pxd +0 -0
  383. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/channel/balance.py +0 -0
  384. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/channel/balance_updater.pxd +0 -0
  385. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/channel/balance_updater.py +0 -0
  386. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/channel/balance_updater_simulator.pxd +0 -0
  387. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/channel/balance_updater_simulator.py +0 -0
  388. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/history/__init__.pxd +0 -0
  389. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/history/__init__.py +0 -0
  390. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/history/historical_asset_value.pxd +0 -0
  391. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/history/historical_asset_value.py +0 -0
  392. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/history/historical_asset_value_factory.pxd +0 -0
  393. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/history/historical_asset_value_factory.py +0 -0
  394. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/history/historical_portfolio_value_manager.pxd +0 -0
  395. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/portfolio.pxd +0 -0
  396. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/portfolio.py +0 -0
  397. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/portfolio_factory.pxd +0 -0
  398. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/portfolio_factory.py +0 -0
  399. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/portfolio_manager.pxd +0 -0
  400. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/portfolio_util.pxd +0 -0
  401. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/portfolio_util.py +0 -0
  402. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/sub_portfolio.py +0 -0
  403. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/types/__init__.pxd +0 -0
  404. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/types/__init__.py +0 -0
  405. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/types/future_portfolio.pxd +0 -0
  406. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/types/future_portfolio.py +0 -0
  407. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/types/margin_portfolio.pxd +0 -0
  408. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/types/margin_portfolio.py +0 -0
  409. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/types/spot_portfolio.pxd +0 -0
  410. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/portfolios/types/spot_portfolio.py +0 -0
  411. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/__init__.pxd +0 -0
  412. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/__init__.py +0 -0
  413. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/channel/__init__.pxd +0 -0
  414. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/channel/__init__.py +0 -0
  415. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/channel/positions.pxd +0 -0
  416. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/channel/positions.py +0 -0
  417. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/channel/positions_updater.pxd +0 -0
  418. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/channel/positions_updater.py +0 -0
  419. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/channel/positions_updater_simulator.pxd +0 -0
  420. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/channel/positions_updater_simulator.py +0 -0
  421. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/position.pxd +0 -0
  422. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/position.py +0 -0
  423. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/position_factory.pxd +0 -0
  424. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/position_factory.py +0 -0
  425. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/position_state.pxd +0 -0
  426. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/position_state.py +0 -0
  427. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/position_util.pxd +0 -0
  428. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/position_util.py +0 -0
  429. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/positions_manager.pxd +0 -0
  430. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/positions_manager.py +0 -0
  431. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/states/__init__.pxd +0 -0
  432. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/states/__init__.py +0 -0
  433. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/states/active_position_state.pxd +0 -0
  434. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/states/active_position_state.py +0 -0
  435. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/states/idle_position_state.pxd +0 -0
  436. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/states/idle_position_state.py +0 -0
  437. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/states/liquidate_position_state.pxd +0 -0
  438. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/states/liquidate_position_state.py +0 -0
  439. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/states/position_state_factory.pxd +0 -0
  440. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/states/position_state_factory.py +0 -0
  441. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/types/__init__.pxd +0 -0
  442. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/types/__init__.py +0 -0
  443. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/types/inverse_position.pxd +0 -0
  444. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/types/inverse_position.py +0 -0
  445. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/types/linear_position.pxd +0 -0
  446. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/positions/types/linear_position.py +0 -0
  447. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/state.pxd +0 -0
  448. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/state.py +0 -0
  449. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/__init__.pxd +0 -0
  450. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/__init__.py +0 -0
  451. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/channel/__init__.pxd +0 -0
  452. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/channel/__init__.py +0 -0
  453. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/channel/trades.pxd +0 -0
  454. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/channel/trades.py +0 -0
  455. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/channel/trades_updater.pxd +0 -0
  456. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/channel/trades_updater.py +0 -0
  457. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/trade.pxd +0 -0
  458. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/trade_factory.pxd +0 -0
  459. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/trade_factory.py +0 -0
  460. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/trades_manager.pxd +0 -0
  461. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/trades_manager.py +0 -0
  462. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/trades/trades_util.py +0 -0
  463. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/__init__.pxd +0 -0
  464. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/__init__.py +0 -0
  465. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/transaction.pxd +0 -0
  466. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/transaction.py +0 -0
  467. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/transaction_factory.pxd +0 -0
  468. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/transaction_factory.py +0 -0
  469. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/transactions_manager.pxd +0 -0
  470. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/transactions_manager.py +0 -0
  471. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/types/__init__.pxd +0 -0
  472. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/types/__init__.py +0 -0
  473. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/types/blockchain_transaction.pxd +0 -0
  474. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/types/blockchain_transaction.py +0 -0
  475. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/types/fee_transaction.pxd +0 -0
  476. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/types/fee_transaction.py +0 -0
  477. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/types/realised_pnl_transaction.pxd +0 -0
  478. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/types/realised_pnl_transaction.py +0 -0
  479. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/types/transfer_transaction.pxd +0 -0
  480. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/personal_data/transactions/types/transfer_transaction.py +0 -0
  481. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/signals/__init__.py +0 -0
  482. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/signals/channel/__init__.py +0 -0
  483. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/signals/channel/remote_trading_signal.py +0 -0
  484. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/signals/channel/remote_trading_signal_channel_factory.py +0 -0
  485. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/signals/channel/signal_producer.py +0 -0
  486. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/signals/signal_creation.py +0 -0
  487. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/signals/trading_signal_bundle_builder.py +0 -0
  488. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/signals/util.py +0 -0
  489. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/storage/util.py +0 -0
  490. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/supervisors/__init__.pxd +0 -0
  491. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/supervisors/__init__.py +0 -0
  492. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/supervisors/abstract_portfolio_supervisor.py +0 -0
  493. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/supervisors/abstract_supervisor.py +0 -0
  494. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/util/__init__.pxd +0 -0
  495. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/util/__init__.py +0 -0
  496. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/util/config_util.pxd +0 -0
  497. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/util/config_util.py +0 -0
  498. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/util/initializable.py +0 -0
  499. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/util/initialization_util.py +0 -0
  500. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/util/simulator_updater_utils.py +0 -0
  501. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/util/test_tools/__init__.py +0 -0
  502. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/util/test_tools/exchanges_test_tools.py +0 -0
  503. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/util/test_tools/spot_rest_exchange_test_tools.py +0 -0
  504. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/octobot_trading/util/test_tools/websocket_test_tools.py +0 -0
  505. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/requirements.txt +0 -0
  506. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/setup.cfg +0 -0
  507. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/api/__init__.py +0 -0
  508. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/api/test_channels.py +0 -0
  509. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/api/test_exchange.py +0 -0
  510. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/api/test_modes.py +0 -0
  511. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/api/test_orders.py +0 -0
  512. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/api/test_portfolio.py +0 -0
  513. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/api/test_profitability.py +0 -0
  514. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/api/test_symbol_data.py +0 -0
  515. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/api/test_trader.py +0 -0
  516. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/api/test_trades.py +0 -0
  517. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/cli/__init__.py +0 -0
  518. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/__init__.py +0 -0
  519. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/contracts/__init__.py +0 -0
  520. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/contracts/test_future_contract.py +0 -0
  521. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/contracts/test_margin_contract.py +0 -0
  522. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/funding/__init__.py +0 -0
  523. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/funding/test_funding_manager.py +0 -0
  524. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/kline/__init__.py +0 -0
  525. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/kline/test_kline_manager.py +0 -0
  526. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/ohlcv/__init__.py +0 -0
  527. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/ohlcv/test_candles_adapter.py +0 -0
  528. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/ohlcv/test_candles_manager.py +0 -0
  529. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/order_book/__init__.py +0 -0
  530. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/order_book/test_order_book_manager.py +0 -0
  531. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/prices/__init__.py +0 -0
  532. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/prices/test_price_events_manager.py +0 -0
  533. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/prices/test_prices_manager.py +0 -0
  534. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/recent_trades/__init__.py +0 -0
  535. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/recent_trades/test_recent_trades_manager.py +0 -0
  536. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/test_exchange_symbols_data.py +0 -0
  537. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/ticker/__init__.py +0 -0
  538. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchange_data/ticker/test_ticker_manager.py +0 -0
  539. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/__init__.py +0 -0
  540. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/connectors/__init__.py +0 -0
  541. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/connectors/ccxt/__init__.py +0 -0
  542. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/connectors/ccxt/test_ccxt_connector.py +0 -0
  543. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/implementations/__init__.py +0 -0
  544. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/implementations/test_default_rest_exchange.py +0 -0
  545. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/implementations/test_default_websocket_exchange.py +0 -0
  546. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/test_abstract_exchange.py +0 -0
  547. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/test_abstract_websocket_exchange.py +0 -0
  548. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/test_basic_exchange_wrapper.py +0 -0
  549. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/test_exchange_builder.py +0 -0
  550. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/test_exchange_factory.py +0 -0
  551. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/test_exchange_manager.py +0 -0
  552. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/test_exchange_simulator.py +0 -0
  553. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/test_exchanges.py +0 -0
  554. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/traders/__init__.py +0 -0
  555. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/traders/test_trader.py +0 -0
  556. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/types/__init__.py +0 -0
  557. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/types/test_websocket_exchange.py +0 -0
  558. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/util/__init__.py +0 -0
  559. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/util/test_exchange_market_status_fixer.py +0 -0
  560. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/exchanges/util/test_exchange_util.py +0 -0
  561. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/modes/__init__.py +0 -0
  562. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/modes/script_keywords/basic_keywords/__init__.py +0 -0
  563. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/modes/script_keywords/basic_keywords/test_account_balance.py +0 -0
  564. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/modes/script_keywords/basic_keywords/test_amount.py +0 -0
  565. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/modes/script_keywords/dsl/__init__.py +0 -0
  566. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/modes/script_keywords/dsl/test_quantity.py +0 -0
  567. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/modes/test_abstract_trading_mode.py +0 -0
  568. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/__init__.py +0 -0
  569. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/__init__.py +0 -0
  570. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/groups/__init__.py +0 -0
  571. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/groups/test_balanced_take_profit_and_stop_order_group.py +0 -0
  572. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/groups/test_one_cancels_the_other_order_group.py +0 -0
  573. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/states/__init__.py +0 -0
  574. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/states/test_cancel_order_state.py +0 -0
  575. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/states/test_close_order_state.py +0 -0
  576. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/states/test_fill_order_state.py +0 -0
  577. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/states/test_open_order_state.py +0 -0
  578. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/states/test_order_state.py +0 -0
  579. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/states/test_order_state_factory.py +0 -0
  580. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/states/test_pending_creation_chained_order_state.py +0 -0
  581. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/states/test_pending_creation_order_state.py +0 -0
  582. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/test_decimal_order_adapter.py +0 -0
  583. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/test_double_filled_order.py +0 -0
  584. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/test_order_adapter.py +0 -0
  585. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/test_order_util.py +0 -0
  586. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/test_orders_manager.py +0 -0
  587. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/__init__.py +0 -0
  588. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/limit/__init__.py +0 -0
  589. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/limit/test_buy_limit_order.py +0 -0
  590. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/limit/test_sell_limit_order.py +0 -0
  591. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/limit/test_stop_loss_limit_order.py +0 -0
  592. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/limit/test_stop_loss_order.py +0 -0
  593. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/limit/test_take_profit_limit_order.py +0 -0
  594. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/limit/test_take_profit_order.py +0 -0
  595. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/market/__init__.py +0 -0
  596. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/market/test_buy_market_order.py +0 -0
  597. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/market/test_sell_market_order.py +0 -0
  598. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/test_unknown_order.py +0 -0
  599. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/trailing/__init__.py +0 -0
  600. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/trailing/test_trailing_stop_limit_order.py +0 -0
  601. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/orders/types/trailing/test_trailing_stop_order.py +0 -0
  602. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/__init__.py +0 -0
  603. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/assets/__init__.py +0 -0
  604. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/assets/test_future_asset.py +0 -0
  605. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/assets/test_margin_asset.py +0 -0
  606. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/assets/test_spot_asset.py +0 -0
  607. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/history/__init__.py +0 -0
  608. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/history/test_historical_asset_value_factory.py +0 -0
  609. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/test_asset.py +0 -0
  610. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/test_portfolio.py +0 -0
  611. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/test_portfolio_manager.py +0 -0
  612. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/test_portfolio_profitability.py +0 -0
  613. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/types/__init__.py +0 -0
  614. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/types/test_future_portfolio.py +0 -0
  615. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/types/test_margin_portfolio.py +0 -0
  616. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/portfolios/types/test_spot_portfolio.py +0 -0
  617. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/positions/__init__.py +0 -0
  618. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/positions/channel/__init__.py +0 -0
  619. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/positions/states/__init__.py +0 -0
  620. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/positions/test_position.py +0 -0
  621. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/positions/test_position_factory.py +0 -0
  622. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/positions/test_positions_manager.py +0 -0
  623. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/positions/types/__init__.py +0 -0
  624. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/positions/types/test_inverse_position.py +0 -0
  625. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/positions/types/test_linear_position.py +0 -0
  626. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/trades/test_trade_factory.py +0 -0
  627. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/trades/test_trade_manager.py +0 -0
  628. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/transactions/__init__.py +0 -0
  629. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/transactions/test_transaction_factory.py +0 -0
  630. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/personal_data/transactions/test_transactions_manager.py +0 -0
  631. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/signals/__init__.py +0 -0
  632. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/signals/test_trading_signal_bundle_builder.py +0 -0
  633. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/signals/test_util.py +0 -0
  634. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/test_utils/__init__.py +0 -0
  635. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/test_utils/order_util.py +0 -0
  636. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/test_utils/random_numbers.py +0 -0
  637. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/util/__init__.py +0 -0
  638. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests/util/test_config_util.py +0 -0
  639. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/__init__.py +0 -0
  640. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/__init__.py +0 -0
  641. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/real_exchange_tester.py +0 -0
  642. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/real_futures_exchange_tester.py +0 -0
  643. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_ascendex.py +0 -0
  644. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_binance.py +0 -0
  645. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_bitfinex.py +0 -0
  646. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_bitget.py +0 -0
  647. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_bithumb.py +0 -0
  648. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_bitso.py +0 -0
  649. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_bitstamp.py +0 -0
  650. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_bittrex.py +0 -0
  651. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_bybit.py +0 -0
  652. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_bybit_futures.py +0 -0
  653. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_coinbasepro.py +0 -0
  654. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_coinex.py +0 -0
  655. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_cryptocom.py +0 -0
  656. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_gateio.py +0 -0
  657. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_hitbtc.py +0 -0
  658. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_hollaex.py +0 -0
  659. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_huobi.py +0 -0
  660. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_huobipro.py +0 -0
  661. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_kraken.py +0 -0
  662. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_kucoin.py +0 -0
  663. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_kucoin_futures.py +0 -0
  664. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_ndax.py +0 -0
  665. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_okcoin.py +0 -0
  666. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_okx.py +0 -0
  667. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_okx_futures.py +0 -0
  668. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_phemex.py +0 -0
  669. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_poloniex.py +0 -0
  670. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_upbit.py +0 -0
  671. {OctoBot-Trading-2.3.25 → OctoBot-Trading-2.3.27}/tests_additional/real_exchanges/test_wavesexchange.py +0 -0
@@ -4,6 +4,21 @@ 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.3.27] - 2023-03-16
8
+ ### Added
9
+ - [Portfolio] indirect currency valuation
10
+ ### Fixed
11
+ - [Portfolio] price initialisation
12
+
13
+ ## [2.3.26] - 2023-03-15
14
+ ### Added
15
+ - [Orders] storage system to keep track of groups, chained orders, entries and tags
16
+ - [Exchanges] support for crypto.com
17
+ ### Updated
18
+ - [Exchanges] fees checking to ensure closed order fees availability
19
+ ### Fixed
20
+ - [PNL] PNL when entry is a sell order
21
+
7
22
  ## [2.3.25] - 2023-03-09
8
23
  ### Added
9
24
  - [Exchanges] get_leverage_tiers
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: OctoBot-Trading
3
- Version: 2.3.25
3
+ Version: 2.3.27
4
4
  Summary: OctoBot project trading package
5
5
  Home-page: https://github.com/Drakkar-Software/OctoBot-Trading
6
6
  Author: Drakkar-Software
@@ -17,7 +17,7 @@ Classifier: Operating System :: POSIX
17
17
  Requires-Python: >=3.8
18
18
  License-File: LICENSE
19
19
 
20
- # OctoBot-Trading [2.3.25](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
20
+ # OctoBot-Trading [2.3.27](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
21
21
  [![Codacy Badge](https://api.codacy.com/project/badge/Grade/903b6b22bceb4661b608a86fea655f69)](https://app.codacy.com/gh/Drakkar-Software/OctoBot-Trading?utm_source=github.com&utm_medium=referral&utm_content=Drakkar-Software/OctoBot-Trading&utm_campaign=Badge_Grade_Dashboard)
22
22
  [![PyPI](https://img.shields.io/pypi/v/OctoBot-Trading.svg)](https://pypi.python.org/pypi/OctoBot-Trading/)
23
23
  [![Coverage Status](https://coveralls.io/repos/github/Drakkar-Software/OctoBot-Trading/badge.svg?branch=master)](https://coveralls.io/github/Drakkar-Software/OctoBot-Trading?branch=master)
@@ -263,6 +263,7 @@ octobot_trading/personal_data/orders/order_util.pxd
263
263
  octobot_trading/personal_data/orders/order_util.py
264
264
  octobot_trading/personal_data/orders/orders_manager.pxd
265
265
  octobot_trading/personal_data/orders/orders_manager.py
266
+ octobot_trading/personal_data/orders/orders_storage_operations.py
266
267
  octobot_trading/personal_data/orders/channel/__init__.pxd
267
268
  octobot_trading/personal_data/orders/channel/__init__.py
268
269
  octobot_trading/personal_data/orders/channel/orders.pxd
@@ -275,6 +276,7 @@ octobot_trading/personal_data/orders/groups/__init__.pxd
275
276
  octobot_trading/personal_data/orders/groups/__init__.py
276
277
  octobot_trading/personal_data/orders/groups/balanced_take_profit_and_stop_order_group.pxd
277
278
  octobot_trading/personal_data/orders/groups/balanced_take_profit_and_stop_order_group.py
279
+ octobot_trading/personal_data/orders/groups/group_util.py
278
280
  octobot_trading/personal_data/orders/groups/one_cancels_the_other_order_group.pxd
279
281
  octobot_trading/personal_data/orders/groups/one_cancels_the_other_order_group.py
280
282
  octobot_trading/personal_data/orders/states/__init__.pxd
@@ -347,6 +349,8 @@ octobot_trading/personal_data/portfolios/portfolio_value_holder.pxd
347
349
  octobot_trading/personal_data/portfolios/portfolio_value_holder.py
348
350
  octobot_trading/personal_data/portfolios/sub_portfolio.pxd
349
351
  octobot_trading/personal_data/portfolios/sub_portfolio.py
352
+ octobot_trading/personal_data/portfolios/value_converter.pxd
353
+ octobot_trading/personal_data/portfolios/value_converter.py
350
354
  octobot_trading/personal_data/portfolios/assets/__init__.pxd
351
355
  octobot_trading/personal_data/portfolios/assets/__init__.py
352
356
  octobot_trading/personal_data/portfolios/assets/future_asset.pxd
@@ -460,6 +464,7 @@ octobot_trading/signals/channel/signal_producer.py
460
464
  octobot_trading/storage/__init__.py
461
465
  octobot_trading/storage/abstract_storage.py
462
466
  octobot_trading/storage/candles_storage.py
467
+ octobot_trading/storage/orders_storage.py
463
468
  octobot_trading/storage/portfolio_storage.py
464
469
  octobot_trading/storage/storage_manager.py
465
470
  octobot_trading/storage/trades_storage.py
@@ -554,8 +559,10 @@ tests/personal_data/orders/test_order_adapter.py
554
559
  tests/personal_data/orders/test_order_factory.py
555
560
  tests/personal_data/orders/test_order_util.py
556
561
  tests/personal_data/orders/test_orders_manager.py
562
+ tests/personal_data/orders/test_orders_storage_operations.py
557
563
  tests/personal_data/orders/groups/__init__.py
558
564
  tests/personal_data/orders/groups/test_balanced_take_profit_and_stop_order_group.py
565
+ tests/personal_data/orders/groups/test_group_util.py
559
566
  tests/personal_data/orders/groups/test_one_cancels_the_other_order_group.py
560
567
  tests/personal_data/orders/states/__init__.py
561
568
  tests/personal_data/orders/states/test_cancel_order_state.py
@@ -587,6 +594,7 @@ tests/personal_data/portfolios/test_portfolio.py
587
594
  tests/personal_data/portfolios/test_portfolio_manager.py
588
595
  tests/personal_data/portfolios/test_portfolio_profitability.py
589
596
  tests/personal_data/portfolios/test_portfolio_value_holder.py
597
+ tests/personal_data/portfolios/test_value_converter.py
590
598
  tests/personal_data/portfolios/assets/__init__.py
591
599
  tests/personal_data/portfolios/assets/test_future_asset.py
592
600
  tests/personal_data/portfolios/assets/test_margin_asset.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: OctoBot-Trading
3
- Version: 2.3.25
3
+ Version: 2.3.27
4
4
  Summary: OctoBot project trading package
5
5
  Home-page: https://github.com/Drakkar-Software/OctoBot-Trading
6
6
  Author: Drakkar-Software
@@ -17,7 +17,7 @@ Classifier: Operating System :: POSIX
17
17
  Requires-Python: >=3.8
18
18
  License-File: LICENSE
19
19
 
20
- # OctoBot-Trading [2.3.25](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
20
+ # OctoBot-Trading [2.3.27](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
21
21
  [![Codacy Badge](https://api.codacy.com/project/badge/Grade/903b6b22bceb4661b608a86fea655f69)](https://app.codacy.com/gh/Drakkar-Software/OctoBot-Trading?utm_source=github.com&utm_medium=referral&utm_content=Drakkar-Software/OctoBot-Trading&utm_campaign=Badge_Grade_Dashboard)
22
22
  [![PyPI](https://img.shields.io/pypi/v/OctoBot-Trading.svg)](https://pypi.python.org/pypi/OctoBot-Trading/)
23
23
  [![Coverage Status](https://coveralls.io/repos/github/Drakkar-Software/OctoBot-Trading/badge.svg?branch=master)](https://coveralls.io/github/Drakkar-Software/OctoBot-Trading?branch=master)
@@ -1,4 +1,4 @@
1
- # OctoBot-Trading [2.3.25](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
1
+ # OctoBot-Trading [2.3.27](https://github.com/Drakkar-Software/OctoBot-Trading/blob/master/CHANGELOG.md)
2
2
  [![Codacy Badge](https://api.codacy.com/project/badge/Grade/903b6b22bceb4661b608a86fea655f69)](https://app.codacy.com/gh/Drakkar-Software/OctoBot-Trading?utm_source=github.com&utm_medium=referral&utm_content=Drakkar-Software/OctoBot-Trading&utm_campaign=Badge_Grade_Dashboard)
3
3
  [![PyPI](https://img.shields.io/pypi/v/OctoBot-Trading.svg)](https://pypi.python.org/pypi/OctoBot-Trading/)
4
4
  [![Coverage Status](https://coveralls.io/repos/github/Drakkar-Software/OctoBot-Trading/badge.svg?branch=master)](https://coveralls.io/github/Drakkar-Software/OctoBot-Trading?branch=master)
@@ -15,4 +15,4 @@
15
15
  # License along with this library.
16
16
 
17
17
  PROJECT_NAME = "OctoBot-Trading"
18
- VERSION = "2.3.25" # major.minor.revision
18
+ VERSION = "2.3.27" # major.minor.revision
@@ -45,7 +45,7 @@ def get_current_crypto_currency_value(exchange_manager, currency) -> decimal.Dec
45
45
  try:
46
46
  # try using last prices by trading pair
47
47
  return exchange_manager.exchange_personal_data.portfolio_manager. \
48
- portfolio_value_holder.convert_currency_value_using_last_prices(
48
+ portfolio_value_holder.value_converter.convert_currency_value_using_last_prices(
49
49
  constants.ONE,
50
50
  currency,
51
51
  exchange_manager.exchange_personal_data.portfolio_manager.reference_market
@@ -65,4 +65,5 @@ def get_reference_market(config) -> str:
65
65
 
66
66
  def get_initializing_currencies_prices(exchange_manager) -> set:
67
67
  return set() if exchange_manager.exchange_personal_data.portfolio_manager is None else \
68
- exchange_manager.exchange_personal_data.portfolio_manager.portfolio_value_holder.initializing_symbol_prices
68
+ exchange_manager.exchange_personal_data.portfolio_manager.portfolio_value_holder.\
69
+ value_converter.initializing_symbol_prices
@@ -70,6 +70,7 @@ NaN = decimal.Decimal("nan")
70
70
  FULL_CANDLE_HISTORY_EXCHANGES = ["bequant", "binance", "binanceus", "binanceusdm", "bitcoincom",
71
71
  "bitfinex", "bitfinex2", "bitmex", "idex", "bybit", "bitget"]
72
72
 
73
+ DEFAULT_FUTURE_EXCHANGES = ["binanceusdm", "bybit"]
73
74
  TESTED_EXCHANGES = [
74
75
  "binance",
75
76
  "okx",
@@ -80,13 +81,14 @@ TESTED_EXCHANGES = [
80
81
  "kucoin",
81
82
  # "coinbasepro", # waiting for ccxt update on coinbase advanced
82
83
  "bybit",
84
+ "cryptocom",
83
85
  "phemex",
84
86
  "hollaex"
85
87
  ]
86
- DEFAULT_FUTURE_EXCHANGES = ["bybit"]
88
+ DEFAULT_FUTURE_EXCHANGES = ["binanceusdm", "bybit"]
87
89
  SIMULATOR_TESTED_EXCHANGES = ["bitfinex2", "bithumb", "bitstamp", "bittrex", "coinex",
88
90
  "hitbtc", "kraken", "poloniex", "bitso", "ndax", "upbit",
89
- "wavesexchange", "cryptocom"]
91
+ "wavesexchange"]
90
92
 
91
93
  CONFIG_DEFAULT_FEES = 0.001
92
94
  CONFIG_DEFAULT_SIMULATOR_FEES = 0
@@ -36,8 +36,14 @@ class PositionSide(enum.Enum):
36
36
  class TradeOrderType(enum.Enum):
37
37
  LIMIT = "limit"
38
38
  MARKET = "market"
39
+ # stop loss == reduce only on futures
39
40
  STOP_LOSS = "stop_loss"
40
41
  STOP_LOSS_LIMIT = "stop_loss_limit"
42
+ # conditional orders
43
+ # TODO handle them
44
+ CONDITIONAL_MARKET = "stop_market"
45
+ CONDITIONAL_LIMIT = "stop_limit"
46
+
41
47
  TAKE_PROFIT = "take_profit"
42
48
  TAKE_PROFIT_LIMIT = "take_profit_limit"
43
49
  TRAILING_STOP = "trailing_stop"
@@ -319,6 +325,7 @@ class ExchangeConstantsOrderColumns(enum.Enum):
319
325
  STOP_PRICE = "stopPrice"
320
326
  TRIGGER_ABOVE = "triggerAbove"
321
327
  TAG = "tag"
328
+ SELF_MANAGED = "self-managed"
322
329
  ENTRIES = "entries"
323
330
 
324
331
 
@@ -526,3 +533,15 @@ class TradingSignalOrdersActions(enum.Enum):
526
533
  ADD_TO_GROUP = "add_to_group"
527
534
  EDIT = "edit"
528
535
  CANCEL = "cancel"
536
+
537
+
538
+ class StoredOrdersAttr(enum.Enum):
539
+ GROUP = "gr"
540
+ GROUP_ID = "gi"
541
+ GROUP_TYPE = "gt"
542
+ CHAINED_ORDERS = "co"
543
+ EXCHANGE_CREATION_PARAMS = "ecp"
544
+ TRADER_CREATION_KWARGS = "tck"
545
+ SHARED_SIGNAL_ORDER_ID = "ssoi"
546
+ HAS_BEEN_BUNDLED = "hbb"
547
+ ENTRIES = "en"
@@ -200,6 +200,12 @@ class MissingPriceDataError(Exception):
200
200
  """
201
201
 
202
202
 
203
+ class PendingPriceDataError(Exception):
204
+ """
205
+ Raised when a price info is waiting to be updated
206
+ """
207
+
208
+
203
209
  class UnreachableExchange(Exception):
204
210
  """
205
211
  Raised when an exchange cant be reached (likely when it's offline)
@@ -69,6 +69,9 @@ from octobot_trading.exchanges.util cimport (
69
69
  get_exchange_type,
70
70
  get_default_exchange_type,
71
71
  get_supported_exchange_types,
72
+ update_raw_order_from_raw_trade,
73
+ is_missing_trading_fees,
74
+ apply_trades_fees,
72
75
  get_exchange_class_from_name,
73
76
  )
74
77
 
@@ -125,6 +128,9 @@ __all__ = [
125
128
  "get_exchange_type",
126
129
  "get_default_exchange_type",
127
130
  "get_supported_exchange_types",
131
+ "update_raw_order_from_raw_trade",
132
+ "is_missing_trading_fees",
133
+ "apply_trades_fees",
128
134
  "get_exchange_class_from_name",
129
135
  "DefaultWebSocketExchange",
130
136
  "DefaultRestExchange",
@@ -72,6 +72,9 @@ from octobot_trading.exchanges.util import (
72
72
  get_exchange_type,
73
73
  get_default_exchange_type,
74
74
  get_supported_exchange_types,
75
+ update_raw_order_from_raw_trade,
76
+ is_missing_trading_fees,
77
+ apply_trades_fees,
75
78
  get_exchange_class_from_name,
76
79
  force_disable_web_socket,
77
80
  check_web_socket_config,
@@ -143,6 +146,9 @@ __all__ = [
143
146
  "get_exchange_type",
144
147
  "get_default_exchange_type",
145
148
  "get_supported_exchange_types",
149
+ "update_raw_order_from_raw_trade",
150
+ "is_missing_trading_fees",
151
+ "apply_trades_fees",
146
152
  "get_exchange_class_from_name",
147
153
  "AbstractExchange",
148
154
  "is_exchange_managed_by_websocket",
@@ -298,7 +298,7 @@ class AbstractExchange(util.Initializable):
298
298
  async def create_order(self, order_type: enums.TraderOrderType, symbol: str, quantity: decimal.Decimal,
299
299
  price: decimal.Decimal = None, stop_price: decimal.Decimal = None,
300
300
  side: enums.TradeOrderSide = None, current_price: decimal.Decimal = None,
301
- params: dict = None) \
301
+ reduce_only: bool = False, params: dict = None) \
302
302
  -> typing.Optional[dict]:
303
303
  """
304
304
  Create a order on the exchange
@@ -25,7 +25,6 @@ cdef class ExchangeConfig(util.Initializable):
25
25
 
26
26
  cdef public list traded_symbol_pairs
27
27
  cdef public list traded_symbols
28
- cdef public list all_config_symbol_pairs
29
28
  cdef public list watched_pairs
30
29
  cdef public list available_required_time_frames
31
30
  cdef public list traded_time_frames
@@ -45,9 +45,6 @@ class ExchangeConfig(util.Initializable):
45
45
  # Same as traded_symbol_pairs but with parsed symbols
46
46
  self.traded_symbols = []
47
47
 
48
- # list of exchange supported pairs from self.config (used to initialize evaluators and more)
49
- self.all_config_symbol_pairs = []
50
-
51
48
  # list of exchange supported pairs on which we want to collect data through updaters or websocket
52
49
  self.watched_pairs = []
53
50
 
@@ -172,7 +169,6 @@ class ExchangeConfig(util.Initializable):
172
169
  octobot_commons.symbols.parse_symbol(symbol)
173
170
  for symbol in traded_symbol_pairs_set
174
171
  ]
175
- self.all_config_symbol_pairs = list(existing_pairs)
176
172
 
177
173
  # only add self.traded_symbol_pairs to watched pairs as not every existing_pairs are being collected
178
174
  self.watched_pairs = copy.deepcopy(self.traded_symbol_pairs)
@@ -174,8 +174,6 @@ class CCXTAdapter(adapters.AbstractAdapter):
174
174
 
175
175
  def parse_trades(self, fixed, **kwargs):
176
176
  # CCXT standard trades parsing logic
177
- for trade in fixed:
178
- trade.pop(ecoc.INFO.value, None)
179
177
  return fixed
180
178
 
181
179
  def fix_position(self, raw, **kwargs):
@@ -321,14 +321,15 @@ class CCXTConnector(abstract_exchange.AbstractExchange):
321
321
 
322
322
  async def get_closed_orders(self, symbol: str = None, since: int = None,
323
323
  limit: int = None, **kwargs: dict) -> list:
324
- if self.client.has['fetchClosedOrders']:
324
+ try:
325
325
  with self.error_describer():
326
326
  return self.adapter.adapt_orders(
327
327
  await self.client.fetch_closed_orders(symbol=symbol, since=since, limit=limit, params=kwargs),
328
328
  symbol=symbol
329
329
  )
330
- else:
331
- raise octobot_trading.errors.NotSupported("This exchange doesn't support fetchClosedOrders")
330
+ except ccxt.NotSupported as e:
331
+ # fetch_closed_orders is not supported
332
+ raise octobot_trading.errors.NotSupported from e
332
333
 
333
334
  async def get_my_recent_trades(self, symbol: str = None, since: int = None,
334
335
  limit: int = None, **kwargs: dict) -> list:
@@ -373,9 +374,46 @@ class CCXTConnector(abstract_exchange.AbstractExchange):
373
374
  )
374
375
 
375
376
  async def create_market_stop_loss_order(self, symbol, quantity, price, side, current_price, params=None) -> dict:
377
+ if self.client.has.get("createStopMarketOrder"):
378
+ try:
379
+ return self.adapter.adapt_order(
380
+ await self.client.createStopMarketOrder(
381
+ symbol,
382
+ side=side,
383
+ amount=quantity,
384
+ stopPrice=price,
385
+ params=params,
386
+ )
387
+ )
388
+ except ccxt.OrderImmediatelyFillable:
389
+ # make sure stop always stops
390
+ created_order = await self.exchange_manager.exchange.create_order(
391
+ order_type=(enums.TraderOrderType.BUY_MARKET
392
+ if side == enums.TradeOrderSide.BUY.value
393
+ else enums.TraderOrderType.SELL_MARKET),
394
+ symbol=symbol,
395
+ quantity=decimal.Decimal(str(quantity)),
396
+ price=decimal.Decimal(str(price)),
397
+ current_price=decimal.Decimal(str(current_price))
398
+ )
399
+ created_order[enums.ExchangeConstantsOrderColumns.TYPE.value] = (
400
+ enums.TraderOrderType.STOP_LOSS.value
401
+ )
402
+ return created_order
376
403
  raise NotImplementedError("create_market_stop_loss_order is not implemented")
377
404
 
378
- async def create_limit_stop_loss_order(self, symbol, quantity, price=None, side=None, params=None) -> dict:
405
+ async def create_limit_stop_loss_order(self, symbol, quantity, price, stop_price, side, params=None) -> dict:
406
+ if self.client.has.get("createStopLimitOrder"):
407
+ return self.adapter.adapt_order(
408
+ await self.client.create_stop_limit_order(
409
+ symbol,
410
+ side=side,
411
+ amount=quantity,
412
+ price=price,
413
+ stopPrice=stop_price,
414
+ params=params,
415
+ )
416
+ )
379
417
  raise NotImplementedError("create_limit_stop_loss_order is not implemented")
380
418
 
381
419
  async def create_market_take_profit_order(self, symbol, quantity, price=None, side=None, params=None) -> dict:
@@ -830,7 +830,7 @@ class CCXTWebsocketConnector(abstract_websocket_exchange.AbstractWebsocketExchan
830
830
  f"previous candle time: {previous_candle_time} " \
831
831
  f"({subsequent_unordered_candles} unordered candles in a row)."
832
832
  if subsequent_unordered_candles == self.MAX_ALLOWED_SUBSEQUENT_UNORDERED_CANDLES:
833
- self.logger.error(error_message)
833
+ self.logger.warning(error_message)
834
834
  else:
835
835
  self.logger.debug(error_message)
836
836
  if candle is last_candle:
@@ -297,7 +297,7 @@ class ExchangeManager(util.Initializable):
297
297
  "trading_modes": str([tm.get_name() for tm in self.trading_modes]),
298
298
  "traded_time_frames": str(self.exchange_config.traded_time_frames),
299
299
  "watched_pairs": str(self.exchange_config.watched_pairs),
300
- "all_config_symbol_pairs": str(self.exchange_config.all_config_symbol_pairs),
300
+ "traded_symbol_pairs": str(self.exchange_config.traded_symbol_pairs),
301
301
  }
302
302
 
303
303
  def __str__(self):
@@ -26,8 +26,6 @@ class ExchangeConfiguration:
26
26
  self.id = exchange_manager.id
27
27
  self.matrix_id = matrix_id
28
28
  # use only enabled currencies
29
- # use exchange_manager.exchange_config.all_config_symbol_pairs to get all pairs regardless of whether they
30
- # are activated in config
31
29
  self.symbols = exchange_manager.exchange_config.traded_symbol_pairs
32
30
  self.symbols_by_crypto_currencies = exchange_manager.exchange_config.traded_cryptocurrencies
33
31
  self.real_time_time_frames = exchange_manager.exchange_config.real_time_time_frames
@@ -235,13 +235,14 @@ class Trader(util.Initializable):
235
235
  order_params = self.exchange_manager.exchange.get_order_additional_params(new_order)
236
236
  order_params.update(new_order.exchange_creation_params)
237
237
  order_params.update(params)
238
- created_order = await self.exchange_manager.exchange.create_order(new_order.order_type,
239
- new_order.symbol,
240
- new_order.origin_quantity,
241
- new_order.origin_price,
242
- new_order.origin_stop_price,
243
- new_order.side,
244
- new_order.created_last_price,
238
+ created_order = await self.exchange_manager.exchange.create_order(order_type=new_order.order_type,
239
+ symbol=new_order.symbol,
240
+ quantity=new_order.origin_quantity,
241
+ price=new_order.origin_price,
242
+ stop_price=new_order.origin_stop_price,
243
+ side=new_order.side,
244
+ current_price=new_order.created_last_price,
245
+ reduce_only=new_order.reduce_only,
245
246
  params=order_params)
246
247
  if created_order is None:
247
248
  return None