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
TICKSIZEHoe 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)
// On EUR/USD this yields 40 instead of the raw 0.0040
StopLossPIPS = (close - low) / TickSizeDe 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)
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
ENDIFEen 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)
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
ENDIFPrecies éé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, enPIPSIZEkunnen 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 LOSSwerkt 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
TICKSIZEmoet 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
TICKSIZEvoordat je ze in orders gebruikt. - Verkeerd bereik. De constante hoort bij de trading engine. Strategiecode plakken die
TICKSIZEin een indicator niet compileert, moet de conversie binnen de ProBacktest- of ProOrder-code gebeuren.
Gerelateerde instructies
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.