TICKSIZE
TICKSIZE returnerer det minste prisintervallet for gjeldende instrument i ProBacktest og ProOrder, brukt til å konvertere prisavstander til ticks eller pips.
Syntaks
TICKSIZESlik fungerer det
Hvert instrument prises i diskrete trinn. På EUR/USD kan et trinn være 0.0001, på en indeksfuture kan det være 0.5 punkter. TICKSIZE returnerer det minste steget for instrumentet strategien kjører på, slik at koden kan tilpasse seg alle markeder uten hardkodede magiske tall.
Hovedbruken er enhetskonvertering. En rå prisavstand som close - low er uttrykt i prisenheter, som varierer sterkt mellom instrumenter. Å dividere med TICKSIZE gjør avstanden om til et antall tick, et tall som er sammenlignbart på tvers av markeder og samsvarer med hvordan mange tradere tenker om stopper og mål. Å multiplisere et antall tick med TICKSIZE går den andre veien og produserer et prisoffset som alltid er et gyldig inkrement.
TICKSIZE er relatert til, men forskjellig fra, POINTSIZE og PIPSIZE. Punktstørrelsen er verdien av ett punkt i plattformens prisvisning, pip-størrelsen er den konvensjonelle pip-enheten på forex-par, og tick-størrelsen er børsens minste intervall. På mange instrumenter sammenfaller noen av disse, på andre er de ulike, og det er nettopp derfor de tre konstantene finnes hver for seg.
Eksempler
Eksempel 1, Konvertere en prisavstand til pips (ProBacktest)
// On EUR/USD this yields 40 instead of the raw 0.0040
StopLossPIPS = (close - low) / TickSizeAvstanden mellom lukkekursen og low deles på tick-størrelsen, slik at en rå prisdifferanse blir et tick- eller pip-antall som leses naturlig.
Eksempel 2, Runde en stoppavstand til et gyldig intervall (ProOrder)
atr = AverageTrueRange[14](close)
// Snap the ATR-based distance to a whole number of ticks
stopDistance = ROUND(1.5 * atr / TICKSIZE) * TICKSIZE
IF NOT onmarket AND close crosses over average[20](close) THEN
BUY 1 CONTRACT AT MARKET
SET STOP LOSS stopDistance / pointsize
ENDIFEn ATR-basert avstand er sjelden et rent multiplum av minste prissteg. Avrunding gjennom TICKSIZE garanterer at nivået som kommer ut, er et nivå markedet faktisk kan kvotere.
Eksempel 3, Breakout-ordre én tick over forrige high (ProOrder)
IF NOT onmarket THEN
// Enter as soon as price prints a single tick above yesterday's high
BUY 1 CONTRACT AT DHigh(1) + TICKSIZE STOP
ENDIFÅ legge til nøyaktig én TICKSIZE til forrige dags høyeste plasserer kjøpsstoppen på den første prisen som bekrefter et breakout, på hvilket som helst instrument.
Vanlige feil og fallgruver
- Tick-størrelse er ikke punktstørrelse.
TICKSIZE,POINTSIZE, ogPIPSIZEkan alle være forskjellige på samme instrument. Å blande dem sammen forskyver hvert beregnede nivå med en konstant faktor. Kontroller hvilken enhet en instruksjon forventer,SET STOP LOSSfungerer for eksempel i punkter. - Instrumentavhengig verdi. Samme kode returnerer ulike verdier i ulike markeder. En strategi innstilt med et hardkodet intervall svikter når den flyttes til et annet instrument, som er problemet
TICKSIZEer ment å løse. - Urundede nivåer. Aritmetikk på priser gir ofte verdier mellom ticks. Ordrer på slike nivåer justeres eller avvises. Rund beregnede forskyvninger til et multiplum av
TICKSIZEfør de brukes i ordrer. - Feil omfang. Konstanten tilhører handelsmotoren. Å lime inn strategikode som leser
TICKSIZEinn i en indikator ikke kompilerer, må konverteringen skje inne i ProBacktest- eller ProOrder-koden.
Relaterte instruksjoner
PIPSIZE, pip-enheten til gjeldende instrument.PIPVALUE, pengeverdien av én pip.POINTSIZE, punktenheten til gjeldende instrument.POINTVALUE, pengeverdien av ett punkt.ROUNDEDUP, runder et ordreantall oppover.ROUNDEDDOWN, runder et ordreantall nedover.TRADEPRICE, inngangsprisen for gjeldende posisjon.STOP, stop loss-konfigurasjon der avstandene er uttrykt i punkter.