"""ICT strategy parameter presets.""" from dataclasses import dataclass, field from typing import Dict @dataclass class ICTStrategyParams: """Parameters for the ICT SMC strategy.""" # Swing detection swing_length: int = 50 # Fair Value Gap fvg_join_consecutive: bool = False # Order Blocks ob_close_mitigation: bool = False # Liquidity liquidity_range_percent: float = 0.01 # Confluence min_confluence_score: int = 3 # Timeframes htf: str = "4h" mtf: str = "1h" ltf: str = "15m" # Exit trailing_stop_activation_pct: float = 0.01 # activate after 1% profit trailing_stop_distance_pct: float = 0.005 # trail by 0.5% time_exit_candles: int = 48 # exit after N candles # Pre-built presets STRATEGY_PRESETS: Dict[str, ICTStrategyParams] = { "default": ICTStrategyParams(), "aggressive": ICTStrategyParams( min_confluence_score=2, swing_length=30, trailing_stop_activation_pct=0.005, ), "conservative": ICTStrategyParams( min_confluence_score=4, swing_length=70, trailing_stop_activation_pct=0.02, ), }