Jetzt beitreten
ProBacktest/probacktest · proorder

LIMIT

LIMIT in ProBacktest und ProOrder platziert eine schwebende Order, die zu einem angegebenen Kurs oder besser ausgeführt wird. Syntax mit BUY, SELL und SELLSHORT, Beispiele, Stolperfallen.

Syntax

probuilder
BUY quantity CONTRACT AT price LIMIT
probuilder
SELLSHORT quantity CONTRACT AT price LIMIT
probuilder
SELL AT price LIMIT
EXITSHORT AT price LIMIT

Parameter

NameTypStandardBeschreibung
pricenumerischer AusdruckkeineDas Limit-Niveau. Die Order wird zu diesem Kurs oder besser ausgeführt, niedriger bei einem Kauf, höher bei einem Verkauf.

So funktioniert es

LIMIT ist einer der drei Ausführungsmodi der Order-Befehle, neben MARKET für sofortige Ausführung und STOP für ausstehende Stop-Orders. Eine Limit-Order nennt den schlechtesten akzeptablen Preis. Bei Einstiegen, BUY ... LIMIT liegt unter dem aktuellen Markt und wird bei einem Rücksetzer auf das Niveau ausgeführt, und SELLSHORT ... LIMIT liegt darüber und wird bei einer Rally ausgeführt. Für Ausstiege, SELL ... LIMIT und EXITSHORT ... LIMIT sind die Standard-Orders zur Gewinnmitnahme und schließen die Position, sobald der Kurs ein günstiges Niveau erreicht.

Die Richtung relativ zum Markt ist entscheidend. Ein Kauflimit über dem aktuellen Kurs ist bereits marktfähig und wird sofort ausgeführt, es verhält sich wie eine Market-Order. Das schwebende Verhalten entsteht nur, wenn das Niveau auf der passiven Seite liegt, bei Käufen unter dem Markt, bei Verkäufen darüber.

Schwebende Orders in ProBacktest und ProOrder haben eine Lebensdauer von einem Bar. Eine nicht ausgeführte Limit-Order wird am Ende des nächsten Bars gelöscht, daher muss eine Strategie, die die Order länger im Markt haben will, sie auf jedem Bar erneut senden, solange die Einstiegs- oder Ausstiegsregel gilt. Das Senden einer neuen schwebenden Order in dieselbe Richtung ersetzt die vorherige, was es auch möglich macht, das Niveau Bar für Bar zu verschieben.

Beispiele

Beispiel 1, Einen Rücksetzer nach einem MACD-Signal kaufen (ProBacktest)

probuilder
myMACD = MACD[12,26,9](close)
long = myMACD crosses over 0
IF long THEN
    // rest a buy order 10 price units below the close
    BUY 1 LOT AT close-10 LIMIT
ENDIF

Wenn die MACD-Linie die Nulllinie nach oben kreuzt, wird eine Limit-Order 10 Kurseinheiten unter dem Schlusskurs platziert. Der Trade wird nur eröffnet, wenn der Kurs innerhalb des nächsten Bars auf dieses Niveau zurückfällt, was den Einstieg verbessert, auf die Gefahr hin, die Bewegung zu verpassen. Dies ist das Beispiel aus der offiziellen Referenz.

Beispiel 2, Short in eine Rally mit festem Offset (ProOrder)

probuilder
// fade signal: RSI overbought
overbought = RSI[14](close) > 70

IF NOT onmarket AND overbought THEN
  // sell short if price rallies 20 points above the current close
  SELLSHORT 1 CONTRACT AT close + 20 * pointsize LIMIT
  SET STOP PLOSS 40
ENDIF

Der Short-Einstieg liegt über dem Markt, sodass die Position nur bei einem weiteren Vorstoß nach oben eröffnet wird, zu einem besseren Kurs als bei einem sofortigen Verkauf zum Marktpreis.

Beispiel 3, Gewinnmitnahme-Ausstieg, auf jedem Bar erneut gesendet (ProOrder)

probuilder
// keep a resting take-profit 100 points above the entry price
IF longonmarket THEN
  SELL AT tradeprice + 100 * pointsize LIMIT
ENDIF

Da schwebende Orders nach einem Bar verfallen, wird der Ausstieg auf jedem Bar erneut gesendet, solange die Long-Position offen ist, wodurch ein permanentes Gewinnziel 100 Punkte über dem Ausführungskurs erhalten bleibt.

Häufige Fehler und Stolperfallen

  • Lebensdauer von einem Bar. Eine nicht ausgeführte Limit-Order wird nach dem nächsten Bar gelöscht. Code, der die Order einmal innerhalb eines Einstiegsblocks platziert und nie wiederholt, handelt in der Regel weit weniger als beabsichtigt. Senden Sie sie erneut, solange die Bedingung gilt, wie in Beispiel 3.
  • Marktfähige Limits werden sofort ausgeführt. Ein Kauflimit über dem aktuellen Kurs oder ein Verkaufslimit darunter wird sofort ausgeführt. Ein Vorzeichenfehler im Offset verwandelt einen geduldigen Einstieg stillschweigend in einen sofortigen.
  • LIMIT ist nicht STOP. Kauf-Limits liegen unter dem Markt, Kauf-Stops darüber. Breakout-Einstiege brauchen STOP, Pullback-Einstiege brauchen LIMIT. Eine Verwechslung kehrt die Logik der Strategie um.
  • Die Ausführungen im Backtest sind optimistisch. ProBacktest führt ein Limit aus, sobald der Kurs das Niveau berührt. Live kann ein berührtes Niveau ohne Durchhandeln die Order unausgeführt lassen, daher überschätzen Backtests die Ausführungsquote enger Limit-Einstiege.
  • BUY, eröffnet eine Long-Position.
  • SELL, schließt eine Long-Position.
  • SELLSHORT, eröffnet eine Short-Position.
  • EXITSHORT, schließt eine Short-Position.
  • MARKET, sofortige Ausführung zum aktuellen Kurs.
  • STOP (pending), ausstehende Order, die ausgelöst wird, wenn der Kurs ein Niveau kreuzt.
  • ONMARKET, wahr, solange eine Position offen ist.
  • TRADEPRICE, der Einstiegskurs der aktuellen Position.