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
SELL AT MARKETSELL x CONTRACT AT MARKETSELL AT price STOPSlik 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)
// Close the long at market when the exit conditions are met
IF LongOnMarket AND ExitConditions THEN
SELL AT MARKET
ENDIFPosisjonen 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)
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
ENDIFEn 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)
// Maintain a resting exit 50 points below the entry price
IF longonmarket THEN
SELL AT tradeprice - 50 * pointsize STOP
ENDIFDen 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 THENså intensjonen i koden forblir eksplisitt. - Ventende utganger utløper etter én bar. En hvilende
SELL ... STOPellerSELL ... LIMITordren 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.
Relaterte instruksjoner
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.