Spectra
Docs durchsuchen

backtester

Sizing-Modi

Wie Positionsgröße in Backtests bestimmt wird — fest, prozentual zum Equity, ATR-basiert.


Der Backtester bietet drei Sizing-Modi. Wähle einen im Strategy-Panel; Skripte können pro Aufruf via buy(qty: ...) overriden.

Fest

qty = constant  // z. B. buy(qty: 100)

Der einfachste. Nützlich, wenn du Entry/Exit-Logik testest, ohne dich um Sizing zu kümmern.

Prozentual zum Equity

qty = floor(equity × pct / price)

Compoundet Gewinne und Verluste. Verwende, um zu messen, wie sich eine Strategie mit realistischer Equity-Kurven-Dynamik verhält. Default pct = 5%.

ATR-basiert (risiko-äquivalent)

qty = floor(risk_pct × equity / (atr(14) × atr_multiplier))

Dimensioniert jede Position so, dass das Dollar-Risiko bis zum Stop konstant bleibt. Der Standardmodus für Trendfolgesysteme, bei denen ATR mit der Volatilität skaliert.

let size = atr_position(risk_pct: 1.0, atr: atr(14))
buy(qty: size)

Maximalbeschränkungen

Alle drei respektieren:

  • Maximale Position (Profil → Backtester → Max position).
  • Maximale gleichzeitige Positionen (Default 5).
  • Verfügbares Equity — Orders, die Buying Power überschreiten, werden abgelehnt (oder teilweise gefüllt, wenn partial_fill_on_margin = true).

Scale-In / Out

buy(qty: size, scale: 0.5)   // fügt die Hälfte zur bestehenden Position
sell(qty: size * 0.5)        // verkauft die Hälfte

Scale-Ins compounden zum Durchschnittseinstieg der Position. Scale-Outs realisieren P&L proportional.