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.