Bli medlem i dag
ProBacktest/probacktest · proorder

SELL

SELL i ProBacktest og ProOrder lukker en åpen long-posisjon. SELL går ut av longs mens SELLSHORT åpner shorts. Syntaks, ordretyper og eksempler forklart.

Syntaks

probuilder
SELL AT MARKET
probuilder
SELL x CONTRACT AT MARKET
probuilder
SELL AT price STOP

Slik fungerer det

SELL er utgangsinstruksjonen på long-siden. Skrevet uten et antall, SELL AT MARKET lukker hele den åpne long-posisjonen til neste tilgjengelige pris. Med et kvantum, som SELL 1 CONTRACT AT MARKET, lukker den bare en del av en større posisjon, og det er slik nedtrapping uttrykkes.

Ventende former er også tilgjengelige: SELL AT price LIMIT går ut på et angitt nivå eller bedre over markedet, en ordre for å ta gevinst, og SELL AT price STOP går ut så snart prisen faller gjennom et nivå, en manuell stoppordre. Som med alle ventende ordrer i ProBacktest og ProOrder kanselleres en ordre som ikke fylles etter én bar, og den må sendes inn på nytt så lenge utgangsregelen fortsatt gjelder.

Forskjellen fra SELLSHORT er viktig. SELL reduserer eller lukker bare en long-posisjon; når strategien er uten posisjon eller short, har en SELL-ordre ingen effekt. SELLSHORT åpner en ny short-posisjon, og EXITSHORT lukker den. De fire ordreinstruksjonene hører sammen som BUY med SELL for long-siden, og SELLSHORT med EXITSHORT for short-siden.

Eksempler

Eksempel 1, Regelbasert utgang fra en long-posisjon (ProBacktest)

probuilder
// Close the long at market when the exit conditions are met
IF LongOnMarket AND ExitConditions THEN
    SELL AT MARKET
ENDIF

Posisjonen lukkes til gjeldende markedspris når utgangsregelen utløses mens en long-handel er åpen. Dette er eksempelet fra den offisielle referansen.

Eksempel 2, Skalere ut halve posisjonen etter en gevinst (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

// Enter with two contracts when flat
IF NOT onmarket AND close CROSSES OVER Average[50](close) THEN
  BUY 2 CONTRACT AT MARKET
ENDIF

// Take half off after a 2 percent gain from entry
IF longonmarket AND close >= tradeprice * 1.02 AND countofposition = 2 THEN
  SELL 1 CONTRACT AT MARKET
ENDIF

// Close the remainder when the trend turns
IF longonmarket AND close CROSSES UNDER Average[50](close) THEN
  SELL AT MARKET
ENDIF

En SELL med angitt antall lukker deler av posisjonen, mens den siste SELL uten antall lukker det som er igjen.

Eksempel 3, Ventende stopputgang under inngangen (ProOrder)

probuilder
// Maintain a resting exit 50 points below the entry price
IF longonmarket THEN
  SELL AT tradeprice - 50 * pointsize STOP
ENDIF

Den ventende stoppordren sendes inn på nytt på hver bar så lenge longen er åpen, og holder en hard utgang 50 punkter under fyllprisen.

Vanlige feil og fallgruver

  • SELL er ikke SELLSHORT. SELL lukker longs; SELLSHORT åpner shorts. En strategi som skal gå short, men som sender SELL uten posisjon, gjør ingenting, og feilen er stille fordi ordren rett og slett ignoreres.
  • Ingen long å lukke. Når strategien er flat eller short, har SELL ingen effekt. Sikre utgangsblokker med IF LongOnMarket THEN så intensjonen i koden forblir eksplisitt.
  • Ventende utganger utløper etter én bar. En hvilende SELL ... STOP eller SELL ... LIMIT ordren kanselleres hvis den ikke er fylt etter neste bar. Send den inn på nytt på hver bar mens posisjonen er åpen, som i eksempel 3.
  • Avvik i delantall. En SELL med angitt antall større enn den åpne posisjonen lukker bare posisjonen; den reverserer ikke til en short. Kontroller størrelsen med COUNTOFPOSITION før du skalerer ut faste antall.
  • BUY, åpner 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å.
  • LONGONMARKET, sann så lenge en long-posisjon er åpen.
  • ONMARKET, sann så lenge en posisjon er åpen.
  • TRADEPRICE, utførelsesprisen for en tidligere handel.