Rejoignez-nous
ProBacktest/probacktest · proorder

TICKSIZE

TICKSIZE renvoie le plus petit incrément de prix de l'instrument courant dans ProBacktest et ProOrder, utilisé pour convertir des distances de prix en ticks ou en pips.

Syntaxe

probuilder
TICKSIZE

Comment ça marche

Chaque instrument cote par pas discrets. Sur EUR/USD un pas peut être de 0.0001, sur un future sur indice il peut être de 0.5 points. TICKSIZE renvoie ce pas minimum pour l'instrument sur lequel la stratégie tourne, ce qui permet au code de s'adapter à n'importe quel marché sans nombres magiques codés en dur.

L'usage principal est la conversion d'unités. Une distance de prix brute telle que close - low est exprimé en unités de prix, qui varient énormément d'un instrument à l'autre. Diviser par TICKSIZE convertit la distance en nombre de ticks, une valeur comparable d'un marché à l'autre et conforme à la façon dont beaucoup de traders raisonnent sur les stops et les objectifs. Multiplier un nombre de ticks par TICKSIZE fait l'inverse, produisant un décalage de prix qui est toujours un incrément valide.

TICKSIZE est lié à, mais distinct de, POINTSIZE et PIPSIZE. La taille du point est la valeur d'un point dans l'affichage des prix de la plateforme, la taille du pip est l'unité pip conventionnelle sur les paires forex, et la taille du tick est l'incrément minimum de la place de marché. Sur beaucoup d'instruments certaines de ces valeurs coïncident, sur d'autres elles diffèrent, et c'est précisément pour cela que les trois constantes existent séparément.

Exemples

Exemple 1, Convertir une distance de prix en pips (ProBacktest)

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

La distance entre la clôture et le plus bas est divisée par la taille du tick, transformant une différence de prix brute en un nombre de ticks ou de pips qui se lit naturellement.

Exemple 2, Arrondir une distance de stop à un incrément valide (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

Une distance dérivée de l'ATR est rarement un multiple net de l'incrément minimum. L'arrondi via TICKSIZE garantit que le niveau obtenu est bien un niveau que le marché peut coter.

Exemple 3, Ordre breakout un tick au-dessus du plus haut précédent (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

Ajouter exactement un TICKSIZE au plus haut journalier précédent place le buy stop au premier prix qui confirme un breakout, sur n'importe quel instrument.

Erreurs et pièges courants

  • La taille du tick n'est pas la taille du point. TICKSIZE, POINTSIZE, et PIPSIZE peuvent toutes différer sur le même instrument. Les confondre décale chaque niveau calculé d'un facteur constant. Vérifiez quelle unité attend une instruction, SET STOP LOSS par exemple fonctionne en points.
  • Valeur dépendante de l'instrument. Le même code renvoie des valeurs différentes selon les marchés. Une stratégie réglée avec un incrément codé en dur casse lorsqu'elle est transposée sur un autre instrument, et c'est précisément le problème TICKSIZE est censé résoudre.
  • Niveaux non arrondis. Les calculs sur les prix produisent souvent des valeurs situées entre deux ticks. Les ordres à de tels niveaux sont ajustés ou rejetés. Alignez les décalages calculés sur un multiple de TICKSIZE avant de les utiliser dans des ordres.
  • Mauvaise portée. La constante appartient au moteur de trading. Coller du code de stratégie qui lit TICKSIZE dans un indicateur ne compile pas, la conversion doit se faire à l'intérieur du code ProBacktest ou ProOrder.
  • PIPSIZE, l'unité pip de l'instrument courant.
  • PIPVALUE, valeur monétaire d'un pip.
  • POINTSIZE, l'unité point de l'instrument courant.
  • POINTVALUE, valeur monétaire d'un point.
  • ROUNDEDUP, arrondit une quantité d'ordre vers le haut.
  • ROUNDEDDOWN, arrondit une quantité d'ordre vers le bas.
  • TRADEPRICE, prix d'entrée de la position courante.
  • STOP, configuration de stop loss dont les distances sont exprimées en points.