CONTRACT
CONTRACT ist eine Mengeneinheit in ProBacktest und ProOrder, die die Ordergröße in Kontrakten festlegt, wie in BUY 5 CONTRACTS AT MARKET, austauschbar mit SHARES oder LOT.
Syntax
x CONTRACTInnerhalb eines Orderbefehls verwendet:
BUY 5 CONTRACTS AT MARKETParameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
x | numerisch | 1 beim Einstieg, volle Position beim Ausstieg | Anzahl der Kontrakte für die Order. Akzeptiert Literale oder numerische Ausdrücke. |
So funktioniert es
CONTRACT legt fest, wie viele Kontrakte eine Order handelt. Es trägt keine eigene Richtung: BUY 5 CONTRACTS AT MARKET eröffnet einen Long oder baut ihn aus, SELLSHORT 5 CONTRACTS AT MARKET eröffnet einen Short oder baut ihn aus, und SELL 2 CONTRACTS AT MARKET reduziert einen Long um zwei Kontrakte.
Das Schlüsselwort ist eines von mehreren austauschbaren Einheitenwörtern. SHARE, CONTRACTS, PERPOINT, LOT und LOTS werden an derselben Stelle bei jedem Instrumententyp akzeptiert, und die Schreibweise im Singular oder Plural macht funktional keinen Unterschied. Bei Forex wird die angegebene Menge mit der Größe eines Lots multipliziert.
Wenn keine Menge angegeben ist, gelten Standardwerte. Eine Einstiegsorder wie BUY AT MARKET handelt eine Einheit. Eine Ausstiegsorder wie SELL AT MARKET oder EXITSHORT AT MARKET schließt die gesamte offene Position, unabhängig von ihrer Größe.
Die Menge kann eine Variable sein, und so werden position sizing-Regeln, zum Beispiel eine aus der Volatilität oder aus der Equity des Kontos abgeleitete Kontraktanzahl, in den Orderfluss eingebunden.
Beispiele
Beispiel 1, Fester Einstieg mit fünf Kontrakten (ProBacktest)
long = close crosses over Average[50](close)
IF NOT LongOnMarket AND long THEN
// Order size fixed at five contracts
BUY 5 CONTRACTS AT MARKET
ENDIF
SET STOP PLOSS 40Das Kreuzen der gleitenden Durchschnitte löst einen Long-Einstieg von genau fünf Kontrakten aus, die Größe wird durch die Einheit CONTRACT angegeben.
Beispiel 2, Volatilitätsskalierte Kontraktanzahl (ProOrder)
DEFPARAM CumulateOrders = false
// Fewer contracts when the market is volatile
atr = AverageTrueRange[14](close)
n = MAX(1, ROUND(200 / atr))
IF NOT OnMarket AND RSI[14](close) crosses over 50 THEN
BUY n CONTRACT AT MARKET
ENDIF
SET STOP %LOSS 2Die Kontraktanzahl ist eine Variable, die auf jedem Bar neu berechnet wird: Ein ruhiger Markt erlaubt mehr Kontrakte, ein volatiler weniger, mit einer Untergrenze von einem.
Beispiel 3, Teilausstieg in Kontrakten (ProOrder)
DEFPARAM CumulateOrders = false
IF NOT OnMarket AND close crosses over Highest[20](high)[1] THEN
BUY 4 CONTRACTS AT MARKET
ENDIF
// Bank half the position after a favorable move, keep the rest running
IF LongOnMarket AND close >= TRADEPRICE * 1.02 THEN
SELL 2 CONTRACTS AT MARKET
ENDIF
SET STOP %TRAILING 1.5Die Angabe einer Menge auf der Ausstiegsorder schließt nur diese Anzahl von Kontrakten, hier zwei von vier, während der Rest unter dem Trailing Stop offen bleibt.
Häufige Fehler und Stolperfallen
- CONTRACT legt die Größe fest, nicht die Richtung. Das Schlüsselwort öffnet oder schließt von sich aus nichts. Der umgebende Befehl,
BUY,SELL,SELLSHORToderEXITSHORT, entscheidet über die Richtung des Trades. - Forex-Lot-Multiplikation. Bei Forex-Instrumenten wird die Menge mit der Lot-Größe multipliziert, daher
BUY 1 CONTRACThandelt ein ganzes Lot, nicht eine Währungseinheit. Prüfen Sie die Lot-Definition des Instruments, bevor Sie die Größe festlegen. - Nicht angegebene Mengen fallen auf Standardwerte zurück.
BUY AT MARKEThandelt stillschweigend eine Einheit undSELL AT MARKETschließt die gesamte Position. Eine fehlende Zahl ist kein Fehler, daher verändert ein Tippfehler, der die Menge weglässt, die Position Size ohne Warnung. - Gebrochene Anzahlen werden gerundet. Ein berechneter Ausdruck wie
capital / priceergibt selten eine ganze Zahl. Verpacken Sie Sizing-Formeln inROUND, oder fügen Sie eine explizite Untergrenze hinzu, damit die angeforderte Menge bewusst bleibt.
Verwandte Befehle
CASH, Ordermenge als Geldbetrag.LOT, Ordermenge in Lots.SHARES, Ordermenge als Anzahl von Aktien.BUY, eröffnet eine Long-Position oder baut sie aus.SELL, schließt oder reduziert eine Long-Position.SELLSHORT, eröffnet eine Short-Position oder baut sie aus.EXITSHORT, schließt oder reduziert eine Short-Position.MARKET, sofortige Ausführung zum aktuellen Kurs.COUNTOFPOSITION, Größe der offenen Position in Einheiten.