Bli medlem i dag
ProBacktest/probacktest · proorder

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

probuilder
x CONTRACT

Brukt inne i en ordreinstruksjon:

probuilder
BUY 5 CONTRACTS AT MARKET

Parametere

NavnTypeStandardBeskrivelse
xnumerisk1 ved inngang, hele posisjonen ved utgangAntall 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)

probuilder
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 40

Krysset 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)

probuilder
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 2

Kontraktantallet 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)

probuilder
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, SELLSHORT eller EXITSHORT, bestemmer retningen på handelen.
  • Multiplikasjon av forex-lot. På Forex-instrumenter multipliseres antallet med lot-størrelsen, så BUY 1 CONTRACT handler én hel lot, ikke én valutaenhet. Sjekk instrumentets lotdefinisjon før du dimensjonerer.
  • Uoppgitte mengder faller tilbake på standardverdier. BUY AT MARKET handler stille én enhet og SELL AT MARKET lukker 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 / price gir sjelden et heltall. Pakk størrelsesformler i ROUND, eller legg til en eksplisitt nedre grense, for å holde det forespurte antallet bevisst.
  • 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.