Noon Barbari
Registrieren
Docs durchsuchen

Indikatoren

Jeder Indikator, den die Regel-Engine kennt, mit seinen Parametern und Ausgabefeldern.

Ein Indikator wird innerhalb eines Leaf als `{indicator: <kind>, ...params}` referenziert. Jede Art liefert ein oder mehrere Ausgabefelder, die du über `field: <name>` ansprichst (lass `field` weg, um das erste Feld zu nehmen). Multi-Timeframe wird über `timeframe: '4h'` auf jedem Indikator unterstützt.

ArtParameterAusgabefelderTypische Verwendung
emaperiod (>=1)valueTrendfilter. `ema20 > ema50` für Up-Bias.
smaperiod (>=1)valueWie EMA, aber ohne Glättungs-Memory.
rsiperiod (default 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` als Einstieg.
bollingerperiod (20), std_mult (2.0)mid, upper, lowerVolatilitäts-Hülle. `close < lower` für Bounce-Einstiege.
atrperiod (14, >=2)valueStop-Distanz-Sizing. `stop = entry - atr14 * 2`.
stochasticperiod (14), smooth_d (3)k, d (beide 0–100)Kreuzung der 20-/80-Linien für Mean Reversion.
adxperiod (14)adx, plus_di, minus_di`adx > 25` = im Trend. Mit `plus_di > minus_di` für Up-Bias kombinieren.
vwapperiod (20, rollendes Fenster)valueFair-Value-Referenz. `close > vwap` = überdurchschnittlicher Preis.
volume_maperiod (20)valueBreakout-Bestätigung. `volume > volume_ma * 1.5`.
trendperiod (50), slope_lookback (5)value (-1 / 0 / +1)Kategorialer Trendfilter. `trend == 1` für Aufwärts, `== -1` für Abwärts.
swinglookback (1)last_high, last_low, prev_high, prev_lowBreakout-Einstiege (`close > last_high`) und HH-/HL-Filter.
s_trendlookback (1)value (-1 / 0 / +1)Trendregime im SMC-Stil (BOS/CHoCH) — flippt nach zwei Swing-Breakouts derselben Seite.
s_trend_validlookback (1)value (-1 / 0 / +1)Wie s_trend, aber jeder Breakout muss vom Close des nächsten Bars bestätigt werden.
blackflag_ftsatr_period (14), atr_factor (1.6), fib_lookback (8)trail, extreme, state, fib1, fib2, fib3SuperTrend-Variante mit Black Flags modifizierter TR und einer 38,2- / 50- / 61,8-Fib-Pullback-Leiter.
super_trendatr_period (10), factor (3.0)trail, stateStandard-SuperTrend auf `hl2`. `state == 1` Long-Regime, `state == -1` Short-Regime.
trend_magiccci_period (20), atr_period (5), atr_mult (1.0)trail, state, cciCCI-gefilterter ATR-Trailing-Stop. Der Stop zieht in Trendrichtung nach, solange der CCI mit dem Regime übereinstimmt.
vfilength (130), coef (0.2), v_coef (2.5), signal (5)vfi, signal, histVolume Flow Indicator. Oszillator — `vfi > 0` Akkumulation, `< 0` Distribution, `hist` für Kreuzungssignale.
market_structureswing_lookback (5)state, bos_signal, choch_signal, pivot_high, pivot_low, last_pivot_high, last_pivot_lowSMC-Marktstruktur auf Swing-Pivots. `state` = aktuelles Regime, `bos_signal` / `choch_signal` feuern eine Kerze lang.
fair_value_gapmin_gap_pct (0.0), expire_bars (0 = nie)bull_top, bull_bottom, bear_top, bear_bottom, bull_signal, bear_signal, bull_filled, bear_filled3-Kerzen-Imbalance mit Fill-Tracking. Mit `bull_signal` bei FVG-Bildung einsteigen, `bull_filled` zur Verfolgung der Mitigation nutzen.
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_mitigatedLetzte gegenläufige Kerze vor einem BOS. `bull_retest` triggert, wenn der Preis in die Zone zurückkehrt.
equal_highs_lowslookback (10), tolerance_pct (0.05)eqh_level, eql_level, eqh_signal, eql_signal, eqh_swept, eql_sweptLiquidity-Pool-Erkennung. `eqh_swept` bestätigt einen Stop-Hunt über gleichen Hochs — ein häufiger Reversal-Trigger.
prior_period_levels(keine Parameter — basiert auf dem Kerzen-Zeitstempel)pdh, pdl, pdo, pdc, pwh, pwl, pwo, pwc, pmh, pml, pmo, pmcVortages-/Vorwochen-/Vormonats-H/L/O/C. `close > pdh` für Momentum-Filter auf Bruch des Vortageshochs.
premium_discount_zonestrailing_lookback (50)trailing_top, trailing_bottom, premium_top, premium_bottom, equilibrium_top, equilibrium_bottom, discount_top, discount_bottom, current_zoneFib-Zonen-Klassifikation der nachlaufenden Range. `current_zone == 'discount'` für SMC-Long-Bias.

Neuer Indikator-Katalog

Die zehn Indikatoren, die in den Wellen Pine-Port und SMC-Clean-Room hinzugekommen sind. Jede Karte listet Beschreibung, Parameter mit Standardwerten, Ausgabefelder und ein zum Kopieren bereites YAML-Snippet.

Black Flag Futures Trading System

blackflag_fts

SuperTrend-Variante von Black Flag. Verwendet eine modifizierte True Range und ergänzt eine dreistufige Fibonacci-Pullback-Leiter (38,2 / 50 / 61,8) für Teil-Mitnahmen oder gestaffelte Wiedereinstiege innerhalb eines laufenden Trends.

Parameter:
atr_period (14), atr_factor (1.6), fib_lookback (8)
Felder:
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

Der klassische SuperTrend — ATR-bebänderter Trailing-Stop auf hl2. `state` wechselt zwischen +1 und -1 nur bei einem Close jenseits des gegenüberliegenden Bandes.

Parameter:
atr_period (10), factor (3.0)
Felder:
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

CCI-gefilterter ATR-Trailing-Stop. Der Trail zieht nur dann zum Preis nach, wenn der CCI mit der vorherrschenden Richtung übereinstimmt — ruhiger als SuperTrend in der Seitwärtsphase.

Parameter:
cci_period (20), atr_period (5), atr_mult (1.0)
Felder:
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

Markos Katsanos' Volume Flow Indicator — ein geglätteter, volumengewichteter Oszillator, der die Vorzeichen über die Nulllinie wechselt, wenn Akkumulation in Distribution übergeht. Kombiniere das Histogramm mit einem Trendfilter für Bestätigungseinstiege.

Parameter:
length (130), coef (0.2), v_coef (2.5), signal (5)
Felder:
vfi, signal, hist

YAML

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

Marktstruktur (BOS / CHoCH)

market_structure

Erkennt Pivots und emittiert bei jedem Pivot-Bruch einen Break of Structure oder einen Change of Character. Das `state`-Feld führt das aktuelle Regime, sodass du es als Stateful-Trendfilter nutzen kannst.

Parameter:
swing_lookback (5)
Felder:
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

3-Kerzen-Imbalance: eine Lücke zwischen dem Docht von bar[n-2] und dem Docht von bar[n]. Verfolgt die Zone, bis der Preis sie füllt; `bull_signal` feuert bei der Bildung, `bull_filled` feuert, wenn die Lücke geschlossen wird.

Parameter:
min_gap_pct (0.0), expire_bars (0 = nie)
Felder:
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

Letzte gegenfarbige Kerze vor einem Break of Structure. Der Block bleibt scharf, bis der Preis ihn retestet (`bull_retest`) oder durch ihn hindurchläuft (`bull_mitigated`).

Parameter:
swing_lookback (5), retest_tolerance_pct (0.1)
Felder:
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

Gleiche Hochs / Tiefs

equal_highs_lows

Liquidity-Pool-Detektor. Markiert ein Level, wenn aufeinanderfolgende Hochs (oder Tiefs) innerhalb von `tolerance_pct` voneinander liegen. `eqh_swept` feuert in der Kerze, in der das Level genommen wird — ein häufiger Stop-Hunt-Reversal-Trigger.

Parameter:
lookback (10), tolerance_pct (0.05)
Felder:
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

Vorperioden-Levels (PDH / PDL / PWH / PWL …)

prior_period_levels

Open / High / Low / Close des Vortages, der Vorwoche und des Vormonats. Wird aus dem Kerzen-Zeitstempel berechnet — keine Parameter. Nützlich für Momentum-Trades auf Bruch der Vorperiode und Mean-Reversion-Trades zum Vortages-Close.

Parameter:
(keine)
Felder:
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

Premium-/Discount-Zonen

premium_discount_zones

Teilt die nachlaufende Range über Fib-Levels in Discount (unteres Drittel), Equilibrium (Mitte) und Premium (oberes Drittel) auf. `current_zone` liefert den aktuellen Zonennamen der Kerze — strikte SMC-Longs feuern ausschließlich im Discount.

Parameter:
trailing_lookback (50)
Felder:
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-Timeframe

Füge `timeframe: '4h'` zu einer beliebigen Indikator-Spec hinzu, um sie auf einem höheren Timeframe zu berechnen und den Wert wieder auf die Basis-Bars deiner Strategie zu broadcasten. Die Engine kümmert sich um das Resampling — du schreibst weiterhin Regeln gegen Bars deines gewählten Basis-Intervalls.

Beispiel

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

Warmup & NaN-Handling

Indikatoren liefern NaN, bis sie genug Bars haben, um ehrlich zu sein. Ein Leaf, das NaN trägt, gibt False zurück — es wirft keinen Fehler, es enthält sich. Das heißt, neue Strategien können in den ersten N Bars eines Backtests untätig wirken; das ist korrekt.