SELL
SELL i ProBacktest och ProOrder stänger en öppen long-position. SELL stänger longs medan SELLSHORT öppnar shorts. Syntax, ordertyper och exempel förklarade.
Syntax
SELL AT MARKETSELL x CONTRACT AT MARKETSELL AT price STOPSå fungerar det
SELL är exitinstruktionen för long-sidan. Skriven utan kvantitet, SELL AT MARKET stänger hela den öppna long-positionen till nästa tillgängliga pris. Med en kvantitet, till exempel SELL 1 CONTRACT AT MARKET, stänger den bara en del av en större position, vilket är så utskalning uttrycks.
Väntande former finns också: SELL AT price LIMIT exitar på en angiven nivå eller bättre över marknaden, en vinsthemtagningsorder, och SELL AT price STOP går ur så snart priset faller genom en nivå, en manuell stopporder. Som med alla väntande order i ProBacktest och ProOrder avbryts en ofylld order efter en bar och måste skickas in igen så länge exitregeln fortfarande gäller.
Skillnaden mot SELLSHORT har betydelse. SELL kan bara minska eller stänga en long-position; när strategin är utan position eller short har en SELL-order ingen effekt. SELLSHORT öppnar en ny short-position, och EXITSHORT stänger den. De fyra orderinstruktionerna hör samman som BUY med SELL för long-sidan, och SELLSHORT med EXITSHORT för short-sidan.
Exempel
Exempel 1, Regelbaserad exit från en long-position (ProBacktest)
// Close the long at market when the exit conditions are met
IF LongOnMarket AND ExitConditions THEN
SELL AT MARKET
ENDIFPositionen stängs till aktuellt marknadspris när exitregeln utlöses medan en long-affär är öppen. Detta är exemplet från den officiella referensen.
Exempel 2, Skala ur halva positionen efter en vinst (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 angiven kvantitet stänger en del av positionen, medan den avslutande SELL utan kvantitet nollar det som återstår.
Exempel 3, Väntande stop-exit under entryn (ProOrder)
// Maintain a resting exit 50 points below the entry price
IF longonmarket THEN
SELL AT tradeprice - 50 * pointsize STOP
ENDIFDen väntande stop-ordern läggs på nytt varje bar så länge longen är öppen, vilket håller en hård exit 50 punkter under fyllningspriset.
Vanliga fel och fallgropar
- SELL är inte SELLSHORT. SELL stänger longs; SELLSHORT öppnar shorts. En strategi som är tänkt att gå short men som lägger SELL när den är utan position gör ingenting, och felet är tyst eftersom ordern helt enkelt ignoreras.
- Ingen long att stänga. När strategin är flat eller short har SELL ingen effekt. Skydda exitblock med
IF LongOnMarket THENså att kodens avsikt förblir tydlig. - Väntande exits löper ut efter en bar. En vilande
SELL ... STOPellerSELL ... LIMITordern avbryts om den inte fylls efter nästa bar. Skicka in den på nytt på varje bar medan positionen är öppen, som i exempel 3. - Avvikelse i delkvantiteten. En SELL med angiven kvantitet som är större än den öppna positionen stänger bara positionen; den vänder inte till en short. Kontrollera storleken med COUNTOFPOSITION innan du skalar ur fasta mängder.
Relaterade instruktioner
BUY, öppnar en long-position.SELLSHORT, öppnar en short-position.EXITSHORT, stänger en short-position.MARKET, omedelbar exekvering till aktuellt pris.LIMIT, väntande order till angivet pris eller bättre.STOP, väntande order som utlöses när priset korsar en nivå.LONGONMARKET, sant så länge en long-position är öppen.ONMARKET, sant så länge någon position är öppen.TRADEPRICE, exekveringspriset för en tidigare affär.