SELLSHORT
SELLSHORT in ProBacktest en ProOrder opent een short positie tegen marktprijs of met pending orders. SELLSHORT opent shorts terwijl SELL longs sluit. Voorbeelden inbegrepen.
Syntaxis
SELLSHORT quantity SHARES AT MARKETSELLSHORT x CONTRACT AT MARKETSELLSHORT x CONTRACT AT price LIMIT
SELLSHORT x CONTRACT AT price STOPParameters
| Naam | Type | Standaard | Beschrijving |
|---|---|---|---|
quantity | getal | geen | Aantal eenheden om short te gaan. Het keyword voor de eenheid dat volgt, SHARES, CONTRACT of LOT, past bij het type instrument. |
price | getal | geen | Triggerniveau voor de pending LIMIT- of STOP-vormen. |
Hoe het werkt
SELLSHORT is de instap-instructie aan de shortkant. SELLSHORT quantity SHARES AT MARKET opent een short positie van de opgegeven grootte tegen de volgende beschikbare prijs. Het unit-keyword past zich aan het instrument aan: SHARES voor aandelen, CONTRACT voor futures en CFD's, LOT voor forex.
Pending vormen zijn ook beschikbaar. SELLSHORT ... AT price LIMIT wacht om te shorten op het opgegeven niveau of beter boven de huidige markt, en stapt in op kracht. SELLSHORT ... AT price STOP gaat short zodra de koers door een niveau onder de markt valt, een breakdown-instap. Zoals bij alle openstaande orders in ProBacktest en ProOrder wordt een order dat aan het eind van de volgende bar niet is uitgevoerd geannuleerd en moet het opnieuw worden ingelegd zolang de instapregel geldig blijft.
Het onderscheid met SELL is belangrijk. SELL sluit een open long positie en opent nooit iets; SELLSHORT opent een nieuwe short positie. De vier orderinstructies vormen paren: BUY met SELL voor de long kant, en SELLSHORT met EXITSHORT voor de short kant. Een strategie die SELL uitgeeft terwijl ze short wil gaan doet niets zolang ze geen positie heeft, en de fout is stil omdat de order simpelweg wordt genegeerd.
Voorbeelden
Voorbeeld 1, Voorwaardelijke short entry tegen marktprijs (ProBacktest)
// Short when the trend filter turns down and no short is open
ShortConditions = close CROSSES UNDER Average[50](close)
IF NOT ShortOnMarket AND ShortConditions THEN
SELLSHORT 1 SHARES AT MARKET
ENDIFDe guard NOT ShortOnMarket voorkomt dat een tweede short op een bestaande wordt gestapeld; de order gaat alleen af wanneer aan de instapregel wordt voldaan terwijl er geen short open staat. Dit volgt het voorbeeld uit de officiële referentie, met de instapvoorwaarde expliciet gemaakt.
Voorbeeld 2, Short met een volledige exit-bracket (ProOrder)
DEFPARAM CumulateOrders = false
// Short an RSI overbought signal
IF NOT onmarket AND RSI[14](close) > 70 THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Protective bracket, stop above and target below the entry
SET STOP PLOSS 30
SET TARGET PPROFIT 60De short opent tegen marktprijs en heeft een stop van 30 punten met een target van 60 punten. Bij een short positie ligt de stop boven de entryprijs en het target eronder.
Voorbeeld 3, Pending breakdown-entry (ProOrder)
// Short a breakdown through the 20-bar low
supportLevel = lowest[20](low)
IF NOT onmarket THEN
// Resubmit the pending order each bar while flat
SELLSHORT 1 CONTRACT AT supportLevel STOP
ENDIFDe pending STOP-order ligt onder de markt en wordt alleen uitgevoerd als de prijs de low van 20 bars doorbreekt. Door hem elke bar opnieuw in te leggen blijft het niveau actueel terwijl de low beweegt.
Veelvoorkomende fouten en valkuilen
- SELLSHORT is niet SELL. SELLSHORT opent shorts; SELL sluit longs. SELL gebruiken om een short positie te openen mislukt stil, de order wordt genegeerd zolang de strategie geen positie heeft, en er wordt geen fout gemeld.
- Een short sluiten vereist EXITSHORT. Een short die met SELLSHORT is geopend wordt gesloten met EXITSHORT, niet met BUY. Op platforms waar CumulateOrders uit staat draait een BUY tegen een open short de positie om in plaats van hem simpelweg te sluiten, wat zelden de bedoeling is.
- Pending entries verlopen na één bar. Een rustende
SELLSHORT ... STOPofSELLSHORT ... LIMITorder wordt geannuleerd als hij na de volgende bar niet is uitgevoerd. Plaats hem op elke bar opnieuw zolang de setup geldig is, zoals in voorbeeld 3. - Onbeschermde entries stapelen posities op. Met CumulateOrders aan blijft een SELLSHORT die op opeenvolgende bars afgaat de short vergroten. Scherm instappen af met
NOT ShortOnMarketofNOT onmarket, of schakel cumulatie uit met DEFPARAM.
Gerelateerde instructies
BUY, opent een long positie.SELL, sluit een open long positie.EXITSHORT, sluit een open short positie.SHARES, sleutelwoord voor de hoeveelheidseenheid bij aandelenorders.CONTRACT, keyword voor de hoeveelheidseenheid bij derivaten.MARKET, onmiddellijke uitvoering tegen de huidige prijs.LIMIT, pending order tegen een opgegeven prijs of beter.SHORTONMARKET, waar zolang er een short positie open is.ONMARKET, waar zolang er een positie open is.TRADEPRICE, de instapprijs van de huidige positie.