Rohdaten-Eingaben: Bar-Kurse, Tick-Kurse, Positionszustand, Zeitkonstanten. Source-Blöcke haben keine Eingänge.
Aktuellste Tick-Bid/Ask/Mid-Kurse aus Live-Daten. Nur verfügbar, wenn der Graph-Timeframe auf TICKS eingestellt ist. Für Bar-basierte Graphs stattdessen Source.Bar.Current verwenden.
Ausgänge
bidNumber — für SHORT-Einstiege
midNumber — für Indikatoren
askNumber — für LONG-Einstiege
Der gerade geschlossene Bar. Die primäre Datenquelle für Bar-basierte Graphs. Nicht verfügbar für Tick-Daten (stattdessen Tick Price → Aggregator verwenden).
Ausgänge
barBar — geschlossener OHLCV-Bar
Unix-Millisekunden-Timestamp des aktuellen Bar-Schlusses. Direkt in Gate.Session leiten oder mit Source.Constant.DateTime vergleichen, um zeitbedingte Logik zu bauen.
Ausgänge
timeDateTime — Unix ms
Eine feste Zahl, die sich bar-zu-bar nicht ändert. Als tunable markieren, um sie der PSO-Optimierung auszusetzen — der Optimierer durchsucht dann den angegebenen Bereich.
Ausgänge
valueNumber
Parameter
valuenumber Standard 0tunable
Eine feste Tageszeit in CET (z.B. 09:00). Nützlich für Vergleiche mit Source.Time.Now, um eigene Session-Filter zu bauen.
Ausgänge
valueDateTime
Parameter
hourinteger 0–23, Standard 9
minuteinteger 0–59, Standard 0
Ein fester Boolean-Wert (true/false). Nützlich, um einen Gate-Zweig vorübergehend zu deaktivieren, ohne neu zu verdrahten.
Ausgänge
valueBoolean
Parameter
valueboolean Standard true
Extrahiert ein einzelnes numerisches Feld aus einem Bar-Objekt. Verwenden, um ein bestimmtes Preisfeld (z.B. close) in einen Math- oder Compare-Block zu führen.
Eingänge
barBar
Ausgänge
valueNumber
Parameter
fieldenum open | high | low | close | volume | bid | ask, Standard close
Anzahl Bars seit Positionseröffnung. Gibt −1 zurück, wenn keine Position offen ist; 0 auf dem Einstiegsbar; 1 auf dem nächsten Bar usw. Mit Compare.GTE für zeitbasierte Ausstiege kombinieren.
Ausgänge
valueNumber — −1 wenn flat
Verfolgt das maximale bar.high seit Positionseröffnung. Gibt 0 zurück, wenn keine Position offen ist. Klassische Verwendung: HighSinceEntry − (ATR × mult) → Sink.UpdateStop für einen Chandelier-Trailing-Stop bei Longs.
Ausgänge
valueNumber — 0 wenn flat
Verfolgt das minimale bar.low seit Positionseröffnung. Gibt 0 zurück, wenn keine Position offen ist. Spiegelbild von High Since Entry für Short-Positionen: LowSinceEntry + (ATR × mult) → Trailing-Stop.
Ausgänge
valueNumber — 0 wenn flat
Der Fill-Preis der aktuell offenen Position. Gibt 0 zurück, wenn keine Position offen ist. Verwenden, um Abstand zum Einstieg für Gewinnziel- oder Breakeven-Logik zu berechnen.
Ausgänge
valueNumber — 0 wenn flat
Das aktuelle Stop-Loss-Preisniveau der offenen Position. Gibt 0 zurück, wenn keine Position offen ist. Als Untergrenze in Trailing-Logik verwenden: Math.Max(PositionStopLoss, neuerTrail) verhindert, dass der Stop nach hinten wandert.
Ausgänge
valueNumber — 0 wenn flat
Unrealisierter P&L in Kurspunkten: close − entry für Longs, entry − close für Shorts. Gibt 0 zurück, wenn keine Position offen ist. Mit Compare.GT kombinieren, um Trailing-Stop-Aktivierung zu gaten (z.B. erst ab +20 Punkten Gewinn).
Ausgänge
valueNumber — 0 wenn flat
Timeframe-Resampling. Alle Aggregatoren geben ausschließlich den letzten vollständig geschlossenen Bar aus — keine partiellen Bars, kein Lookahead. Ein Bar bleibt stabil bis der nächste schliesst.
Technische Indikatoren, berechnet auf geschlossenen Bars. Alle geben 0 zurück, bis genug Historie vorhanden ist. Formeln in Standardnotation: N = Periode, t = aktueller Bar.
Exponential Moving Average. Gewichtet aktuelle Schlusskurse stärker als ältere. Der Glättungsfaktor α bestimmt die Abklingrate.
α = 2 / (N + 1)
EMA[t] = close[t] × Î± + EMA[t-1] × (1 - α)
Start: EMA[N-1] = SMA der ersten N Schlusskurse
Eingänge / Ausgänge / Parameter
bar →Bar
value ←Number
periodinteger 2–500, Standard 20tunable
Simple Moving Average. Arithmetisches Mittel der letzten N Schlusskurse. Reagiert langsamer als EMA — gut für stabile Trendfilter und Bollinger-Band-Mittellinie.
SMA[t] = (close[t] + close[t-1] + … + close[t-N+1]) / N
Eingänge / Ausgänge / Parameter
bar →Bar
value ←Number
periodinteger 2–500, Standard 20tunable
Average True Range. Richtungsfreies Volatilitätsmaß. Die True Range erfasst das Maximum aus aktuellem Kerzenkörper, Gap-Up und Gap-Down gegenüber dem vorherigen Schlusskurs. ATR ist der Wilder-geglättete Durchschnitt davon.
TR[t] = max(high[t] − low[t],
|high[t] − close[t-1]|,
|low[t] − close[t-1]|)
ATR[t] = (ATR[t-1] × (N-1) + TR[t]) / N (Wilder-Glättung)
Start: ATR[N-1] = Mittelwert(TR[0..N-1])
Eingänge / Ausgänge / Parameter
bar →Bar
value ←Number
periodinteger 2–200, Standard 14
Relative Strength Index (0–100). Misst Momentum durch Vergleich von durchschnittlichen Gewinnen und Verlusten mit Wilder-Glättung. Klassische Schwellenwerte: <30 überverkauft (Long-Signal), >70 überkauft (Short-Signal).
ΔC[t] = close[t] − close[t-1]
Gain[t] = max(ΔC, 0), Loss[t] = max(−ΔC, 0)
AvgGain / AvgLoss: Wilder-EMA(N) von Gain / Loss
RS = AvgGain / AvgLoss
RSI = 100 − 100 / (1 + RS)
Eingänge / Ausgänge / Parameter
bar →Bar
value ←Number 0–100
periodinteger 2–100, Standard 14
Average Directional Index (0–100). Misst die Stärke eines Trends unabhängig von der Richtung. ADX >25 = starker Trend; ADX <20 = kein Trend / Range. Berechnet intern +DI und −DI, gibt aber nur ADX aus.
+DM = high[t] − high[t-1] wenn > 0 sonst 0 (und > −DM)
−DM = low[t-1] − low[t] wenn > 0 sonst 0 (und > +DM)
+DM, −DM, TR mit Wilder-EMA(N) glätten
+DI = 100 × Glatt(+DM) / ATR(N)
−DI = 100 × Glatt(−DM) / ATR(N)
DX = 100 × |+DI − −DI| / (+DI + −DI)
ADX = Wilder-EMA(DX, N)
Eingänge / Ausgänge / Parameter
bar →Bar
value ←Number 0–100
periodinteger 2–100, Standard 14
Volume Weighted Average Price. Setzt täglich zurück (UTC+1 Mitternacht). Repräsentiert den volumengewichteten „fairen Kurs" des Tages. Kehrt am Sitzungsbeginn auf 0 zurück, bis der erste Bar eintrifft.
TP[t] = (high[t] + low[t] + close[t]) / 3
VWAP[t] = Σ(TP[i] × vol[i], i=Sitzungsbeginn..t)
/ Σ(vol[i], i=Sitzungsbeginn..t)
Zurücksetzen: täglich um UTC+1 Mitternacht
Eingänge / Ausgänge
bar →Bar
value ←Number
Stochastik-Oszillator (0–100). %K misst, wo der Schlusskurs innerhalb der jüngsten High-Low-Spanne liegt; %D glättet %K. Extreme (<20 überverkauft, >80 überkauft) signalisieren Umkehrungen; %K/%D-Kreuzungen zeigen Momentum-Shifts an.
%K[t] = 100 × (close[t] − Tiefst(low, k_period))
/ (Höchst(high, k_period) − Tiefst(low, k_period))
%D[t] = SMA(%K, d_period)
Eingänge / Ausgänge / Parameter
bar →Bar
k ←Number schnelle Stochastik 0–100
d ←Number Signallinie 0–100
k_periodinteger 2–100, Standard 14
d_periodinteger 1–50, Standard 3
Volatilitätsbänder: SMA ± σ × Standardabweichung. Kurs am unteren Band = statistisch extrem günstig (Long-MR-Einstieg). Squeeze (enge Bänder) = Volatilitätskompression, oft vor Ausbruch.
Middle = SMA(close, N)
σ_std = Populations-Standardabweichung von close über N Bars
Upper = Middle + sigma × Ïƒ_std
Lower = Middle − sigma × Ïƒ_std
Eingänge / Ausgänge / Parameter
bar →Bar
upper / middle / lower ←Number
periodinteger 2–500, Standard 20
sigmanumber 0.1–5.0, Standard 2.0
Rollierendes Maximum eines Bar-Feldes über die letzten N Bars (aktueller Bar eingeschlossen). Für Donchian-artige Ausbruchsniveaus oder Widerstandserkennung.
Highest[t] = max(field[t], field[t-1], …, field[t-N+1])
Eingänge / Ausgänge / Parameter
bar →Bar
value ←Number
periodinteger 2–500, Standard 20
fieldenum open|high|low|close, Standard high
Rollierendes Minimum eines Bar-Feldes über die letzten N Bars. Spiegelbild von Highest(N) — für Donchian-Unterstützungsniveaus oder Einstiegs-Trigger unterhalb von jüngsten Tiefs.
Lowest[t] = min(field[t], field[t-1], …, field[t-N+1])
Eingänge / Ausgänge / Parameter
bar →Bar
value ←Number
periodinteger 2–500, Standard 20
fieldenum open|high|low|close, Standard low
Zählt die aktuelle Serie aufeinanderfolgender Bars mit steigendem/fallendem Schlusskurs. Der Gegenzähler wird bei einem Richtungswechsel auf 0 zurückgesetzt. Für Streak-Umkehrungs-Einstiege: z.B. 4+ fallende Bars → Long-Fade.
wenn close[t] > close[t-1]:
up_count += 1; down_count = 0
wenn close[t] < close[t-1]:
down_count += 1; up_count = 0
Eingänge / Ausgänge
bar →Bar
up_count ←Number setzt bei Down-Bar auf 0 zurück
down_count ←Number setzt bei Up-Bar auf 0 zurück
Erkennt bestätigte Pivot-Hochs mit einem N-Bar-Fraktal: bar[t].high muss das Maximum von bar[t-N..t+N] sein. Da N Bars der rechten Seite abschließen müssen, löst das Signal N Bars nach dem eigentlichen Pivot aus — kein Lookahead-Bias. confirmed als Einstiegs-Trigger für Breakout-Retest- oder Pivot-Fade-Strategien verwenden.
Pivot bei bar[p] wenn:
high[p] = max(high[p-N .. p+N])
Bestätigung bei bar[p+N] (rechte Seite vollständig)
price = high[p] (gehalten bis zum nächsten Pivot)
Eingänge / Ausgänge / Parameter
bar →Bar
price ←Number letztes bestätigtes Swing-High-Niveau
confirmed ←Boolean nur auf dem Bestätigungs-Bar true
lookbackinteger 1–50, Standard 5tunable
Spiegelbild von Swing High für Pivot-Tiefs. Löst N Bars nach dem eigentlichen Tiefpunkt aus, sobald N Bars der rechten Seite das Minimum bestätigt haben. price als strukturellen Stop-Anker oder confirmed als Gegentrend-Einstiegs-Trigger verwenden.
Pivot bei bar[p] wenn:
low[p] = min(low[p-N .. p+N])
Bestätigung bei bar[p+N]
price = low[p] (gehalten bis zum nächsten Pivot)
Eingänge / Ausgänge / Parameter
bar →Bar
price ←Number letztes bestätigtes Swing-Low-Niveau
confirmed ←Boolean nur auf dem Bestätigungs-Bar true
lookbackinteger 1–50, Standard 5tunable
Moving Average Convergence Divergence. Klassischer Momentum-Indikator: Die MACD-Linie misst den Abstand zweier EMAs. Die Signallinie ist eine EMA des MACD. Das Histogramm macht Divergenzen sichtbar. CrossesAbove(macd, signal) für Einstiegssignale oder Vorzeichen-Wechsel des Histogramms für Momentum-Shifts verwenden.
MACD[t] = EMA(close, fast) − EMA(close, slow)
signal[t] = EMA(MACD, signal_period)
histogram[t] = MACD[t] − signal[t]
Positives Histogramm → aufwärts aufbauendes Momentum
Eingänge / Ausgänge / Parameter
bar →Bar
macd ←Number MACD-Linie
signal ←Number Signallinie
histogram ←Number MACD − Signal
fast_periodinteger 2–200, Standard 12
slow_periodinteger 5–500, Standard 26
signal_periodinteger 2–100, Standard 9
Kaufman Efficiency Ratio. Teilt die Netto-Kursbewegung über N Bars durch die Gesamt-Pfadlänge (Summe absoluter Bar-zu-Bar-Änderungen). ER → 1,0 = sauberer Trend; ER → 0,0 = Rauschen/Range. DAX-Forschung: 78,5 % der Tage haben ER < 0,15. Compare.GT(er, 0,4) für Trend-Strategien, Compare.LT(er, 0,15) für Mean-Reversion-Strategien.
direction = |close[t] − close[t-N]|
noise = Σ |close[i] − close[i-1]| für i = t-N+1 .. t
ER[t] = direction / noise (Bereich 0,0–1,0)
Gibt 0 zurück bis N+1 Bars verfügbar sind
Eingänge / Ausgänge / Parameter
bar →Bar
value ←Number 0,0–1,0
periodinteger 2–500, Standard 20tunable
ATR-basierter Volatilitätsumschlag um eine EMA. Im Gegensatz zu Bollinger Bands (Standardabweichungs-basiert) bleibt der Kanal in Range-Märkten enger und weitet sich während Trends aus — besser für Fade-MR-Einstiege. Squeeze (BB innerhalb Keltner) signalisiert bevorstehende Volatilitätsexpansion.
middle = EMA(close, ema_period)
upper = middle + mult × ATR(atr_period)
lower = middle − mult × ATR(atr_period)
Eingänge / Ausgänge / Parameter
bar →Bar
upper / middle / lower ←Number
ema_periodinteger 2–500, Standard 20tunable
atr_periodinteger 2–200, Standard 14
multnumber 0.1–10.0, Standard 2.0tunable
Rollierender statistischer Z-Score von bar.close im Verhältnis zu seinem jüngsten Mittelwert und seiner Standardabweichung. Z < −2 = statistisch günstig (Long-MR-Einstieg); Z > +2 = statistisch teuer (Short-MR-Einstieg).
mean[t] = SMA(close, N)
std[t] = Populations-Standardabweichung von close über N Bars
Z[t] = (close[t] − mean[t]) / std[t]
Gibt 0 zurück bis N Bars vorhanden. std=0 → Z=0.
Eingänge / Ausgänge / Parameter
bar →Bar
value ←Number typischer Bereich ±1,5 bis ±3,0
periodinteger 2–500, Standard 20tunable
Klassische Floor-Pivot-Punkte, berechnet aus dem Vortags-H/L/C (UTC+1). Alle 7 Niveaus werden einmal täglich aktualisiert und sind intraday stabil. Gibt 0 für alle Ausgänge zurück, bis der erste vollständige Handelstag abgeschlossen ist.
P = (prev_H + prev_L + prev_C) / 3
R1 = 2P − prev_L
R2 = P + (prev_H − prev_L)
R3 = prev_H + 2 × (P − prev_L)
S1 = 2P − prev_H
S2 = P − (prev_H − prev_L)
S3 = prev_L − 2 × (prev_H − P)
Eingänge / Ausgänge
bar →Bar
p ←Number Pivot-Punkt
r1, r2, r3 ←Number Widerstandsniveaus 1–3
s1, s2, s3 ←Number Unterstützungsniveaus 1–3
Kombiniertes Strukturniveau-Modell. Kombiniert Pivot-Fraktale, Sitzungshoch/-tief, Vortages-H/L, Overnight-Range, Wochenhochs/-tiefs, Opening Range und runde Zahlen. Niveaus innerhalb von merge_zone_pts werden zusammengeführt. Proximity-Gates verwenden ATR-Vielfache, um die „Touch Zone" zu definieren.
Niveauquellen:
• N-Bar Pivot-Fraktal-Hochs/-Tiefs (pivot_lookback)
• Sitzungshoch/-tief (Zurücksetzen bei session_open_hour)
• Vorheriger Kalendertag H/L
• Overnight-Range H/L (22:00–overnight_end_hour CET)
• Wochentliche Mo–Fr H/L
• Opening Range H/L (erste or_duration_minutes)
• Runde Zahlen (alle round_number_step Punkte)
Zusammenführen: Niveaus innerhalb merge_zone_pts → ein Niveau
at_support = dist_support ≤ touch_zone_atr_mult × ATR
Eingänge
barBar
atr_valueNumber von Indicator.ATR
Wichtige Ausgänge
support / resistanceNumber nächstes Strukturniveau
dist_support / dist_resistanceNumber ATR-Einheiten
at_support / at_resistanceBoolean Proximity-Gate
session_high, session_lowNumber
prev_day_high, prev_day_lowNumber
overnight_high, overnight_lowNumber
weekly_high, weekly_lowNumber
or_high, or_lowNumber Opening Range
or_completeBoolean OR-Fenster geschlossen
Parameter
pivot_lookbackinteger 3–50, Standard 10tunable
touch_zone_atr_multnumber 0.1–2.0, Standard 0.5tunable
merge_zone_ptsnumber 1–50, Standard 5tunable
round_number_stepnumber 10–1000, Standard 100
session_open_hourinteger 0–23, Standard 8
or_duration_minutesinteger 5–120, Standard 30tunable
Löst is_second_attempt=true auf dem Bar aus, an dem der Kurs nach einem sauberen Pullback das Niveau zum zweiten Mal anfährt. SupportResistance.support in level einspeisen. Der zweite Versuch ist statistisch stärker — schwache Stops wurden beim ersten Versuch bereits herausgeholt.
Zustandsmaschine pro Niveau:
RUHEND → BERÜHRUNG (close innerhalb Touch-Zone)
BERÜHRUNG → PULLBACK (mindestens pullback_min_atr wegbewegt)
PULLBACK → BERÜHRUNG (zweiter Anlauf)
→ is_second_attempt = true (löst einmal aus)
attempt_count erhöht sich bei jedem Anlauf
max_bars_between: setzt Zustand zurück, wenn zu viel Zeit vergeht
Eingänge / Ausgänge / Parameter
bar →Bar
level →Number z.B. SupportResistance.support
atr →Number
is_second_attempt ←Boolean
attempt_count ←Number
is_supportboolean Standard true
pullback_min_atrnumber 0.1–3.0, Standard 0.5tunable
max_bars_betweeninteger 3–100, Standard 20tunable
Erkennt einen bestätigten Niveaudurchbruch (Schlusskurs N×ATR jenseits des Niveaus) und wartet dann auf einen Retest von der neuen Seite. is_retest_long löst aus, wenn ehemaliger Widerstand zur neuen Unterstützung wird. is_retest_short löst aus, wenn ehemalige Unterstützung zum neuen Widerstand wird. is_breakout bleibt true, während auf den Retest gewartet wird.
Durchbruch bestätigt: close > level + break_atr_mult × ATR (aufwärts)
→ is_breakout = true, broken_level = level
Retest (long): close < broken_level + touch_zone_atr_mult × ATR
→ is_retest_long = true (löst einmal aus)
Zustand setzt zurück, wenn max_retest_bars überschritten
Eingänge / Ausgänge / Parameter
bar →Bar
level →Number
atr →Number
is_breakout ←Boolean true während Wartezeit auf Retest
is_retest_long ←Boolean einmal auf Long-Retest-Bar
is_retest_short ←Boolean einmal auf Short-Retest-Bar
broken_level ←Number
break_atr_multnumber 0.1–2.0, Standard 0.3tunable
touch_zone_atr_multnumber 0.1–2.0, Standard 0.5tunable
max_retest_barsinteger 3–60, Standard 15tunable
Einstiegsfilter und Regime-Klassifikation. Gate-Blöcke steuern, wann Trades erlaubt sind — basierend auf Tageszeit, Trend, Volatilität oder Marktregime. Gate-Ausgänge in Logic.And mit Eintrittsbedingungen verketten.
True, wenn der Timestamp des aktuellen Bars innerhalb des konfigurierten CET-Zeitfensters liegt. Sperrt Einstiege außerhalb der Handelszeiten oder in Phasen geringer Liquidität.
Eingänge / Ausgänge / Parameter
bar →Bar
allowed ←Boolean
start_hourinteger 0–23, Standard 7
start_minuteinteger 0–59, Standard 0
end_hourinteger 0–23, Standard 20
end_minuteinteger 0–59, Standard 0
use_cetboolean Standard true
Sperrt LONG-Einstiege, wenn der ATR-normalisierte EMA-Slope einen starken Abwärtstrend anzeigt. Für Mean-Reversion-Strategien gedacht, die keinen starken Abwärtstrend kontern sollen. Der slope-Ausgang ist für weitere Gatings oder Plot verfügbar.
slope[t] = (EMA[t] − EMA[t − slope_lookback])
/ (ATR[t] × slope_lookback) (ATR-normalisiert)
allow_long = slope[t] ≥ block_long_below_slope
Eingänge / Ausgänge / Parameter
bar →Bar
allow_long ←Boolean
slope ←Number + = Aufwärtstrend, − = Abwärtstrend
ema_periodinteger 5–500, Standard 50
atr_periodinteger 2–200, Standard 14
slope_lookbackinteger 2–200, Standard 12
block_long_below_slopenumber −5.0–5.0, Standard −0.5tunable
Sperrt ALLE Einstiege, wenn der ATR-Perzentilrang (rollierendes Ranking) die Schwelle überschreitet. Verhindert Handel bei extremen Volatilitätsspitzen (z.B. Flash Crashes, Makrodatenveröffentlichungen). Der percentile-Ausgang zeigt den rollierenden Rang 0–1.
atr_history = rollierendes Fenster von ATR(atr_period)-Werten
percentile[t] = Rang von ATR[t] in atr_history
/ len(atr_history) (0=kleinstes, 1=größtes)
allow_entry = percentile[t] ≤ block_above_percentile
Eingänge / Ausgänge / Parameter
bar →Bar
allow_entry ←Boolean
percentile ←Number 0–1 ATR-Rang
atr_periodinteger 2–200, Standard 14
percentile_windowinteger 100–20000, Standard 2000
block_above_percentilenumber 0.0–1.0, Standard 0.80tunable
Klassifiziert den Markt in vier sich gegenseitig ausschließende Regime anhand eines Mehr-Signal-Modells. Jedes Regime ist als Boolean-Ausgang verfügbar, damit unterschiedliche Strategie-Logik ans passende Regime geknüpft werden kann.
Verwendete Eingaben:
EMA(fast) / EMA(slow) Slope + Separation
ATR-Perzentil (rollierend)
Range-Kompressionsverhältnis (aktuell vs. historisch)
Regime:
TRENDING = |slope| ≥ min_slope UND sep ≥ min_sep
UND ATR ≥ min_atr_for_trending
MEAN_REVERTING = |slope| ≤ max_slope UND atr_pct ≤ max_pct
BREAKOUT = range_compression ≤ bo_min_range_compression
UND ATR ≥ min_atr_for_breakout
NEUTRAL = keines der obigen
Alle erfordern min_bars_in_regime aufeinanderfolgende Bars
Eingänge / Ausgänge
bar →Bar
is_trending ←Boolean
is_mean_reverting ←Boolean
is_breakout ←Boolean
is_neutral ←Boolean
Wichtige tunable Parameter
ema_fast_periodinteger Standard 20 ema_slow_periodinteger Standard 50
trending_min_ema_slopenumber Standard 0.3tunable
trending_min_ema_separationnumber Standard 0.15tunable
mr_max_ema_slopenumber Standard 0.15tunable
mr_max_atr_percentilenumber Standard 0.4tunable
min_atr_for_trendingnumber Standard 15.0tunable
min_atr_for_breakoutnumber Standard 12.0tunable
Numerische Vergleichsoperatoren. Zwei Number-Eingänge → ein Boolean-Ausgang. Alle Blöcke haben Eingänge a und b (Number) und Ausgang value (Boolean).
Boolesche Logikgatter zum Kombinieren von Bedingungen. AND/OR/NOT haben keine Parameter. IF-THEN-ELSE überbrückt Boolean-Bedingungen zu numerischen Werten.
Arithmetische Operationen auf Number-Streams. Die meisten haben zwei Number-Eingänge und einen Number-Ausgang. Kreuzungsblöcke geben Boolean aus. Rolling-Blöcke arbeiten über ein Historiefenster.
Ausgabe-Blöcke, die mit dem Positions-Manager interagieren. Sinks haben keine Ausgänge — sie lösen Seiteneffekte aus (Positionen öffnen, schließen, Stops verschieben).