fix: aligner les candles du chart avec la période du backtest
Bug: les markers BUY/SELL du chart utilisaient les timestamps des trades du backtest mais les candles étaient fetchées séparément (500 candles récentes), causant un désalignement visuel. - Backend: /backtest retourne désormais les candles exactes du DataFrame analysé - Frontend: Backtest.tsx utilise result.candles directement (suppression du fetchCandles séparé) - Ajout: sérialisation reason/OB/LL sur les trades, overlays OB/LL bornés dans le temps, trade reasons expandables, filtre HTF, badge tendance HTF Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -26,6 +26,19 @@ class LiquidityLevel:
|
||||
swept: bool = False # True si le prix a dépassé ce niveau
|
||||
|
||||
|
||||
@dataclass
|
||||
class TradeReason:
|
||||
"""Explication structurée de pourquoi un signal a été généré."""
|
||||
summary: str # "EQH sweep at 1.08542 → Bullish OB [1.082 - 1.0835]"
|
||||
swept_level_price: Optional[float] = None
|
||||
swept_level_direction: Optional[str] = None # "high" | "low"
|
||||
ob_direction: Optional[str] = None # "bullish" | "bearish"
|
||||
ob_top: Optional[float] = None
|
||||
ob_bottom: Optional[float] = None
|
||||
ob_origin_time: Optional[str] = None
|
||||
filters_applied: list[str] = field(default_factory=list)
|
||||
|
||||
|
||||
@dataclass
|
||||
class TradeSignal:
|
||||
"""Signal de trading généré par la stratégie."""
|
||||
@@ -37,6 +50,7 @@ class TradeSignal:
|
||||
time: pd.Timestamp
|
||||
order_block: Optional[OrderBlockZone] = None
|
||||
liquidity_level: Optional[LiquidityLevel] = None
|
||||
reason: Optional[TradeReason] = None
|
||||
|
||||
|
||||
@dataclass
|
||||
|
||||
Reference in New Issue
Block a user