Zum Hauptinhalt springen

Formeln

Mit Formeln können Sie benutzerdefinierte berechnete Datenreihen aus Chart-Metriken erstellen. Kombinieren, transformieren und analysieren Sie Metriken mithilfe arithmetischer Operatoren und integrierter Funktionen.

Eine Formel hinzufügen

  1. Öffnen Sie einen Chart im Bearbeitungsmodus
  2. Klicken Sie auf die Schaltfläche + Hinzufügen und wählen Sie dann Formel hinzufügen
  3. Geben Sie eine Bezeichnung ein (z. B. „7-Tage-SMA des Preises“)
  4. Geben Sie einen Ausdruck ein (z. B. sma(m1, 7))
  5. Klicken Sie auf Formel hinzufügen

Das Formelergebnis erscheint als neue Datenreihe im Chart mit eigener Farbe und eigenem Stil.

Syntax

Metrik- und Formelverweise

  • m1, m2, … verweisen anhand der Position auf Chart-Metriken (erste Metrik = m1)
  • f1, f2, … verweisen anhand der Position auf vorhergehende Formeln (erste Formel = f1)

Formeln werden der Reihe nach ausgewertet, sodass f2 auf f1 verweisen kann, aber nicht umgekehrt.

Arithmetische Operatoren

Standardoperatoren mit üblicher Rangfolge (* und / vor + und -):

m1 + m2 # Addition
m1 - m2 # Subtraction
m1 * m2 # Multiplication
m1 / m2 # Division (returns null if divisor is 0)
(m1 + m2) * m3 # Parentheses for grouping

Zahlen und horizontale Linien

In Ausdrücken können konstante Werte verwendet werden. Eine eigenständige Zahl zeichnet eine horizontale Linie bei diesem Wert:

42000 # Horizontal line at 42,000
m1 * 100 # Scale a metric
m1 / 1000000 # Convert to millions
0.5 # Horizontal line at 0.5 (useful as threshold)

Funktionen

Gleitende Durchschnitte & rollierende Statistiken

FunktionSyntaxBeschreibung
smasma(series, period)Einfacher gleitender Durchschnitt — arithmetisches Mittel über die letzten N Datenpunkte
emaema(series, period)Exponentieller gleitender Durchschnitt — EMA_t = value_t × k + EMA_(t-1) × (1 - k), wobei k = 2 / (period + 1). Gewichtet jüngere Werte stärker
medianmedian(series, period)Rollierender Median (mittlerer Wert) über N Perioden
sumsum(series, period)Rollierende Summe über die letzten N Perioden
stdstd(series, period)Rollierende Standardabweichung über N Perioden

Kumulative Funktionen

Funktionen mit expandierendem Fenster, die alle Daten vom Beginn bis zu jedem Punkt verwenden:

FunktionSyntaxBeschreibung
cumsumcumsum(series)Expandierende kumulative Summe ab Datenbeginn
cummeancummean(series)Expandierender kumulativer Mittelwert ab Datenbeginn
cummediancummedian(series)Expandierender kumulativer Median ab Datenbeginn
cumstdcumstd(series)Expandierende kumulative Standardabweichung ab Datenbeginn
cummaxcummax(series)Kumulatives Allzeithoch bis zu jedem Punkt
cummincummin(series)Kumulatives Allzeittief bis zu jedem Punkt

Änderungsfunktionen

FunktionSyntaxBeschreibung
percent_changepercent_change(series, period)Prozentuale Änderung über N Perioden. Werte werden als Dezimalzahlen zurückgegeben (z. B. 0,20 = +20 % Wachstum)
diffdiff(series, period)Absolute Wertänderung über N Perioden: value_t - value_(t-N)

Mathematische Funktionen

FunktionSyntaxBeschreibung
absabs(series)Absolutwert aller Datenpunkte
powpow(series, n)Alle Datenpunkte mit der Potenz n potenzieren
loglog(series)Logarithmus zur Basis 10 (gibt null für nicht-positive Werte zurück)
roundround(series, digits)Werte auf N Dezimalstellen runden
maxmax(a, b, ...)Punktweises Maximum — gibt an jedem Datenpunkt den höchsten Wert unter allen Argumenten zurück. Argumente können Datenreihen oder Konstanten sein, z. B. max(m1, m2, 0)
minmin(a, b, ...)Punktweises Minimum — gibt an jedem Datenpunkt den niedrigsten Wert unter allen Argumenten zurück. Argumente können Datenreihen oder Konstanten sein, z. B. min(m1, m2, 100)

Technische Indikatoren

FunktionSyntaxBeschreibung
rsirsi(series, period)Relative-Stärke-Index (0–100) mit Wilders Glättungsmethode über N Perioden
corrcorr(series1, series2, period)Pearson-Korrelationskoeffizient zwischen zwei Datenreihen über ein rollierendes Fenster von N Perioden. Gibt Werte von -1 (invers) bis +1 (perfekt korreliert) zurück
drawdowndrawdown(series)Relativer Drawdown vom Allzeithoch. Gibt negative Dezimalzahlen zurück (z. B. -0,30 = 30 % unter dem ATH)

Risiko & Rendite

FunktionSyntaxBeschreibung
mean_returnmean_return(series, period)Annualisierte rollierende Durchschnittsrendite über N Perioden (basierend auf täglichen logarithmischen Renditen × 365)
realized_volrealized_vol(series, period)Annualisierte realisierte Volatilität über N Perioden (Standardabweichung der täglichen logarithmischen Renditen × √365)
sharpe_ratio_arithmeticsharpe_ratio_arithmetic(series, period)Annualisierte Sharpe-Ratio mit dem arithmetischen Mittel der Renditen über N Perioden
sharpe_ratio_geometricsharpe_ratio_geometric(series, period)Annualisierte Sharpe-Ratio mit dem geometrischen Mittel der Renditen über N Perioden

Bearbeitung von Datenreihen

FunktionSyntaxBeschreibung
shiftshift(series, period)Verschiebt die Datenreihe um N Perioden nach rechts. Eine positive Periode zeigt vergangene Werte an der aktuellen Position (d. h. jeder Datenpunkt zeigt den Wert von N Perioden zuvor). Eine negative Periode verschiebt nach links (zeigt zukünftige Werte)
ifif(a, "op", b, then, else)Bedingung: wertet an jedem Datenpunkt den Vergleich a op b aus, gibt then zurück, wenn wahr, andernfalls else. Das Argument op ist ein Vergleichsoperator, der als Zeichenkette in Anführungszeichen übergeben wird: "=", "!=", ">", ">=", "<", "<="

Beispiele

Gleitende Durchschnitte

sma(m1, 7) # 7-day simple moving average of first metric
sma(m1, 30) # 30-day SMA
ema(m1, 21) # 21-day exponential moving average
median(m1, 14) # 14-day rolling median

Erkennung von SMA-Kreuzungen

f1: sma(m1, 7) # Short-term SMA
f2: sma(m1, 30) # Long-term SMA
f3: f1 - f2 # Difference (positive = short above long)

Verhältnisanalyse

m1 / m2 # Ratio between two metrics

Drawdown vom Allzeithoch

drawdown(m1) # Drawdown as negative decimal (-0.30 = 30% below ATH)

Bollinger-Bänder

f1: sma(m1, 20) # Middle band
f2: f1 + 2 * std(m1, 20) # Upper band (+2 standard deviations)
f3: f1 - 2 * std(m1, 20) # Lower band (-2 standard deviations)

Veränderung von Periode zu Periode

percent_change(m1, 7) # 7-day percentage change (decimal)
diff(m1, 30) # 30-day absolute change

RSI

rsi(m1, 14) # 14-period RSI
30 # Oversold threshold line
70 # Overbought threshold line

Werte begrenzen

max(m1, 0) # Floor at zero (remove negative values)
min(m1, 100) # Cap at 100
max(m1, m2) # Higher of two metrics at each point

Korrelation

corr(m1, m2, 30) # 30-day rolling correlation between two metrics

Volatilität & Risiko

realized_vol(m1, 30) # 30-day annualized volatility
sharpe_ratio_arithmetic(m1, 90) # 90-day annualized Sharpe ratio

Gestaltung

Klicken Sie nach dem Hinzufügen einer Formel in der Legende (im Bearbeitungsmodus) darauf, um Folgendes zu konfigurieren:

  • Chart-Stil: Linie, Fläche oder Balken
  • Farbe: Auswahl aus Voreinstellungen oder benutzerdefiniert
  • Y-Achse: Beliebiger Achse zuweisen
  • Linienbreite und Fülldeckkraft
  • Sichtbarkeit: Umschalter zum Ein-/Ausblenden

Persistenz

Formeln werden mit der Chart-Konfiguration gespeichert. Wenn Sie einen Chart unter „Meine Charts“ speichern, bleiben alle Formeln erhalten und werden beim erneuten Laden des Charts wiederhergestellt.

Export

Formelwerte werden in CSV- und JSON-Exporte einbezogen. Jede Formelspalte verwendet die Formelbezeichnung als Überschrift.