Jetzt beitreten
ProBacktest/probacktest · proorder

ShortTriggered

ShortTriggered in ProBacktest und ProOrder ist wahr auf dem Bar, auf dem eine short Einstiegsorder ausgeführt wird. Nutzen Sie es für Setup-Logik, die einmal pro Ausführung laufen soll, mit dem optionalen Bar-Index.

Syntax

probuilder
ShortTriggered[N]

So funktioniert es

ShortTriggered gibt auf dem Bar true zurück, auf dem eine Short-Position eröffnet wurde. Der optionale Index N blickt eine Anzahl von Bars zurück: ShortTriggered[1] prüft den vorherigen Bar, und ShortTriggered ohne Index, entspricht ShortTriggered[0], prüft den aktuellen Bar.

Es ist nützlich, wenn eine schwebende Short-Order, eine Working Order, mitten in einer Kerze ausgeführt wird und die Strategie wissen muss, dass dies auf diesem Bar passiert ist, zum Beispiel um unmittelbar nach dem Einstieg einen Stop oder ein Ziel zu setzen. Anders als SHORTONMARKET, was so lange wahr bleibt, wie der Short gehalten wird, ShortTriggered ist nur auf dem Ausführungs-Bar selbst wahr.

Beispiele

Beispiel 1, Auf den vorherigen Ausführungs-Bar reagieren (ProOrder)

probuilder
// Run logic if a short was opened on the previous bar
IF ShortTriggered[1] THEN
    // actions to take one bar after the short filled
ENDIF

Dies ist das Muster aus der offiziellen Referenz. ShortTriggered[1] ist wahr, wenn ein Short genau einen Bar zuvor ausgeführt wurde.

Beispiel 2, Direkt nach dem Einstieg einen Stop setzen (ProOrder)

probuilder
DEFPARAM CumulateOrders = false
// Enter short on a break of the 20-bar low, then place a protective stop
IF NOT ShortOnMarket AND close CROSSES UNDER Lowest[20](low) THEN
    SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// On the bar the short fills, attach a stop above the entry
IF ShortTriggered THEN
    SET STOP LOSS 20
ENDIF

Der ShortTriggered Block läuft nur auf dem Ausführungsbar, dem natürlichen Moment, um der frischen Position einen Schutzstop anzuhängen.

Beispiel 3, Jüngste Short-Ausführungen zählen (ProBacktest)

probuilder
// Detect a short fill within the last three bars
recentShort = ShortTriggered[0] OR ShortTriggered[1] OR ShortTriggered[2]
IF recentShort THEN
    // a short was opened within the last three bars
ENDIF

Das Prüfen mehrerer Indizes deckt ein kurzes Fenster nach dem Einstieg ab, wenn die Strategie bald nach einer Ausführung handeln muss und nicht nur auf genau diesem Bar.

Häufige Fehler und Stolperfallen

  • Nur der Ausführungs-Bar. ShortTriggered ist nur auf dem Bar der Ausführung wahr. Um zu prüfen, ob über Bars hinweg eine Short-Position gehalten wird, verwenden Sie SHORTONMARKET.
  • Nur die short Seite. Es meldet Short-Ausführungen. Für Long-Einstiege verwenden Sie LongTriggered.
  • Richtung des Index. N zählt Bars in die Vergangenheit zurück. ShortTriggered[1] ist ein Bar zurück, nicht ein Bar voraus.
  • Pending Orders auf demselben Bar. Der Wert ist für Pending Orders gedacht, die innerhalb einer Kerze ausgeführt werden. Eine Market-Order, die im selben Bar eröffnet und geschlossen wird, kann sich anders verhalten, prüfen Sie das Timing daher in einem Backtest.
  • LongTriggered, wahr auf dem Bar, auf dem eine long Order ausgeführt wird.
  • SHORTONMARKET, wahr, solange eine Short-Position offen ist.
  • ONMARKET, wahr, solange eine Position offen ist.
  • SELLSHORT, eröffnet eine Short-Position.
  • EXITSHORT, schließt eine Short-Position.
  • SET, STOP, setzen Sie Schutzorders auf dem Ausführungs-Bar.