CONTRACT
CONTRACT is een eenheid voor hoeveelheid in ProBacktest en ProOrder die de ordergrootte in contracten instelt, zoals in BUY 5 CONTRACTS AT MARKET, uitwisselbaar met SHARES of LOT.
Syntaxis
x CONTRACTGebruikt binnen een orderinstructie:
BUY 5 CONTRACTS AT MARKETParameters
| Naam | Type | Standaard | Beschrijving |
|---|---|---|---|
x | numeriek | 1 bij instap, volledige positie bij uitstap | Aantal contracten voor de order. Accepteert literalen of numerieke expressies. |
Hoe het werkt
CONTRACT geeft aan hoeveel contracten een order verhandelt. Het heeft geen eigen richting: BUY 5 CONTRACTS AT MARKET opent of vergroot een long, SELLSHORT 5 CONTRACTS AT MARKET opent of vult een short aan, en SELL 2 CONTRACTS AT MARKET verlaagt een long met twee contracten.
Het keyword is een van meerdere onderling uitwisselbare eenheidswoorden. SHARE, CONTRACTS, PERPOINT, LOT en LOTS worden op dezelfde plek geaccepteerd bij elk instrumenttype, en enkelvoud of meervoud maakt functioneel geen verschil. Op Forex wordt het opgegeven aantal vermenigvuldigd met de grootte van één lot.
Wanneer geen hoeveelheid is opgegeven, gelden standaardwaarden. Een entry-order zoals BUY AT MARKET verhandelt één eenheid. Een uitstaporder zoals SELL AT MARKET of EXITSHORT AT MARKET sluit de volledige open positie, ongeacht de grootte.
De hoeveelheid mag een variabele zijn, en zo worden regels voor position size, bijvoorbeeld een aantal contracten afgeleid van de volatiliteit of van de equity op de rekening, in de orderstroom verwerkt.
Voorbeelden
Voorbeeld 1, Vaste instap van vijf contracten (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 40De kruising van de moving averages activeert een long instap van precies vijf contracten, de grootte die door de eenheid CONTRACT wordt opgegeven.
Voorbeeld 2, Aantal contracten geschaald naar volatiliteit (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 2Het aantal contracten is een variabele die elke bar opnieuw wordt berekend: een rustige markt staat meer contracten toe, een volatiele minder, met een ondergrens van één.
Voorbeeld 3, Gedeeltelijke uitstap in contracten (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.5Een hoeveelheid opgeven op de uitstaporder sluit alleen dat aantal contracten, hier twee van de vier, terwijl de rest open blijft onder de trailing stop.
Veelvoorkomende fouten en valkuilen
- CONTRACT stelt de grootte in, niet de richting. Het keyword opent of sluit nooit zelf iets. De omringende instructie,
BUY,SELL,SELLSHORTofEXITSHORT, bepaalt de kant van de trade. - Vermenigvuldiging van forex lots. Op Forex-instrumenten wordt de hoeveelheid vermenigvuldigd met de lotgrootte, dus
BUY 1 CONTRACThandelt één volledig lot, niet één valuta-eenheid. Controleer de lotdefinitie van het instrument voordat je de grootte bepaalt. - Niet opgegeven hoeveelheden vallen terug op standaardwaarden.
BUY AT MARKETverhandelt stilzwijgend één eenheid enSELL AT MARKETsluit de hele positie. Een ontbrekend getal is geen fout, dus een typefout waardoor de kwantiteit wegvalt verandert de position size zonder waarschuwing. - Gebroken aantallen worden afgerond. Een berekende expressie zoals
capital / pricelevert zelden een geheel getal op. Wikkel sizingformules inROUND, of voeg een expliciet minimum toe, om de gevraagde hoeveelheid bewust te houden.
Gerelateerde instructies
CASH, ordergrootte als geldbedrag.LOT, orderhoeveelheid in lots.SHARES, orderhoeveelheid als aantal aandelen.BUY, opent een long positie of breidt deze uit.SELL, sluit of verkleint een long positie.SELLSHORT, opent een short positie of breidt deze uit.EXITSHORT, sluit of verkleint een short positie.MARKET, onmiddellijke uitvoering tegen de huidige prijs.COUNTOFPOSITION, grootte van de open positie in eenheden.