Word nu lid
ProBacktest/probacktest · proorder

TICKSIZE

TICKSIZE geeft de kleinste koersstap van het huidige instrument terug in ProBacktest en ProOrder, gebruikt om koersafstanden om te zetten in ticks of pips.

Syntaxis

probuilder
TICKSIZE

Hoe het werkt

Elk instrument noteert in discrete stappen. Op EUR/USD is een stap misschien 0.0001, op een indexfuture misschien 0.5 punten. TICKSIZE geeft die minimale stap terug voor het instrument waarop de strategie loopt, zodat code zich aan elke markt kan aanpassen zonder hard-coded magic numbers.

Het belangrijkste gebruik is eenheidsconversie. Een ruwe prijsafstand zoals close - low wordt uitgedrukt in prijseenheden, die sterk verschillen per instrument. Delen door TICKSIZE zet de afstand om in een aantal ticks, een getal dat vergelijkbaar is tussen markten en overeenkomt met hoe veel traders over stops en doelen denken. Een aantal ticks vermenigvuldigen met TICKSIZE gaat de andere kant op en levert een prijsoffset die altijd een geldige stap is.

TICKSIZE is verwant aan, maar verschilt van, POINTSIZE en PIPSIZE. De point size is de waarde van één punt in de koersweergave van het platform, de pip size is de conventionele pip-eenheid op forexparen, en de tick size is de minimale stap van de beurs. Op veel instrumenten vallen sommige daarvan samen, op andere verschillen ze, en precies daarom bestaan de drie constanten afzonderlijk.

Voorbeelden

Voorbeeld 1, Een koersafstand omzetten in pips (ProBacktest)

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

De afstand tussen de slotkoers en de low wordt gedeeld door de tick size, waardoor een ruw koersverschil verandert in een aantal ticks of pips dat natuurlijk leest.

Voorbeeld 2, Een stopafstand afronden naar een geldige increment (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

Een van de ATR afgeleide afstand is zelden een net veelvoud van de minimale stapgrootte. Afronden via TICKSIZE garandeert dat het resulterende niveau er een is dat de markt daadwerkelijk kan quoteren.

Voorbeeld 3, Breakout-order één tick boven de vorige 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

Precies één toevoegen TICKSIZE op de vorige daghigh plaatst de buy stop op de eerste koers die een breakout bevestigt, op elk instrument.

Veelvoorkomende fouten en valkuilen

  • Tick size is niet point size. TICKSIZE, POINTSIZE, en PIPSIZE kunnen allemaal verschillen op hetzelfde instrument. Door ze te verwisselen verschuift elk berekend niveau met een constante factor. Controleer welke eenheid een instructie verwacht, SET STOP LOSS werkt bijvoorbeeld in punten.
  • Instrumentafhankelijke waarde. Dezelfde code geeft andere waarden op andere markten. Een strategie die is afgestemd met een hard-coded increment breekt wanneer die naar een ander instrument wordt verplaatst, en dat is het probleem TICKSIZE moet oplossen.
  • Niet-afgeronde niveaus. Rekenen met prijzen levert vaak waarden tussen ticks op. Orders op zulke niveaus worden aangepast of geweigerd. Zet berekende offsets vast op een veelvoud van TICKSIZE voordat je ze in orders gebruikt.
  • Verkeerd bereik. De constante hoort bij de trading engine. Strategiecode plakken die TICKSIZE in een indicator niet compileert, moet de conversie binnen de ProBacktest- of ProOrder-code gebeuren.
  • PIPSIZE, de pip-eenheid van het huidige instrument.
  • PIPVALUE, geldwaarde van één pip.
  • POINTSIZE, de punteenheid van het huidige instrument.
  • POINTVALUE, geldwaarde van één punt.
  • ROUNDEDUP, rondt een orderhoeveelheid naar boven af.
  • ROUNDEDDOWN, rondt een orderhoeveelheid naar beneden af.
  • TRADEPRICE, instapprijs van de huidige positie.
  • STOP, stop loss-configuratie waarvan de afstanden in punten worden uitgedrukt.