Jetzt beitreten
ProBacktest/probacktest · proorder

PROFIT

SET TARGET PROFIT in ProBacktest and ProOrder places a take profit a fixed number of price units from entry. PROFIT syntax, examples, and common errors.

Syntax

probuilder
SET TARGET PROFIT x

Parameter

NameTypStandardBeschreibung
xZahlkeineAbstand zwischen dem Einstiegskurs und dem Take Profit, ausgedrückt in Kurseinheiten des Instruments. Akzeptiert Literale, Variablen und Ausdrücke.

So funktioniert es

SET TARGET PROFIT deklariert eine schwebende Take-Profit-Order relativ zum Einstiegskurs der Position. Bei einer Long-Position liegt das Ausstiegsniveau x Kurseinheiten über dem Einstieg, bei einer Short-Position x Einheiten darunter. Erreicht der Kurs das Niveau, wird die Position automatisch geschlossen.

Die Deklaration ist persistent. Nach der Ausführung bleibt sie für die aktuelle Position und für später eröffnete Positionen aktiv, bis eine andere SET TARGET Aufruf sie ersetzt. Den Befehl in einer eigenen Zeile am Ende des Codes außerhalb jedes IF-Blocks zu platzieren, ist das übliche Muster für ein festes Ziel, das für jeden Trade gilt. Ihn in Bedingungen zu fassen, erlaubt es, das Ziel mitten im Trade zu ändern; dann definiert der jüngste Aufruf das aktive Niveau.

Der Abstand wird in Kurseinheiten gemessen, wobei eine Einheit die POINTSIZE des Instruments ist. Für prozent- oder geldbasierte Ziele verwenden Sie die %PROFIT und $PROFIT Varianten statt manueller Umrechnung.

Beispiele

Beispiel 1, MACD-Einstieg mit einem Ziel von 50 Einheiten (ProBacktest)

probuilder
myMACD = MACD[12,26,9](close)
long = myMACD crosses over 0
IF NOT LongOnMarket AND long THEN
    BUY 1 CONTRACTS AT MARKET
ENDIF
// Close the position once it gains 50 price units
SET TARGET PROFIT 50

Ein Long wird eröffnet, wenn die MACD-Linie über null kreuzt, und der Take Profit schließt ihn 50 Kurseinheiten über dem Einstieg. Dies ist das Beispiel aus der offiziellen Referenz.

Beispiel 2, Feste Klammer aus Ziel und Stop (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

IF NOT onmarket AND close CROSSES OVER Average[50](close) THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

// Fixed exit bracket around the entry price
SET TARGET PROFIT 120
SET STOP LOSS 60

Jede Position trägt dieselbe Klammer, einen Take Profit 120 Einheiten über dem Einstieg und einen Stop 60 Einheiten darunter. Beide Deklarationen stehen außerhalb des Einstiegsblocks, sodass sie für alle Trades gelten.

Beispiel 3, Volatilitätsskaliertes Ziel (ProOrder)

probuilder
atr = AverageTrueRange[14](close)

IF NOT onmarket AND RSI[14](close) < 30 THEN
  BUY 1 CONTRACT AT MARKET
  // Target distance adapts to recent volatility
  SET TARGET PROFIT ROUND(2 * atr)
ENDIF

Der Zielabstand wird beim Einstieg als das Doppelte des aktuellen ATR neu berechnet, sodass ruhige Märkte engere Ziele erhalten als volatile.

Häufige Fehler und Stolperfallen

  • Kurseinheiten, nicht Punkte oder Prozent. SET TARGET PROFIT misst seinen Abstand in Preiseinheiten des Instruments. Für Punkte verwenden Sie SET TARGET PPROFIT, für Prozent SET TARGET %PROFIT, für die Kontowährung SET TARGET $PROFIT. Eine Verwechslung der Einheit erzeugt Ziele, die völlig zu eng oder zu weit sind.
  • PROFIT liest keinen Gewinn. Das Schlüsselwort erscheint nur innerhalb des SET-Befehls. Um das laufende Ergebnis einer Strategie oder Position zu lesen, verwenden Sie STRATEGYPROFIT oder POSITIONPERF; das Schreiben von IF profit > 0 lässt sich nicht kompilieren.
  • Abstand, nicht Niveau. Der Wert ist ein Abstand zum Einstiegskurs, kein absoluter Preis. SET TARGET PROFIT 12000 erzeugt bei einem Index, der bei 12050 notiert, ein Ziel in 12000 Einheiten Entfernung, nicht ein Ziel bei 12000.
  • Der letzte Aufruf gewinnt. Aufeinanderfolgende SET TARGET Aufrufe überschreiben sich gegenseitig, nur die letzte Deklaration ist aktiv. Bedingte Blöcke, die auf derselben Bar auslösen, können ein beabsichtigtes Ziel unbemerkt ersetzen.
  • PPROFIT, Take-Profit-Abstand in Punkten.
  • %PROFIT, Take-Profit-Abstand in Prozent.
  • $PROFIT, Take-Profit-Abstand in Kontowährung.
  • SET, Präfix aller Deklarationen zur Orderverwaltung.
  • TARGET, die Take-Profit-Seite des SET-Befehls.
  • LOSS, Stop-Loss-Abstand in Kurseinheiten.
  • Set Target Loss, Target-Order, die in einem Verlustabstand vom Einstieg platziert wird.
  • STRATEGYPROFIT, realisierter Gewinn der Strategie in Kontowährung.
  • POSITIONPERF, Performance der offenen Position.
  • TRADEPRICE, der Einstiegskurs der aktuellen Position.