Bli medlem idag
ProBacktest/probacktest · proorder

EXITSHORT

EXITSHORT stänger en öppen short-position i ProBacktest och ProOrder, antingen till marknadspris eller som en vilande order. Syntax, genomgångna exempel och vanliga fallgropar.

Syntax

probuilder
EXITSHORT AT MARKET
probuilder
EXITSHORT x SHARES AT MARKET

Vilande varianter placerar exiten till ett valt pris i stället för att utföras omedelbart:

probuilder
EXITSHORT AT price LIMIT
EXITSHORT AT price STOP

x är antalet aktier, lotter eller kontrakt som ska köpas tillbaka. Utan angiven kvantitet stängs hela short-positionen.

Så fungerar det

En short-position öppnas med SELLSHORT och stängs genom att köpa tillbaka instrumentet. EXITSHORT utför det återköpet utan att någonsin öppna en long: om ingen short-position är öppen har instruktionen inget att stänga och ingen order skickas. Det gör den säkrare än att använda BUY för exitar, vilket skulle öppna en ny long-position när shortpositionen är stängd.

Marknadsformen exekveras till nästa tillgängliga pris. De väntande formerna ligger kvar hos mäklaren till dess att priset når den angivna nivån, LIMIT för exits till ett gynnsamt pris under det nuvarande, STOP för skyddande exits ovanför den. En kvantitet gör instruktionen till en partiell täckning, som minskar positionen men lämnar resten öppen, vilket är standardsättet att skala ur en pyramiderad short.

I ProBacktest fylls instruktionen av simuleringsmotorn enligt samma prislogik som används för andra order. I live-ProOrder skickas exiten till mäklaren som vilken annan order som helst.

Exempel

Exempel 1, MACD-drivet short-entry och exit (ProBacktest)

probuilder
myMACD = MACD[12,26,9](close)

// Short when the MACD line falls through zero,
// cover when it climbs back above zero
short = myMACD crosses under 0
exit = myMACD crosses over 0

IF NOT SHORTONMARKET AND short THEN
  SELLSHORT 1 LOT AT MARKET
ENDIF

IF SHORTONMARKET AND exit THEN
  EXITSHORT AT MARKET
ENDIF

Den kanoniska rundturen från den officiella referensen. Den SHORTONMARKET skydd ser till att entryer och exitar bara utlöses i rätt positionstillstånd.

Exempel 2, Skala ur en pyramiderad short (ProOrder)

probuilder
DEFPARAM CumulateOrders = true

// Cover 2 lots once the short is 25 points in profit,
// keep the rest running with a trailing stop
IF SHORTONMARKET AND TRADEPRICE - close >= 25 * pointsize AND COUNTOFSHORTSHARES > 2 THEN
  EXITSHORT 2 SHARES AT MARKET
ENDIF

SET STOP TRAILING 40

Kvantitetsformen täcker en del av shorten, säkrar vinst medan de återstående lotterna förblir exponerade mot ytterligare nedsida.

Exempel 3, Vilande limit-exit vid ett vinstmål (ProOrder)

probuilder
// Rest a buy-back order 30 points below the entry price
IF SHORTONMARKET THEN
  EXITSHORT AT TRADEPRICE - 30 * pointsize LIMIT
ENDIF

I stället för att vänta på att strategikoden ska reagera ligger exitordern hos mäklaren och fylls i samma stund som priset handlas ned till målnivån.

Vanliga fel och fallgropar

  • Ingen position, ingen order. EXITSHORT gör ingenting när strategin inte är short. Logik som förlitar sig på att den utlöses villkorslöst, till exempel som en utjämning vid sessionens slut, bör kontrollera SHORTONMARKET först eller använd DEFPARAM FLATAFTER.
  • Att använda BUY för att stänga en short. BUY minskar en short och fortsätter sedan att köpa in i en long-position. När avsikten bara är att täcka, EXITSHORT är den korrekta instruktionen eftersom den aldrig kan vända positionen.
  • Delexit större än positionen. Att begära fler aktier än som innehas stänger helt enkelt hela positionen. Dimensionera partiella exits utifrån COUNTOFSHORTSHARES för att hålla aritmetiken korrekt.
  • Vilande exits utvärderas om på varje bar. En väntande EXITSHORT ... LIMIT som placeras inuti ett villkor förnyas på varje bar där villkoret håller och avbryts när det inte längre håller. Håll villkoret sant så länge ordern ska vara aktiv.
  • SELLSHORT, öppnar eller utökar en short-position.
  • SELL, stänger hela eller delar av en long-position.
  • BUY, öppnar eller utökar en long-position.
  • MARKET, utför en order till aktuellt marknadspris.
  • LIMIT, vilande order som utförs till angivet pris eller bättre.
  • STOP (pending), vilande order som utlöses när priset når en nivå.
  • SHORTONMARKET, sant så länge en short-position är öppen.
  • ONMARKET, sant så länge någon position är öppen.