forexsmartbot 3.2.2__tar.gz → 3.2.4__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.
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/PKG-INFO +27 -3
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/README.md +5 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/__init__.py +30 -17
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/backtest_dialog.py +334 -134
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/tradingview_chart.py +4 -1
- forexsmartbot-3.2.4/forexsmartbot/utils/backtest_utils.py +12 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/utils/gpu_utils.py +45 -35
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot.egg-info/PKG-INFO +27 -3
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot.egg-info/SOURCES.txt +2 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot.egg-info/requires.txt +25 -2
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/pyproject.toml +26 -3
- forexsmartbot-3.2.4/tests/test_backtest_dialog_ui.py +11 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/LICENSE +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/brokers/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/brokers/ib_tws_broker.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/brokers/mt4_broker.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/brokers/paper_broker.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/brokers/rest_broker.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/alpha_vantage_provider.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/config.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/csv_provider.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/dummy_provider.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/mt4_provider.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/multi_provider.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/oanda_provider.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/stooq_provider.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/twelve_data_provider.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/adapters/data/yfinance_provider.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/chart_patterns.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/correlation_matrix.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/economic_calendar.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/enhanced_chart.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/live_metrics.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/market_depth.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/performance_attribution.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/portfolio_analytics.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/risk_analytics.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/strategy_comparison.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/analytics/trade_journal.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/brokers/mt4_bridge.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/builder/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/builder/code_generator.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/builder/strategy_builder.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/builder/strategy_template.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/api_client.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/api_server.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/cloud_sync.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/error_handler.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/mobile_api.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/remote_monitor.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/cloud/security.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/backtester.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/config.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/interfaces.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/paper_broker.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/portfolio.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/risk.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/risk_engine.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/strategy.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/core/trade_manager.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/gui/main_window.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/gui/theme.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/marketplace/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/marketplace/marketplace.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/marketplace/strategy_rating.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/monitoring/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/monitoring/health_check.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/monitoring/performance_tracker.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/monitoring/strategy_monitor.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/adaptive_parameters.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/genetic_optimizer.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/hyperparameter_optimizer.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/monte_carlo.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/multi_objective_optimizer.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/parameter_sensitivity.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/optimization/walk_forward.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/backtest.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/calculation_engine.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/controller.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/data_streaming.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/enhanced_backtest.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/fast_trading_controller.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/gpu_backtest.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/language_manager.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/notification_service.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/persistence.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/services/startup_manager.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/adaptive_trend_flow.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/breakout_atr.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/ensemble_ml_strategy.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/fear_index.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/lstm_strategy.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/mean_reversion.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/ml_adaptive_supertrend.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/momentum_breakout.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/multi_timeframe_strategy.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/news_trading.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/rl_strategy.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/rsi_reversion.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/scalping_ma.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/sma_crossover.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/svm_strategy.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/strategies/transformer_strategy.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/testing/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/testing/ci_cd_pipeline.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/testing/paper_account_tester.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/testing/strategy_sandbox.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/analytics_dialog.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/analytics_widget.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/charts.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/cloud_dialog.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/enhanced_charts.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/enhanced_main_window.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/export_dialog.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/main_window.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/marketplace_dialog.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/monitoring_dialog.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/monitoring_widget.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/optimization_dialog.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/settings_dialog.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/simple_chart.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/strategy_builder_dialog.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/ui/theme.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/utils/__init__.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/utils/gpu_numpy.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot/utils/native_indicators.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot.egg-info/dependency_links.txt +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot.egg-info/entry_points.txt +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/forexsmartbot.egg-info/top_level.txt +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/setup.cfg +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/tests/test_config.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/tests/test_live_metrics.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/tests/test_multi_timeframe_strategy.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/tests/test_native_indicators.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/tests/test_risk.py +0 -0
- {forexsmartbot-3.2.2 → forexsmartbot-3.2.4}/tests/test_strategies.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: forexsmartbot
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.4
|
|
4
4
|
Summary: Professional forex trading bot with advanced risk management and strategy plugins
|
|
5
5
|
Author-email: VoxHash <contact@voxhash.dev>
|
|
6
6
|
License: MIT
|
|
@@ -26,11 +26,30 @@ Requires-Dist: pyzmq>=26.0.0
|
|
|
26
26
|
Requires-Dist: matplotlib>=3.9.0
|
|
27
27
|
Requires-Dist: darkdetect>=0.8.0
|
|
28
28
|
Requires-Dist: scikit-learn>=1.3.0
|
|
29
|
-
Requires-Dist: mplfinance>=0.12.
|
|
30
|
-
Requires-Dist: TA-Lib>=0.6.7
|
|
29
|
+
Requires-Dist: mplfinance>=0.12.10b0
|
|
31
30
|
Requires-Dist: requests>=2.31.0
|
|
32
31
|
Requires-Dist: ib-insync>=0.9.86
|
|
32
|
+
Requires-Dist: scipy>=1.11.0
|
|
33
|
+
Requires-Dist: optuna>=3.4.0
|
|
34
|
+
Requires-Dist: deap>=1.4.1
|
|
33
35
|
Requires-Dist: win10toast>=0.9; sys_platform == "win32"
|
|
36
|
+
Provides-Extra: talib
|
|
37
|
+
Requires-Dist: TA-Lib>=0.6.7; extra == "talib"
|
|
38
|
+
Provides-Extra: ml
|
|
39
|
+
Requires-Dist: tensorflow>=2.15.0; extra == "ml"
|
|
40
|
+
Requires-Dist: torch>=2.1.0; extra == "ml"
|
|
41
|
+
Requires-Dist: transformers>=4.35.0; extra == "ml"
|
|
42
|
+
Requires-Dist: gymnasium>=0.29.0; extra == "ml"
|
|
43
|
+
Requires-Dist: stable-baselines3>=2.2.0; extra == "ml"
|
|
44
|
+
Requires-Dist: numba>=0.59.0; extra == "ml"
|
|
45
|
+
Provides-Extra: remote
|
|
46
|
+
Requires-Dist: flask>=3.0.0; extra == "remote"
|
|
47
|
+
Requires-Dist: flask-cors>=4.0.0; extra == "remote"
|
|
48
|
+
Requires-Dist: flask-limiter>=3.5.0; extra == "remote"
|
|
49
|
+
Requires-Dist: websockets>=12.0; extra == "remote"
|
|
50
|
+
Requires-Dist: pyjwt>=2.8.0; extra == "remote"
|
|
51
|
+
Provides-Extra: full
|
|
52
|
+
Requires-Dist: forexsmartbot[ml,remote,talib]; extra == "full"
|
|
34
53
|
Provides-Extra: dev
|
|
35
54
|
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
36
55
|
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
@@ -111,7 +130,12 @@ pip install -r requirements.txt
|
|
|
111
130
|
python app.py
|
|
112
131
|
```
|
|
113
132
|
|
|
133
|
+
Optional TA-Lib / deep-learning / remote API stack:
|
|
114
134
|
|
|
135
|
+
```bash
|
|
136
|
+
pip install -r requirements-optional.txt
|
|
137
|
+
# or: pip install "forexsmartbot[talib,ml,remote]"
|
|
138
|
+
```
|
|
115
139
|
|
|
116
140
|
### With GPU Acceleration (Optional)
|
|
117
141
|
|
|
@@ -69,7 +69,12 @@ pip install -r requirements.txt
|
|
|
69
69
|
python app.py
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
+
Optional TA-Lib / deep-learning / remote API stack:
|
|
72
73
|
|
|
74
|
+
```bash
|
|
75
|
+
pip install -r requirements-optional.txt
|
|
76
|
+
# or: pip install "forexsmartbot[talib,ml,remote]"
|
|
77
|
+
```
|
|
73
78
|
|
|
74
79
|
### With GPU Acceleration (Optional)
|
|
75
80
|
|
|
@@ -12,15 +12,26 @@ from .news_trading import NewsTrading
|
|
|
12
12
|
from .fear_index import FearIndexStrategy
|
|
13
13
|
|
|
14
14
|
# New ML Strategies
|
|
15
|
-
# Use broad exception handling to catch DLL loading errors on Windows
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
# Use broad exception handling to catch DLL loading errors on Windows.
|
|
16
|
+
# FSB_SKIP_HEAVY_ML skips TensorFlow/torch-backed strategies (CI/CPU runners).
|
|
17
|
+
import os as _os
|
|
18
|
+
|
|
19
|
+
_SKIP_HEAVY_ML = _os.environ.get("FSB_SKIP_HEAVY_ML", "").strip().lower() in (
|
|
20
|
+
"1",
|
|
21
|
+
"true",
|
|
22
|
+
"yes",
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
LSTM_AVAILABLE = False
|
|
26
|
+
LSTMStrategy = None
|
|
27
|
+
if not _SKIP_HEAVY_ML:
|
|
28
|
+
try:
|
|
29
|
+
from .lstm_strategy import LSTMStrategy
|
|
30
|
+
LSTM_AVAILABLE = True
|
|
31
|
+
except (ImportError, OSError, RuntimeError) as e:
|
|
32
|
+
LSTMStrategy = None
|
|
33
|
+
import warnings
|
|
34
|
+
warnings.warn(f"LSTM strategy not available: {e}")
|
|
24
35
|
|
|
25
36
|
try:
|
|
26
37
|
from .svm_strategy import SVMStrategy
|
|
@@ -40,14 +51,16 @@ except (ImportError, OSError, RuntimeError) as e:
|
|
|
40
51
|
import warnings
|
|
41
52
|
warnings.warn(f"Ensemble ML strategy not available: {e}")
|
|
42
53
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
TRANSFORMER_AVAILABLE = False
|
|
55
|
+
TransformerStrategy = None
|
|
56
|
+
if not _SKIP_HEAVY_ML:
|
|
57
|
+
try:
|
|
58
|
+
from .transformer_strategy import TransformerStrategy
|
|
59
|
+
TRANSFORMER_AVAILABLE = True
|
|
60
|
+
except (ImportError, OSError, RuntimeError) as e:
|
|
61
|
+
TransformerStrategy = None
|
|
62
|
+
import warnings
|
|
63
|
+
warnings.warn(f"Transformer strategy not available: {e}")
|
|
51
64
|
|
|
52
65
|
try:
|
|
53
66
|
from .rl_strategy import RLStrategy
|