CONTRACT
CONTRACT er en mengdeenhet i ProBacktest og ProOrder som angir ordrestørrelse i kontrakter, som i BUY 5 CONTRACTS AT MARKET, og kan brukes om hverandre med SHARES eller LOT.
Syntaks
x CONTRACTBrukt inne i en ordreinstruksjon:
BUY 5 CONTRACTS AT MARKETParametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
x | numerisk | 1 ved inngang, hele posisjonen ved utgang | Antall kontrakter for ordren. Godtar litteraler eller numeriske uttrykk. |
Slik fungerer det
CONTRACT angir hvor mange kontrakter en ordre handler. Den bærer ingen egen retning: BUY 5 CONTRACTS AT MARKET åpner eller øker en long, SELLSHORT 5 CONTRACTS AT MARKET åpner eller øker en short, og SELL 2 CONTRACTS AT MARKET reduserer en long med to kontrakter.
Nøkkelordet er ett av flere utbyttbare enhetsord. SHARE, CONTRACTS, PERPOINT, LOT og LOTS godtas i samme posisjon på alle instrumenttyper, og entalls- eller flertallsstavemåte gjør ingen funksjonell forskjell. På Forex multipliseres den angitte mengden med størrelsen på én lot.
Når ingen mengde er oppgitt, gjelder standardverdiene. En inngangsordre som BUY AT MARKET handler én enhet. En utgangsordre som SELL AT MARKET eller EXITSHORT AT MARKET lukker hele den åpne posisjonen, uansett størrelse.
Mengden kan være en variabel, og det er slik regler for position size, for eksempel et kontraktantall utledet fra volatilitet eller fra equity på kontoen, kobles inn i ordreflyten.
Eksempler
Eksempel 1, Fast inngang på fem kontrakter (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 40Krysset mellom de glidende gjennomsnittene utløser en long-inngang på nøyaktig fem kontrakter, størrelsen angitt av enheten CONTRACT.
Eksempel 2, Volatilitetsskalert kontraktantall (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 2Kontraktantallet er en variabel som beregnes på nytt hver bar: et rolig marked tillater flere kontrakter, et volatilt marked færre, med én som nedre grense.
Eksempel 3, Delvis utgang i kontrakter (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.5Å angi en mengde på utgangsordren lukker bare så mange kontrakter, her to av fire, mens resten holdes åpen under trailing stop.
Vanlige feil og fallgruver
- CONTRACT angir størrelse, ikke retning. Nøkkelordet åpner eller lukker aldri noe av seg selv. Den omsluttende instruksjonen,
BUY,SELL,SELLSHORTellerEXITSHORT, bestemmer retningen på handelen. - Multiplikasjon av forex-lot. På Forex-instrumenter multipliseres antallet med lot-størrelsen, så
BUY 1 CONTRACThandler én hel lot, ikke én valutaenhet. Sjekk instrumentets lotdefinisjon før du dimensjonerer. - Uoppgitte mengder faller tilbake på standardverdier.
BUY AT MARKEThandler stille én enhet ogSELL AT MARKETlukker hele posisjonen. Et manglende tall er ikke en feil, så en skrivefeil som mister kvantumet, endrer position size uten varsel. - Desimalantall rundes av. Et beregnet uttrykk, for eksempel
capital / pricegir sjelden et heltall. Pakk størrelsesformler iROUND, eller legg til en eksplisitt nedre grense, for å holde det forespurte antallet bevisst.
Relaterte instruksjoner
CASH, ordrestørrelse som et pengebeløp.LOT, ordrekvantum i lots.SHARES, ordrekvantum som et antall aksjer.BUY, åpner eller øker en long-posisjon.SELL, lukker eller reduserer en long-posisjon.SELLSHORT, åpner eller øker en short-posisjon.EXITSHORT, lukker eller reduserer en short-posisjon.MARKET, umiddelbar utførelse til gjeldende pris.COUNTOFPOSITION, størrelsen på den åpne posisjonen i enheter.