investing-algorithm-framework 3.4.0__tar.gz → 3.4.1__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.
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/PKG-INFO +1 -1
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/trade/trade.py +13 -4
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/order_service/order_backtest_service.py +12 -2
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/pyproject.toml +1 -1
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/LICENSE +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/README.md +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/algorithm.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/app.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/stateless/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/stateless/action_handlers/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/stateless/action_handlers/action_handler_strategy.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/stateless/action_handlers/check_online_handler.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/stateless/action_handlers/run_strategy_handler.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/stateless/exception_handler.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/strategy.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/task.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/controllers/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/controllers/orders.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/controllers/portfolio.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/controllers/positions.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/create_app.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/error_handler.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/responses.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/run_strategies.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/schemas/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/schemas/order.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/schemas/portfolio.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/schemas/position.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/app/web/setup_cors.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/create_app.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/dependency_container.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/config.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/constants.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/data_structures.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/decimal_parsing.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/exceptions.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/app_mode.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/backtesting/backtest_position.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/backtesting/backtest_report.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/backtesting/backtest_reports_evaluation.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/base_model.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/market/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/market/market_credential.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/order/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/order/order.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/order/order_fee.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/order/order_side.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/order/order_status.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/order/order_type.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/portfolio/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/portfolio/portfolio.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/portfolio/portfolio_configuration.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/position/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/position/position.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/strategy_profile.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/time_frame.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/time_interval.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/time_unit.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/trade/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/trade/trade_status.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/trading_data_types.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/models/trading_time_frame.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/services/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/services/market_data_sources.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/services/market_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/services/portfolios/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/services/rounding_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/singleton.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/stateless_actions.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/strategy.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/utils/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/utils/backtesting.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/utils/csv.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/utils/random.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/utils/signatures.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/utils/stoppable_thread.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/domain/utils/synchronized.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/database/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/database/sql_alchemy.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/decimal_parser.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/market_data_sources/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/market_data_sources/ccxt.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/market_data_sources/csv.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/model_extension.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/order/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/order/order.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/order/order_fee.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/portfolio/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/portfolio/portfolio.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/position/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/position/position.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/repositories/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/repositories/order_fee_repository.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/repositories/order_repository.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/repositories/portfolio_repository.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/repositories/portfolio_snapshot_repository.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/repositories/position_repository.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/repositories/position_snapshot_repository.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/repositories/repository.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/services/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/services/market_service/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/services/market_service/ccxt_market_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/services/performance_service/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/services/performance_service/backtest_performance_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/infrastructure/services/performance_service/performance_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/backtesting/backtest_report_writer_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/backtesting/backtest_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/configuration_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/market_data_source_service/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/market_data_source_service/backtest_market_data_source_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/market_data_source_service/market_data_source_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/order_service/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/order_service/order_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/portfolios/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/portfolios/backtest_portfolio_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/portfolios/portfolio_configuration_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/portfolios/portfolio_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/portfolios/portfolio_snapshot_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/position_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/position_snapshot_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/repository_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/strategy_orchestrator_service.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/trade_service/__init__.py +0 -0
- {investing_algorithm_framework-3.4.0 → investing_algorithm_framework-3.4.1}/investing_algorithm_framework/services/trade_service/trade_service.py +0 -0
|
@@ -209,12 +209,21 @@ class Trade(BaseModel):
|
|
|
209
209
|
# If dataframes are provided, we use the dataframe to calculate
|
|
210
210
|
# the stop loss price
|
|
211
211
|
if ohlcv_df is not None:
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
212
|
+
column_type = ohlcv_df['Datetime'].dtype
|
|
213
|
+
|
|
214
|
+
if isinstance(column_type, pl.Datetime):
|
|
215
|
+
filtered_df = ohlcv_df.filter(
|
|
216
|
+
pl.col('Datetime') >= self.opened_at
|
|
217
|
+
)
|
|
218
|
+
else:
|
|
219
|
+
filtered_df = ohlcv_df.filter(
|
|
220
|
+
pl.col('Datetime') >= self.opened_at.strftime(
|
|
221
|
+
DATETIME_FORMAT
|
|
222
|
+
)
|
|
215
223
|
)
|
|
216
|
-
|
|
224
|
+
|
|
217
225
|
prices = filtered_df['Close'].to_numpy()
|
|
226
|
+
|
|
218
227
|
highest_price = max(prices)
|
|
219
228
|
stop_loss_price = highest_price * (1 - stop_loss_percentage / 100)
|
|
220
229
|
return current_price <= stop_loss_price
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
|
|
3
3
|
import pandas as pd
|
|
4
|
+
import polars as pl
|
|
4
5
|
|
|
5
6
|
from investing_algorithm_framework.domain import BACKTESTING_INDEX_DATETIME, \
|
|
6
7
|
OrderStatus, BACKTESTING_PENDING_ORDER_CHECK_INTERVAL, \
|
|
@@ -160,9 +161,18 @@ class OrderBacktestService(OrderService):
|
|
|
160
161
|
created_at = order.get_created_at()
|
|
161
162
|
order_side = order.get_order_side()
|
|
162
163
|
order_price = order.get_price()
|
|
164
|
+
column_type = ohlcv_data_frame['Datetime'].dtype
|
|
163
165
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
+
if isinstance(column_type, pl.Datetime):
|
|
167
|
+
ohlcv_data_after_order = ohlcv_data_frame.filter(
|
|
168
|
+
pl.col('Datetime') >= created_at
|
|
169
|
+
)
|
|
170
|
+
else:
|
|
171
|
+
ohlcv_data_after_order = ohlcv_data_frame.filter(
|
|
172
|
+
pl.col('Datetime') >= created_at.strftime(
|
|
173
|
+
self.configuration_service.config["DATETIME_FORMAT"]
|
|
174
|
+
)
|
|
175
|
+
)
|
|
166
176
|
|
|
167
177
|
# Check if the order execution conditions are met
|
|
168
178
|
if OrderSide.BUY.equals(order_side):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|