Bli medlem i dag
ProBacktest/probacktest · proorder

BUY

BUY i ProBacktest og ProOrder åpner en long posisjon. Dekker antallsenheter, ordretypene AT MARKET, LIMIT og STOP, samt vanlige feil ved dimensjonering og inngang.

Syntaks

probuilder
BUY x SHARES AT MARKET
probuilder
BUY x CONTRACT AT price LIMIT
probuilder
BUY x CONTRACT AT price STOP

Parametere

NavnTypeStandardBeskrivelse
xtallpåkrevdOrdreantall, tolket gjennom enheten som følger.
enhetSHARES, CONTRACT, LOT, CASHpåkrevdStørrelsesenhet. CASH angir et beløp i kontovaluta i stedet for et antall enheter.
ordretypeAT MARKET, AT price LIMIT, AT price STOPpåkrevdUmiddelbar utførelse til gjeldende pris, eller en ventende ordre på et angitt nivå.

Slik fungerer det

BUY legger inn en long inngangsordre. Med AT MARKET, fylles ordren til neste tilgjengelige pris. Med AT price LIMIT, venter en ventende ordre på å kjøpe på det oppgitte nivået eller bedre, under gjeldende pris. Med AT price STOP, kjøper en ventende ordre når prisen stiger gjennom det angitte nivået, den vanlige formen for breakout-innganger.

Kvantumsenheten må stemme med instrumentet: SHARES for aksjer, CONTRACT for futures og CFD-er, LOT for forex, og CASH for å dimensjonere ordren som et beløp i kontovaluta. Posisjonsakkumulering styres av CumulateOrders. Når den er aktivert, som er standard, stables gjentatte BUY-ordrer til en større posisjon; med DEFPARAM CumulateOrders = false, en ny BUY mens du allerede er long blir ignorert.

Inngangene pakkes normalt inn i en vakt for posisjonsstatus, som IF NOT LongOnMarket THEN eller IF NOT OnMarket THEN, slik at ordrer bare utløses når strategien faktisk skal holde en ny posisjon.

Eksempler

Eksempel 1, Betinget markedsinngang (ProBacktest)

probuilder
// Enter long at market when flat and the entry conditions hold
IF NOT LongOnMarket AND LongConditions THEN
    BUY 1 SHARES AT MARKET
ENDIF

Én aksje kjøpes til gjeldende markedspris, men bare når ingen long posisjon allerede er åpen. Dette er eksemplet fra den offisielle referansen.

Eksempel 2, Breakout-inngang med en ventende stoppordre (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

// Buy a break of the 20-bar high
entryLevel = Highest[20](high)

IF NOT onmarket THEN
  BUY 1 CONTRACT AT entryLevel STOP
ENDIF

Den ventende stoppordren ligger over markedet og fylles bare hvis prisen handles opp gjennom den forrige 20-bars-høyden.

Eksempel 3, CASH-dimensjonert inngang med et trendfilter (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

// Size the position as 5000 units of account currency
IF NOT onmarket AND close > Average[50](close) THEN
  BUY 5000 CASH AT MARKET
ENDIF

// Exit when price loses the average
IF longonmarket AND close < Average[50](close) THEN
  SELL AT MARKET
ENDIF

CASH sizing holder eksponeringen konstant i valutatermer på tvers av instrumenter med ulike priser, i stedet for å låse et antall enheter.

Vanlige feil og fallgruver

  • Utilsiktet pyramidering. CumulateOrders er aktivert som standard, så en inngangsbetingelse som holder seg sann over flere barer, stabler en ny BUY på hver av dem. Enten sett DEFPARAM CumulateOrders = false eller sikre inngangen med NOT LongOnMarket.
  • Ventende ordrer utløper etter én bar. A LIMIT eller STOP ordre som ikke blir utført på neste bar, kanselleres. Vedvarende ventende innganger må sendes inn på nytt hver bar så lenge oppsettet er gyldig.
  • Feil enhet for instrumentet. SHARES på et valutapar eller LOT på en aksje gir ikke ordren den tiltenkte størrelsen. Tilpass enheten til markedet, eller bruk CASH for en størrelse angitt i valuta.
  • BUY som utgang fra en short. Å lukke en short posisjon er oppgaven til EXITSHORT. En BUY som er dimensjonert større enn den åpne shorten snur posisjonen i stedet for bare å lukke den, noe som sjelden er den tilsiktede oppførselen.
  • SELL, lukker en long-posisjon.
  • SELLSHORT, åpner en short-posisjon.
  • EXITSHORT, lukker en short-posisjon.
  • MARKET, umiddelbar utførelse til gjeldende pris.
  • LIMIT, ventende ordre til en oppgitt pris eller bedre.
  • STOP, ventende ordre som utløses når prisen krysser et nivå.
  • CONTRACT, kvantumsenhet for futures og CFD-er.
  • SHARES, antallsenhet for aksjer.
  • LOT, kvantumsenhet for forex.
  • CASH, dimensjonerer en ordre i kontovalutaen.
  • ONMARKET, sann så lenge en posisjon er åpen.
  • CumulateOrders, styrer om gjentatte innganger stables.