Bli medlem i dag
ProBacktest/probacktest · proorder

TICKSIZE

TICKSIZE returnerer det minste prisintervallet for gjeldende instrument i ProBacktest og ProOrder, brukt til å konvertere prisavstander til ticks eller pips.

Syntaks

probuilder
TICKSIZE

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

probuilder
// On EUR/USD this yields 40 instead of the raw 0.0040
StopLossPIPS = (close - low) / TickSize

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

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

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

probuilder
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, og PIPSIZE kan 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 LOSS fungerer 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 TICKSIZE er 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 TICKSIZE før de brukes i ordrer.
  • Feil omfang. Konstanten tilhører handelsmotoren. Å lime inn strategikode som leser TICKSIZE inn i en indikator ikke kompilerer, må konverteringen skje inne i ProBacktest- eller ProOrder-koden.
  • 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.