Word nu lid
ProBacktest/probacktest · proorder

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

probuilder
ShortOnMarket

Hoe 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)

probuilder
// 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
ENDIF

Dit 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)

probuilder
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
ENDIF

Het 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)

probuilder
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
ENDIF

Beide 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. SHORTONMARKET negeert long posities. Een strategie die beide kanten traadt vereist LONGONMARKET ook, of ONMARKET voor 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 COUNTOFSHORTSHARES of COUNTOFPOSITION.
  • Timing binnen dezelfde bar. Een short die binnen één bar geopend en gesloten wordt laat mogelijk geen SHORTONMARKET true zoals een positie over meerdere bars dat zou doen. Om een fill op de huidige bar te detecteren, gebruik je ShortTriggered.
  • De beveiliging vergeten. Weglaten NOT ShortOnMarket bij een entry laat een aanhoudend signaal herhaalde shorts toevoegen, vooral met CumulateOrders ingeschakeld.