Bli medlem i dag
ProBacktest/probacktest · proorder

SHORTONMARKET

SHORTONMARKET i ProBacktest og ProOrder er sann så lenge en short-posisjon er åpen. Bruk den til å sikre short-innganger og -utganger, med gjennomgåtte eksempler.

Syntaks

probuilder
ShortOnMarket

Slik fungerer det

SHORTONMARKET returnerer true så lenge strategien holder en åpen short posisjon, og false når den ikke gjør det. Den leses som en vanlig boolsk verdi, så den passer direkte inn i en IF betingelse, vanligvis negert med NOT for å tillate en ny short bare når ingen er åpen.

Den rapporterer kun om short-posisjoner. For long-posisjoner bruker du LONGONMARKET, og for å teste om en posisjon på en av sidene er åpen, bruk ONMARKET. Å kombinere SHORTONMARKET med en signalbetingelse er standardmåten å styre når en short-inngang eller en short-utgang er tillatt.

Eksempler

Eksempel 1, Sikre en short-inngang (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

Dette er mønsteret fra den offisielle referansen. NOT ShortOnMarket hindrer strategien fra å stable en ny short mens én allerede er aktiv.

Eksempel 2, Håndtere en åpen short (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

Utgangsblokken kjører bare mens en short er åpen, så CROSSES OVER betingelsen sjekkes bare når den er relevant.

Eksempel 3, Én side om gangen (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

Testing av begge SHORTONMARKET og LONGONMARKET holder strategien flat før en ny inngang. NOT OnMarket uttrykker samme vern mer kompakt.

Vanlige feil og fallgruver

  • Kun short. SHORTONMARKET ignorerer long-posisjoner. En strategi som handler begge sider trenger LONGONMARKET også, eller ONMARKET for den kombinerte tilstanden.
  • Tilstand, ikke et antall. Den rapporterer bare om en short er åpen, ikke størrelsen. For antall aksjer eller kontrakter bruk COUNTOFSHORTSHARES eller COUNTOFPOSITION.
  • Timing på samme bar. En short som åpnes og lukkes innenfor én enkelt bar, etterlater kanskje ikke SHORTONMARKET true slik en posisjon over flere barer ville gjort. For å oppdage en fill på gjeldende bar, bruk ShortTriggered.
  • Å glemme vakten. Å utelate NOT ShortOnMarket på en inngang lar et vedvarende signal legge til gjentatte shorts, særlig med CumulateOrders aktivert.