Noon Barbari
S'inscrire
Parcourir la documentation

Indicateurs

Chaque indicateur connu du moteur de règles, avec ses paramètres et champs de sortie.

Un indicateur est référencé dans un leaf comme `{indicator: <kind>, ...params}`. Chaque type expose un ou plusieurs champs de sortie adressables via `field: <name>` (omets `field` pour prendre le premier). Le multi-timeframe est supporté via `timeframe: '4h'` sur n'importe quel indicateur.

TypeParamètresChamps de sortieUsage typique
emaperiod (>=1)valueFiltre de tendance. `ema20 > ema50` pour un biais haussier.
smaperiod (>=1)valueComme EMA mais sans mémoire de lissage.
rsiperiod (par défaut 14, >=2)value (0–100)Mean reversion. `rsi < 30` long, `rsi > 70` short.
macdfast (12), slow (26), signal (9); fast < slowline, signal, histMomentum. `hist crosses_above 0` comme entrée.
bollingerperiod (20), std_mult (2.0)mid, upper, lowerEnveloppe de volatilité. `close < lower` pour des entrées de rebond.
atrperiod (14, >=2)valueSizing de la distance au stop. `stop = entry - atr14 * 2`.
stochasticperiod (14), smooth_d (3)k, d (les deux 0–100)Croisement des lignes 20 / 80 pour mean reversion.
adxperiod (14)adx, plus_di, minus_di`adx > 25` = en tendance. À combiner avec `plus_di > minus_di` pour un biais haussier.
vwapperiod (20, fenêtre glissante)valueRéférence de juste valeur. `close > vwap` = prix au-dessus de la moyenne.
volume_maperiod (20)valueConfirmation de breakout. `volume > volume_ma * 1.5`.
trendperiod (50), slope_lookback (5)value (-1 / 0 / +1)Filtre de tendance catégoriel. `trend == 1` pour hausse, `== -1` pour baisse.
swinglookback (1)last_high, last_low, prev_high, prev_lowEntrées sur breakout (`close > last_high`) et filtres HH / HL.
s_trendlookback (1)value (-1 / 0 / +1)Régime de tendance style SMC (BOS / CHoCH) — bascule après deux breakouts de swing du même côté.
s_trend_validlookback (1)value (-1 / 0 / +1)Comme s_trend, mais chaque breakout doit être confirmé par la clôture de la bougie suivante.
blackflag_ftsatr_period (14), atr_factor (1.6), fib_lookback (8)trail, extreme, state, fib1, fib2, fib3Variante du SuperTrend avec le True Range modifié de Black Flag et une échelle de pullbacks Fibonacci 38,2 / 50 / 61,8.
super_trendatr_period (10), factor (3.0)trail, stateSuperTrend standard sur `hl2`. `state == 1` régime haussier, `state == -1` régime baissier.
trend_magiccci_period (20), atr_period (5), atr_mult (1.0)trail, state, cciCliquet ATR validé par CCI. Le stop avance dans la direction de la tendance tant que le CCI confirme le régime.
vfilength (130), coef (0.2), v_coef (2.5), signal (5)vfi, signal, histVolume Flow Indicator. Oscillateur — `vfi > 0` accumulation, `< 0` distribution, `hist` pour les signaux de croisement.
market_structureswing_lookback (5)state, bos_signal, choch_signal, pivot_high, pivot_low, last_pivot_high, last_pivot_lowStructure de marché SMC sur les pivots de swing. `state` = régime courant, `bos_signal` / `choch_signal` se déclenchent sur une bougie.
fair_value_gapmin_gap_pct (0.0), expire_bars (0 = jamais)bull_top, bull_bottom, bear_top, bear_bottom, bull_signal, bear_signal, bull_filled, bear_filledDéséquilibre 3 bougies avec suivi de comblement. Utilise `bull_signal` pour entrer à la formation du FVG, `bull_filled` pour suivre la mitigation.
order_blockswing_lookback (5), retest_tolerance_pct (0.1)bull_top, bull_bottom, bear_top, bear_bottom, bull_signal, bear_signal, bull_retest, bear_retest, bull_mitigated, bear_mitigatedDernière bougie de sens inverse avant un BOS. `bull_retest` se déclenche quand le prix revient dans la zone.
equal_highs_lowslookback (10), tolerance_pct (0.05)eqh_level, eql_level, eqh_signal, eql_signal, eqh_swept, eql_sweptDétection de pools de liquidité. `eqh_swept` confirme une chasse aux stops au-dessus des Equal Highs — déclencheur courant de retournement.
prior_period_levels(sans paramètre — calculé à partir du timestamp de la bougie)pdh, pdl, pdo, pdc, pwh, pwl, pwo, pwc, pmh, pml, pmo, pmcNiveaux H/L/O/C du jour, semaine et mois précédents. `close > pdh` pour des filtres de momentum sur cassure du plus-haut du jour précédent.
premium_discount_zonestrailing_lookback (50)trailing_top, trailing_bottom, premium_top, premium_bottom, equilibrium_top, equilibrium_bottom, discount_top, discount_bottom, current_zoneClassification en zones Fibonacci du range glissant. `current_zone == 'discount'` pour un biais long SMC.

Nouveau catalogue d'indicateurs

Les dix indicateurs ajoutés lors des vagues de port Pine et de SMC clean-room. Chaque carte liste description, paramètres et valeurs par défaut, champs de sortie et un snippet YAML à copier-coller.

Black Flag Futures Trading System

blackflag_fts

Variante du SuperTrend par Black Flag. Utilise un True Range modifié et ajoute une échelle de pullbacks Fibonacci en trois marches (38,2 / 50 / 61,8) pour des prises partielles ou des ré-entrées échelonnées dans une tendance en cours.

Paramètres:
atr_period (14), atr_factor (1.6), fib_lookback (8)
Champs:
trail, extreme, state, fib1, fib2, fib3

YAML

leaf:
  lhs: { indicator: blackflag_fts, atr_period: 14, atr_factor: 1.6, field: state }
  op: eq
  rhs: { value: 1 }
  dir: long

SuperTrend

super_trend

Le SuperTrend de manuel — trailing stop sur bandes ATR autour de hl2. `state` ne bascule entre +1 et -1 que sur une clôture au-delà de la bande opposée.

Paramètres:
atr_period (10), factor (3.0)
Champs:
trail, state

YAML

leaf:
  lhs: { indicator: super_trend, atr_period: 10, factor: 3.0, field: state }
  op: eq
  rhs: { value: 1 }
  dir: long

Trend Magic

trend_magic

Trailing stop à cliquet ATR validé par le CCI. Le trail n'avance vers le prix que lorsque le CCI confirme la direction dominante — plus calme que le SuperTrend en range.

Paramètres:
cci_period (20), atr_period (5), atr_mult (1.0)
Champs:
trail, state, cci

YAML

leaf:
  lhs: { bar: close }
  op: gt
  rhs: { indicator: trend_magic, atr_period: 5, atr_mult: 1.0, field: trail }
  dir: long

Volume Flow Indicator

vfi

Le Volume Flow Indicator de Markos Katsanos — un oscillateur lissé et pondéré par le volume qui change de signe en franchissant la ligne zéro quand l'accumulation devient distribution. Combine l'histogramme avec un filtre de tendance pour des entrées confirmées.

Paramètres:
length (130), coef (0.2), v_coef (2.5), signal (5)
Champs:
vfi, signal, hist

YAML

leaf:
  lhs: { indicator: vfi, length: 130, field: hist }
  op: crosses_above
  rhs: { value: 0 }
  dir: long

Structure de marché (BOS / CHoCH)

market_structure

Détecte les pivots et émet un Break of Structure ou un Change of Character à chaque cassure de pivot. Le champ `state` porte le régime courant, ce qui te permet de l'utiliser comme filtre de tendance avec état.

Paramètres:
swing_lookback (5)
Champs:
state, bos_signal, choch_signal, pivot_high, pivot_low, last_pivot_high, last_pivot_low

YAML

leaf:
  lhs: { indicator: market_structure, swing_lookback: 5, field: bos_signal }
  op: eq
  rhs: { value: 1 }
  dir: long

Fair Value Gap (FVG)

fair_value_gap

Déséquilibre sur trois bougies : un écart entre la mèche de la bougie[n-2] et celle de la bougie[n]. Suit la zone jusqu'à ce que le prix la comble ; `bull_signal` se déclenche à la formation, `bull_filled` quand le gap est refermé.

Paramètres:
min_gap_pct (0.0), expire_bars (0 = jamais)
Champs:
bull_top, bull_bottom, bear_top, bear_bottom, bull_signal, bear_signal, bull_filled, bear_filled

YAML

leaf:
  lhs: { indicator: fair_value_gap, min_gap_pct: 0.1, field: bull_signal }
  op: eq
  rhs: { value: 1 }
  dir: long

Order block

order_block

Dernière bougie de couleur opposée avant un Break of Structure. Le bloc reste armé jusqu'à ce que le prix le retest (`bull_retest`) ou le balaye (`bull_mitigated`).

Paramètres:
swing_lookback (5), retest_tolerance_pct (0.1)
Champs:
bull_top, bull_bottom, bear_top, bear_bottom, bull_signal, bear_signal, bull_retest, bear_retest, bull_mitigated, bear_mitigated

YAML

leaf:
  lhs: { indicator: order_block, swing_lookback: 5, field: bull_retest }
  op: eq
  rhs: { value: 1 }
  dir: long

Equal highs / lows

equal_highs_lows

Détecteur de pools de liquidité. Marque un niveau quand des plus-hauts (ou plus-bas) consécutifs se situent dans une tolérance `tolerance_pct` l'un de l'autre. `eqh_swept` se déclenche la bougie où le niveau est cassé — déclencheur classique de retournement sur chasse aux stops.

Paramètres:
lookback (10), tolerance_pct (0.05)
Champs:
eqh_level, eql_level, eqh_signal, eql_signal, eqh_swept, eql_swept

YAML

leaf:
  lhs: { indicator: equal_highs_lows, lookback: 10, field: eqh_swept }
  op: eq
  rhs: { value: 1 }
  dir: short

Niveaux de période précédente (PDH / PDL / PWH / PWL …)

prior_period_levels

Open / high / low / close du jour, de la semaine et du mois précédents. Calculés à partir du timestamp de la bougie — sans paramètre. Utiles pour les trades de cassure de période précédente et de retour à la clôture précédente.

Paramètres:
(aucun)
Champs:
pdh, pdl, pdo, pdc, pwh, pwl, pwo, pwc, pmh, pml, pmo, pmc

YAML

leaf:
  lhs: { bar: close }
  op: gt
  rhs: { indicator: prior_period_levels, field: pdh }
  dir: long

Zones Premium / Discount

premium_discount_zones

Découpe le range glissant en discount (tiers bas), équilibre (milieu) et premium (tiers haut) selon des niveaux Fibonacci. `current_zone` renvoie le nom de la zone courante de la bougie — en SMC strict, les longs ne se prennent qu'en discount.

Paramètres:
trailing_lookback (50)
Champs:
trailing_top, trailing_bottom, premium_top, premium_bottom, equilibrium_top, equilibrium_bottom, discount_top, discount_bottom, current_zone

YAML

leaf:
  lhs: { indicator: premium_discount_zones, trailing_lookback: 50, field: current_zone }
  op: eq
  rhs: { value: 'discount' }
  dir: long

Multi-unités de temps

Ajoute `timeframe: '4h'` à n'importe quelle spec d'indicateur pour le calculer sur une unité de temps supérieure et rediffuser la valeur sur les bougies de base de ta stratégie. Le moteur gère le ré-échantillonnage — tu continues d'écrire des règles sur les bougies de ton intervalle de base.

Exemple

leaf:
  lhs: { indicator: rsi, period: 14, timeframe: '4h' }
  op: lt
  rhs: { value: 35 }
  dir: long

Warmup et gestion des NaN

Les indicateurs émettent NaN tant qu'ils n'ont pas assez de bougies pour être honnêtes. Un leaf porteur de NaN retourne False — il n'erreur pas, il s'abstient. Donc des stratégies neuves peuvent rester inactives pendant les N premières bougies d'un backtest ; c'est normal.