EXITSHORT
EXITSHORT sluit een open short positie in ProBacktest en ProOrder, ofwel at market ofwel als pending order. Syntaxis, uitgewerkte voorbeelden en veelvoorkomende valkuilen.
Syntaxis
EXITSHORT AT MARKETEXITSHORT x SHARES AT MARKETPending varianten plaatsen de exit op een gekozen prijs in plaats van direct uit te voeren:
EXITSHORT AT price LIMIT
EXITSHORT AT price STOPx is het aantal aandelen, lots of contracten dat wordt teruggekocht. Zonder opgave van de hoeveelheid wordt de hele short positie gesloten.
Hoe het werkt
Een shortpositie wordt geopend met SELLSHORT en gesloten door het instrument terug te kopen. EXITSHORT voert die terugkoop uit zonder ooit een long te openen: als er geen short positie open staat, heeft de instructie niets te sluiten en wordt er geen order verzonden. Dat maakt het veiliger dan het gebruik van BUY voor exits, wat een nieuwe long positie zou openen zodra de short gesloten is.
De marktvorm wordt uitgevoerd tegen de eerstvolgende beschikbare prijs. De pending vormen blijven bij de broker liggen totdat de prijs het opgegeven niveau bereikt, LIMIT voor exits tegen een gunstige prijs onder de huidige, STOP voor beschermende exits erboven. Een aantal maakt van de instructie een gedeeltelijke cover, die de positie verkleint terwijl de rest open blijft, wat de standaardmanier is om uit een gepyramideerde short af te bouwen.
In ProBacktest wordt de instructie door de simulatiemotor uitgevoerd met dezelfde prijslogica als andere orders. In live ProOrder wordt de exit net als elke andere order naar de broker gestuurd.
Voorbeelden
Voorbeeld 1, Door MACD gestuurde short entry en exit (ProBacktest)
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
ENDIFDe canonieke heen-en-terugconversie uit de officiële referentie. De SHORTONMARKET guards zorgen ervoor dat entries en exits alleen afgaan in de juiste positiestatus.
Voorbeeld 2, Gefaseerd uitstappen uit een gepyramideerde short (ProOrder)
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 40De vorm met aantal dekt een deel van de short, waarmee winst wordt vastgelegd terwijl de resterende lots blootgesteld blijven aan verdere daling.
Voorbeeld 3, Pending limit exit op een winstdoel (ProOrder)
// Rest a buy-back order 30 points below the entry price
IF SHORTONMARKET THEN
EXITSHORT AT TRADEPRICE - 30 * pointsize LIMIT
ENDIFIn plaats van te wachten tot de strategiecode reageert, ligt de exitorder bij de broker en wordt hij uitgevoerd op het moment dat de koers naar het doelniveau zakt.
Veelvoorkomende fouten en valkuilen
- Geen positie, geen order.
EXITSHORTdoet niets wanneer de strategie niet short is. Logica die erop vertrouwt dat het onvoorwaardelijk afgaat, bijvoorbeeld als het platzetten aan het einde van de sessie, moet verifiërenSHORTONMARKETeerst of gebruikDEFPARAM FLATAFTER. - BUY gebruiken om een short te sluiten.
BUYverkleint een short en blijft dan doorkopen tot een long positie. Als het alleen de bedoeling is om te coveren,EXITSHORTis de juiste instructie omdat die de positie nooit kan omdraaien. - Gedeeltelijke exit groter dan de positie. Meer aandelen opvragen dan er worden aangehouden sluit simpelweg de hele positie. Bepaal de grootte van gedeeltelijke uitstappen op basis van
COUNTOFSHORTSHARESom de rekenkunde zuiver te houden. - Pending exits worden elke bar opnieuw geëvalueerd. Een openstaande
EXITSHORT ... LIMITdie binnen een voorwaarde staat, wordt op elke bar waarop de voorwaarde geldt vernieuwd en geannuleerd wanneer die niet langer geldt. Houd de voorwaarde waar zolang de order actief moet blijven.
Gerelateerde instructies
SELLSHORT, opent een short positie of breidt deze uit.SELL, sluit de hele long positie of een deel ervan.BUY, opent een long positie of breidt deze uit.MARKET, voert een order uit tegen de huidige marktprijs.LIMIT, pending order die wordt uitgevoerd tegen een opgegeven prijs of beter.STOP (pending), pending order die afgaat wanneer de koers een niveau bereikt.SHORTONMARKET, waar zolang er een short positie open is.ONMARKET, waar zolang er een positie open is.