Rejoignez-nous
ProBacktest/probacktest · proorder

PIPSIZE

PIPSIZE retourne la taille du pip de l'instrument courant en ProBacktest et ProOrder. Utilisez-le pour convertir des distances en pips en unités de prix pour les stops et les objectifs.

Syntaxe

probuilder
PipSize

Comment ça marche

Chaque instrument cote par pas discrets. Une paire de devises majeure à cinq décimales évolue par incréments de 0.0001, un future sur indice peut évoluer par pas de 0.5 ou 1. PipSize expose cet incrément comme une valeur en lecture seule, déterminée par l'instrument sur lequel la stratégie tourne. Dans ProRealTime™ il se comporte de façon identique à PointSize, les deux noms sont interchangeables.

Son rôle principal est la conversion d'unités. Les paramètres de risque s'expriment naturellement en pips ou en points, « un stop de 10 pips », mais plusieurs instructions, SET STOP LOSS parmi elles, prennent les distances en unités de prix brutes. Multiplier le nombre de pips par PipSize fait le lien entre les deux : 10 * PipSize vaut 0.0010 sur une paire dont le pip est 0.0001, et 10 sur un indice dont le pas minimal est 1.

Comme la valeur s'adapte automatiquement à l'instrument, du code écrit avec PipSize se transpose d'un marché à l'autre sans modification. Un stop exprimé en 20 * PipSize fait toujours 20 incréments de large, que la stratégie tourne sur une paire de devises, un indice ou une matière première. Les distances de prix codées en dur, en revanche, doivent être réécrites pour chaque format de cotation.

Pour convertir un mouvement de prix en devise du compte plutôt qu'en unités de prix, les valeurs associées PipValue et PointValue donnent la valeur monétaire d'un incrément par contrat.

Exemples

Exemple 1, conversion d'un stop en pips en unités de prix (ProOrder)

probuilder
// desired stop distance expressed in pips
MyStopLoss = 10
SET STOP LOSS MyStopLoss * PipSize

Avec une taille de pip de 0.0001, la distance du stop devient 10 * 0.0001 = 0.0010 unités de prix. La conversion conserve la distance voulue de 10 pips quelle que soit la façon dont l'instrument est coté.

Exemple 2, stop et objectif en pips à l'entrée (ProBacktest)

probuilder
stopPips   = 25
targetPips = 50

IF NOT OnMarket AND close crosses over Average[50](close) THEN
  BUY 1 LOT AT MARKET
  // both distances converted from pips to price units
  SET STOP LOSS stopPips * PipSize
  SET TARGET PROFIT targetPips * PipSize
ENDIF

Le bracket est défini une fois en pips et converti au moment de l'ordre. Changer de marché n'exige aucune modification du code car PipSize s'ajuste automatiquement.

Exemple 3, entrée en breakout à un nombre fixe de pips au-dessus du range (ProOrder)

probuilder
// pending entry 5 pips above the highest high of the last 20 bars
rangeTop   = highest[20](high)
entryLevel = rangeTop + 5 * PipSize

IF NOT OnMarket THEN
  BUY 1 CONTRACT AT entryLevel STOP
  SET STOP PLOSS 30
ENDIF

La marge au-dessus du niveau de breakout est spécifiée en pips et convertie en décalage de prix. L'ordre stop en attente se place alors exactement 5 incréments au-dessus du haut du range sur n'importe quel instrument.

Erreurs et pièges courants

  • Oublier la conversion. SET STOP LOSS 10 place un stop à 10 unités de prix, et non 10 pips. Sur une paire à cinq décimales, cette distance représente 100,000 pips. Soit multipliez par PipSize ou utiliser la version en points SET STOP PLOSS variante.
  • Coder 0.0001 en dur. La taille du pip diffère selon les instruments : les paires JPY utilisent couramment 0.01 et les indices des points entiers. Un code contenant un 0.0001 littéral casse silencieusement lorsqu'il est transposé sur un autre marché, PipSize ne le fait pas.
  • La taille du pip n'est pas la valeur du pip. PipSize est un incrément de prix, PipValue est la valeur monétaire de cet incrément par contrat. Les formules de position size qui ont besoin de montants en devise doivent utiliser PipValue, pas PipSize.
  • Conventions de pip des brokers. Certains flux de données cotent des pips fractionnaires, de sorte que l'incrément de la plateforme peut valoir un dixième du pip traditionnel. Vérifiez le véritable PipSize avant de supposer la définition classique.
  • POINTSIZE, synonyme retournant le plus petit incrément de prix de l'instrument.
  • PIPVALUE, valeur monétaire d'un pip par contrat.
  • POINTVALUE, valeur monétaire d'un point par contrat.
  • TICKSIZE, plus petit tick de l'instrument.
  • LOSS, stop loss exprimé en unités de prix.
  • PLOSS, stop loss exprimé en points.
  • TRADEPRICE, le prix d'entrée de la position courante.
  • BUY, ouvre une position long ou la renforce.