Quick Reference - v3.1.0 Features
🎯 Strategy Selection Guide
When to Use Each Strategy Type
Strategy Type
Best For
Requirements
SMA_Crossover
Trend following, beginners
None
RSI_Reversion
Range-bound markets
None
BreakoutATR
Volatile markets, breakouts
None
LSTM_Strategy
Time series prediction
TensorFlow, 200+ samples
SVM_Strategy
Classification-based trading
scikit-learn, 100+ samples
Ensemble_ML
Robust predictions
scikit-learn, 100+ samples
Transformer
Pattern recognition
Transformers, 200+ samples
RL_Strategy
Autonomous learning
Gymnasium, Stable-Baselines3, 500+ samples
Multi_Timeframe
Multi-timeframe analysis
Data provider for multiple timeframes
🔧 Optimization Tools Quick Reference
from forexsmartbot .optimization import GeneticOptimizer
optimizer = GeneticOptimizer (
param_bounds = {'param' : (min , max )},
population_size = 50 ,
generations = 30
)
best_params , fitness = optimizer .optimize (fitness_function )
Hyperparameter Optimization
from forexsmartbot .optimization import HyperparameterOptimizer
optimizer = HyperparameterOptimizer (
param_space = {'param' : {'type' : 'float' , 'low' : 0 , 'high' : 1 }},
n_trials = 100
)
best_params , value = optimizer .optimize (objective_function )
from forexsmartbot .optimization import WalkForwardAnalyzer
analyzer = WalkForwardAnalyzer (
train_period = 252 ,
test_period = 63 ,
step_size = 21
)
results = analyzer .analyze (data , strategy_factory , optimize , params )
from forexsmartbot .optimization import MonteCarloSimulator
simulator = MonteCarloSimulator (n_simulations = 1000 , confidence_level = 0.95 )
results = simulator .simulate (returns , initial_balance = 10000.0 )
from forexsmartbot .optimization import ParameterSensitivityAnalyzer
analyzer = ParameterSensitivityAnalyzer (n_points = 10 )
results = analyzer .analyze (strategy_factory , base_params , ranges , performance )
📊 Monitoring Quick Reference
from forexsmartbot .monitoring import StrategyMonitor
monitor = StrategyMonitor ()
monitor .register_strategy ("MyStrategy" )
monitor .record_signal ("MyStrategy" , execution_time = 0.1 )
health = monitor .get_health ("MyStrategy" )
from forexsmartbot .monitoring import PerformanceTracker
tracker = PerformanceTracker ()
tracker .record_trade ("MyStrategy" , trade_data )
metrics = tracker .calculate_metrics ("MyStrategy" )
from forexsmartbot .monitoring import HealthChecker
checker = HealthChecker (monitor )
health = checker .check ("MyStrategy" )
🏗️ Strategy Builder Quick Reference
from forexsmartbot .builder import StrategyTemplate
builder = StrategyTemplate .get_template ("SMA Crossover" )
from forexsmartbot .builder import StrategyBuilder , CodeGenerator
from forexsmartbot .builder .strategy_builder import ComponentType
builder = StrategyBuilder ()
indicator_id = builder .add_component (ComponentType .INDICATOR , "SMA" , {"period" : 20 })
signal_id = builder .add_component (ComponentType .SIGNAL , "Signal" , {})
builder .connect_components (indicator_id , signal_id )
generator = CodeGenerator (builder )
code = generator .generate_code ()
🛒 Marketplace Quick Reference
from forexsmartbot .marketplace import StrategyMarketplace , StrategyListing
marketplace = StrategyMarketplace ()
listing = StrategyListing (...)
marketplace .add_listing (listing )
results = marketplace .search_listings (query = "SMA" , min_rating = 4.0 )
Pattern 1: Optimize and Deploy
# 1. Optimize
optimizer = GeneticOptimizer (param_bounds )
best_params , _ = optimizer .optimize (fitness )
# 2. Create strategy
strategy = get_strategy ('SMA_Crossover' , ** best_params )
# 3. Monitor
monitor = StrategyMonitor ()
monitor .register_strategy ("OptimizedStrategy" )
Pattern 2: Multi-Strategy Ensemble
strategies = [
get_strategy ('SMA_Crossover' ),
get_strategy ('RSI_Reversion' ),
get_strategy ('Ensemble_ML_Strategy' )
]
# Run all and combine signals
Pattern 3: Risk Assessment
# 1. Run backtest
results = backtest_service .run_backtest (...)
# 2. Monte Carlo simulation
returns = calculate_returns (results )
mc_results = monte_carlo .simulate (returns )
# 3. Check VaR/CVaR
print (f"VaR: { mc_results ['var' ]:.4f} " )
📝 Parameter Ranges (Common Strategies)
fast_period: 10-30
slow_period: 40-80
atr_period: 10-20
rsi_period: 10-20
oversold_level: 20-40
overbought_level: 60-80
lookback_period: 15-30
atr_period: 10-20
atr_multiplier: 1.0-3.0
ML Strategies : Use during development, simpler strategies for production
Optimization : Run overnight or on separate machines
Monitoring : Enable only for production strategies
Multi-Timeframe : Cache data to avoid repeated fetches
Parallel Processing : Use for multiple backtests
Issue
Solution
Import error for ML strategy
Install dependencies: pip install tensorflow torch
Strategy not found
Check list_strategies() for available strategies
Optimization too slow
Reduce population_size or n_trials
Memory issues
Use smaller datasets or simpler strategies
Training fails
Ensure 200+ samples for ML strategies
Strategies : forexsmartbot/strategies/
Optimization : forexsmartbot/optimization/
Monitoring : forexsmartbot/monitoring/
Builder : forexsmartbot/builder/
Marketplace : forexsmartbot/marketplace/
Examples : examples/
Configs : config/
Scripts : scripts/
Start : Use existing strategies (SMA_Crossover, RSI_Reversion)
Optimize : Learn parameter optimization (GeneticOptimizer)
Analyze : Understand sensitivity (ParameterSensitivityAnalyzer)
Validate : Use walk-forward (WalkForwardAnalyzer)
Assess : Run Monte Carlo (MonteCarloSimulator)
Advanced : Try ML strategies (LSTM_Strategy, Ensemble_ML_Strategy)
Build : Create custom strategies (StrategyBuilder)
Monitor : Track performance (StrategyMonitor, PerformanceTracker)
Quick Links: