"""
OrbiQuant IA - ML Models
========================

Machine Learning models for trading predictions.
Migrated from TradingAgent project.

Models:
- AMDDetector: Market phase detection (Accumulation/Manipulation/Distribution)
- AMDDetectorML: ML-based AMD phase detector (trainable)
- ICTSMCDetector: Smart Money Concepts (Order Blocks, FVG, Liquidity)
- RangePredictor: Price range predictions (legacy)
- RangePredictorV2: Multi-timeframe range predictor
- MovementMagnitudePredictor: Predicts USD movement magnitude for asymmetric opportunities
- TPSLClassifier: Take Profit / Stop Loss probability
- StrategyEnsemble: Combined multi-model analysis
"""

from .range_predictor import RangePredictor, RangePrediction, RangeModelMetrics
from .range_predictor_v2 import RangePredictorV2, RangePredictionV2, RangeMetricsV2
from .movement_magnitude_predictor import (
    MovementMagnitudePredictor,
    MovementPrediction,
    MovementMetrics,
    calculate_standard_variance
)
from .tp_sl_classifier import TPSLClassifier
from .signal_generator import SignalGenerator
from .amd_detector import AMDDetector, AMDPhase
from .amd_detector_ml import AMDDetectorML, AMDPrediction, AMDMetrics, AMDFeatureExtractor
from .ict_smc_detector import (
    ICTSMCDetector,
    ICTAnalysis,
    OrderBlock,
    FairValueGap,
    LiquiditySweep,
    StructureBreak,
    MarketBias
)
from .strategy_ensemble import (
    StrategyEnsemble,
    EnsembleSignal,
    ModelSignal,
    TradeAction,
    SignalStrength
)

__all__ = [
    # Range Predictor (legacy)
    'RangePredictor',
    'RangePrediction',
    'RangeModelMetrics',
    # Range Predictor V2 (multi-TF)
    'RangePredictorV2',
    'RangePredictionV2',
    'RangeMetricsV2',
    # Movement Magnitude Predictor (USD-based asymmetry)
    'MovementMagnitudePredictor',
    'MovementPrediction',
    'MovementMetrics',
    'calculate_standard_variance',
    # TP/SL Classifier
    'TPSLClassifier',
    # Signal Generator
    'SignalGenerator',
    # AMD Detector (rule-based)
    'AMDDetector',
    'AMDPhase',
    # AMD Detector ML (trainable)
    'AMDDetectorML',
    'AMDPrediction',
    'AMDMetrics',
    'AMDFeatureExtractor',
    # ICT/SMC Detector
    'ICTSMCDetector',
    'ICTAnalysis',
    'OrderBlock',
    'FairValueGap',
    'LiquiditySweep',
    'StructureBreak',
    'MarketBias',
    # Strategy Ensemble
    'StrategyEnsemble',
    'EnsembleSignal',
    'ModelSignal',
    'TradeAction',
    'SignalStrength',
]
