SHORTONMARKET
SHORTONMARKET in ProBacktest en ProOrder is waar zolang een short positie open is. Gebruik het om short instappen en uitstappen te beveiligen, met uitgewerkte voorbeelden.
Syntaxis
ShortOnMarketHoe het werkt
SHORTONMARKET geeft true zolang de strategie een open short positie heeft en false wanneer dat niet zo is. Het wordt gelezen als een gewone boolean, dus het past direct in een IF voorwaarde, meestal ontkend met NOT om alleen een nieuwe short toe te staan als er geen open staat.
Het rapporteert alleen over short posities. Voor long posities gebruik je LONGONMARKET, en om te testen of er een positie aan welke kant dan ook open is, gebruik ONMARKET. Combineren SHORTONMARKET met een signaalvoorwaarde is de standaardmanier om te bepalen wanneer een short instap of een short exit is toegestaan.
Voorbeelden
Voorbeeld 1, Een short instap beveiligen (ProBacktest)
// Sell short when MACD crosses below zero, but only if no short is open
myMACD = MACD[12,26,9](close)
short = myMACD CROSSES UNDER 0
IF NOT ShortOnMarket AND short THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIFDit is het patroon uit de officiële referentie. NOT ShortOnMarket voorkomt dat de strategie een tweede short opstapelt terwijl er al een loopt.
Voorbeeld 2, Een open short beheren (ProOrder)
DEFPARAM CumulateOrders = false
// Close the short when price reclaims the 20-period average
IF ShortOnMarket AND close CROSSES OVER Average[20](close) THEN
EXITSHORT AT MARKET
ENDIFHet exitblok loopt alleen zolang er een short open is, dus de CROSSES OVER voorwaarde wordt alleen gecontroleerd wanneer die relevant is.
Voorbeeld 3, Eén zijde per keer (ProOrder)
DEFPARAM CumulateOrders = false
// Allow a long only when neither side is open
IF NOT ShortOnMarket AND NOT LongOnMarket AND close CROSSES OVER Average[50](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIFBeide testen SHORTONMARKET en LONGONMARKET houdt de strategie flat voor een nieuwe instap. NOT OnMarket drukt dezelfde controle compacter uit.
Veelvoorkomende fouten en valkuilen
- Alleen short.
SHORTONMARKETnegeert long posities. Een strategie die beide kanten traadt vereistLONGONMARKETook, ofONMARKETvoor de gecombineerde status. - Status, geen aantal. Het meldt alleen of er een short open staat, niet de grootte ervan. Voor aantallen aandelen of contracten gebruik je
COUNTOFSHORTSHARESofCOUNTOFPOSITION. - Timing binnen dezelfde bar. Een short die binnen één bar geopend en gesloten wordt laat mogelijk geen
SHORTONMARKETtrue zoals een positie over meerdere bars dat zou doen. Om een fill op de huidige bar te detecteren, gebruik jeShortTriggered. - De beveiliging vergeten. Weglaten
NOT ShortOnMarketbij een entry laat een aanhoudend signaal herhaalde shorts toevoegen, vooral metCumulateOrdersingeschakeld.
Gerelateerde instructies
LONGONMARKET, waar zolang er een long positie open is.ONMARKET, waar zolang er een positie open is.ShortTriggered, waar op de bar waarop een short order wordt uitgevoerd.NOT, ontkent de status om instappen te beveiligen.SELLSHORT, opent een short positie.EXITSHORT, sluit een short positie.COUNTOFSHORTSHARES, grootte van de open short positie.