MARKET
MARKET i ProBacktest og ProOrder utfører BUY- og SELL-ordrer til gjeldende markedspris. Ordrer fylles ved åpningen av neste bar uten prisgrense.
Syntaks
BUY quantity SHARES AT MARKET
SELL quantity SHARES AT MARKETSlik fungerer det
Hver ordresetning avsluttes med en ordretype. AT MARKET betyr at ordren ikke har noen prisbetingelse: den utføres til den prisen markedet tilbyr i utførelsesøyeblikket. Alternativene, LIMIT og STOP, opprett i stedet ventende ordrer som venter på et bestemt prisnivå.
Fordi strategikode kjøres én gang per bar ved slutt, blir en markedsordre som genereres på én bar sendt og fylt ved åpningen av den følgende baren. ProBacktest modellerer dette ved å fylle til neste bars åpningspris. I live ProOrder når ordren megleren i det øyeblikket og fylles til beste tilgjengelige pris, som kan avvike fra åpningskursen i raske eller tynne markeder.
En markedsordre bytter sikkerhet om utførelse mot usikkerhet om pris. Den passer signaler der det å være i handelen betyr mer enn det eksakte nivået, som trendfølgende innganger eller tvungne utganger. Når selve inngangsnivået er en del av edge-en, er en ventende LIMIT eller STOP ordre uttrykker den hensikten bedre.
AT MARKET kombineres med alle ordreverb: BUY og SELLSHORT for å åpne posisjoner, SELL og EXITSHORT for å lukke dem.
Eksempler
Eksempel 1, Umiddelbart kjøp av ti aksjer (ProBacktest)
// enter when price closes above the 50-bar average
IF NOT OnMarket AND close > Average[50](close) THEN
BUY 10 SHARES AT MARKET
ENDIFNår man er uten posisjon og betingelsen holder ved barens slutt, sendes en ordre på ti aksjer og den fylles ved åpningen av neste bar til gjeldende pris.
Eksempel 2, Tvungen utgang av en short til markedspris (ProOrder)
// cover the short as soon as momentum turns positive
exitSignal = RSI[14](close) crosses under 30
IF ShortOnMarket AND exitSignal THEN
EXITSHORT AT MARKET
ENDIFHele short-posisjonen lukkes til markedspris. Ingen mengde er oppgitt, så standarden gjelder og hele posisjonen dekkes.
Eksempel 3, Kryss med glidende gjennomsnitt i begge retninger (ProOrder)
fastMA = Average[20](close)
slowMA = Average[50](close)
IF fastMA crosses over slowMA THEN
IF ShortOnMarket THEN
EXITSHORT AT MARKET
ENDIF
BUY 1 CONTRACT AT MARKET
ENDIF
IF fastMA crosses under slowMA THEN
IF LongOnMarket THEN
SELL AT MARKET
ENDIF
SELLSHORT 1 CONTRACT AT MARKET
ENDIFEt stop-and-reverse-system. Hvert kryss lukker enhver motsatt posisjon og åpner en ny, alt med markedsordrer slik at strategien alltid er posisjonert med krysset.
Vanlige feil og fallgruver
- Fyllinger skjer ved neste bars åpning. Betingelsen evalueres ved barens slutt, men fyllingsprisen er neste bars åpning. Backtest-regnestykker som forutsetter inngang ved signalbarens slutt overdriver resultatene hver gang barer gapper.
- Ingen prisgaranti. Markedsordrer garanterer utførelse, ikke pris. Live-fyllinger kan gli forbi den backtestede åpningsprisen under volatile forhold, så live-resultater forringes i forhold til ProBacktest, som forutsetter rene fyllinger.
SELLogEXITSHORTer ikke utbyttbare.SELL AT MARKETlukker long-posisjoner ogEXITSHORT AT MARKETlukker short-posisjoner. Å bruke feil verb for den åpne siden lar posisjonen stå urørt.MARKETer ikke en frittstående setning. Nøkkelordet finnes bare som del av en ordresetning etterAT. Å skriveMARKETpå egen linje kompilerer ikke.
Relaterte instruksjoner
BUY, åpner eller øker en long-posisjon.SELL, lukker hele eller deler av en long-posisjon.SELLSHORT, åpner eller øker en short-posisjon.EXITSHORT, lukker hele eller deler av en short-posisjon.LIMIT, ventende ordre som fylles til en fastsatt pris eller bedre.STOP, ventende ordre som utløses når prisen når et nivå.ONMARKET, sann så lenge en posisjon er åpen.LONGONMARKET, sann så lenge en long-posisjon er åpen.SHORTONMARKET, sann så lenge en short-posisjon er åpen.