Jetzt beitreten
ProBacktest/probacktest · proorder

PRICE

PRICE platziert einen Stop Loss oder Take Profit auf einem absoluten Kursniveau in ProBacktest und ProOrder über die Befehle SET STOP PRICE und SET TARGET PRICE.

Syntax

probuilder
SET STOP PRICE x
probuilder
SET TARGET PRICE x

Parameter

NameTypStandardBeschreibung
xnumerischer AusdruckerforderlichDas absolute Kursniveau, auf dem der Stop Loss oder Take Profit platziert wird.

So funktioniert es

Die meisten Mitglieder der Stop- und Target-Familien drücken den Ausstieg als Distanz zum durchschnittlichen Positionspreis aus, in Punkten (PLOSS, PPROFIT), Prozent (%LOSS, %PROFIT), oder Barbetrag ($LOSS, $PROFIT). Die PRICE-Variante arbeitet anders: Das Argument ist der exakte Kurs, an dem die Ausstiegsorder liegt, unabhängig davon, wo die Position eröffnet wurde. Das passt zu Strategien, die auf Chartniveaus aufbauen, etwa Swing-Lows, Extremen der vorherigen Session oder im Vorfeld bestimmten runden Zahlen.

Das Niveau kann ein Literal oder ein beliebiger numerischer Ausdruck sein, sodass es Bar für Bar aus Indikatorwerten neu berechnet werden kann. Einmal gesetzt, bleibt das Niveau, wo es ist, bis zum nächsten SET STOP oder SET TARGET Aufruf ersetzt es; ein absolutes Niveau folgt dem Markt nie von selbst.

Die Richtung ist entscheidend. Bei einer Long-Position gehört der Stop unter den aktuellen Kurs und das Ziel darüber; bei einem Short sind die Seiten vertauscht. Beide Befehle teilen sich ihren Slot mit den anderen Varianten derselben Familie, sodass der jüngste SET STOP Aufruf definiert den Stop und der zuletzt SET TARGET Aufruf definiert das Ziel.

Beispiele

Beispiel 1, Feste Ausstiegsniveaus um eine Position (ProBacktest)

probuilder
// Exit at a loss if the market falls to 100
SET STOP PRICE 100

// Take profit if the market rises to 150
SET TARGET PRICE 150

Die beiden Niveaus klammern eine long-Position zwischen den absoluten Kursen 100 und 150 ein, unabhängig von der Einstiegsausführung. Dies sind die Referenzanweisungen aus der Originaldokumentation mit neu geschriebenen Kommentaren.

Beispiel 2, Stop unter einem swing-Tief (ProOrder)

probuilder
// Place the stop just below the lowest low of the last 20 bars
swingLow = lowest[20](low)

IF NOT onmarket AND close CROSSES OVER average[50](close) THEN
  BUY 1 CONTRACTS AT MARKET
  SET STOP PRICE swingLow
ENDIF

Anstelle eines festen Abstands ist der Stop an eine Chartstruktur verankert, das 20-Bar-swing-Tief, das zum Zeitpunkt des Einstiegs bestand, ein Niveau mit technischer Bedeutung statt einer beliebigen Punktzahl.

Beispiel 3, Ziel am Hoch der vorherigen Sitzung (ProOrder)

probuilder
// Aim an intraday long at yesterday's high
IF NOT onmarket AND close CROSSES OVER average[20](close) AND close < dhigh(1) THEN
  BUY 1 CONTRACTS AT MARKET
ENDIF

IF longonmarket THEN
  SET TARGET PRICE dhigh(1)
ENDIF

Der Einstieg wird nur genommen, solange der Kurs unter dem Hoch von gestern bleibt, und der Take Profit liegt genau auf diesem Niveau, ein verbreitetes intraday-Ziel.

Häufige Fehler und Stolperfallen

  • Niveau auf der falschen Seite des Marktes. Ein Stopkurs über dem Markt bei einem long, oder ein Ziel darunter, ist mit der Position nicht vereinbar und kann den Trade sofort schließen oder abgelehnt werden. Prüfen Sie berechnete Niveaus gegen den aktuellen Kurs, bevor Sie sie setzen.
  • Richtungsumkehr bei shorts. Bei short-Positionen gehört der Stop über den Markt und das Ziel darunter. Die Niveaulogik der long-Seite ohne Umdrehen des Vergleichs wiederzuverwenden platziert beide Ausstiege auf der falschen Seite.
  • Statische Niveaus bewegen sich nie. Im Unterschied zu nachziehenden Varianten bleibt ein absolutes Niveau fest, bis der Code einen weiteren SET-Aufruf ausgibt. Eine Verankerung an einem Indikator erfordert, den Befehl jedes Mal erneut auszuführen, wenn das Niveau aktualisiert werden soll.
  • Überschreiben des Slots. SET STOP PRICE ersetzt jeden früheren PLOSS, %LOSS, $LOSS, Trailing- oder Breakeven-Stop, und SET TARGET PRICE ersetzt frühere Ziele. Mischt man abstandsbasierte und kursbasierte Aufrufe, bleibt nur der jeweils letzte aktiv.
  • STOP, Überblick über die Familie der Stop-Befehle.
  • TARGET, Überblick über die Familie der Target-Befehle.
  • PLOSS, Stop Loss als Punktabstand vom Einstieg.
  • PPROFIT, Take Profit als Punktabstand vom Einstieg.
  • %LOSS, Stop Loss als prozentualer Abstand.
  • %PROFIT, Take Profit als prozentualer Abstand.
  • BREAKEVEN, verschiebt den Stop oder das Ziel auf den Einstiegskurs.
  • TRADEPRICE, Einstiegskurs einer einzelnen Order.
  • POSITIONPRICE, durchschnittlicher Einstiegskurs der offenen Position.
  • Lowest, niedrigster Wert über einen Rückblick, nützlich für Stops am swing-Tief.