Rejoignez-nous
ProBacktest/probacktest · proorder

PIPVALUE

PIPVALUE retourne la valeur monétaire d'un pip pour l'instrument courant en ProBacktest et ProOrder. Synonyme de POINTVALUE, utilisée pour le dimensionnement de position.

Syntaxe

probuilder
PIPVALUE

Comment ça marche

PIPVALUE est une constante de marché en lecture seule. Elle ne prend aucun argument et retourne le montant d'argent, dans la devise de l'instrument, que représente un pip de mouvement de prix pour un seul contrat, lot ou action de l'instrument auquel la stratégie est attachée. Dans la terminologie ProBuilder, PIPVALUE et POINTVALUE désignent la même valeur, les deux mots-clés sont donc interchangeables.

La valeur est fixée par la spécification du contrat de l'instrument, pas par le code. Un pip sur une paire forex, un CFD sur indice et un future sur matière première peuvent chacun valoir un montant monétaire très différent, toute stratégie qui code une valeur de pip en dur cesse donc de fonctionner dès qu'elle s'exécute sur un autre marché. Lire PIPVALUE à l'exécution garde les calculs de dimensionnement et de gain portables.

PIPVALUE est généralement combinée avec PIPSIZE ou POINTSIZE. PIPSIZE exprime la taille d'un pip en unités de prix, tandis que PIPVALUE exprime ce que vaut ce mouvement en valeur monétaire. Diviser une distance de prix par PIPSIZE donne un nombre de pips, et multiplier ce nombre de pips par PIPVALUE le convertit en argent.

Exemples

Exemple 1, inspecter la valeur du pip d'un instrument (ProBacktest)

probuilder
// Read the cash value of one pip and plot it during a backtest
myPipValue = PipValue
GRAPH myPipValue AS "Value of one pip for this instrument"

Exécute un backtest dont le seul but est d'afficher la valeur du pip de l'instrument dans le panneau graphique, un moyen rapide de vérifier la spécification du contrat avant d'écrire une logique de dimensionnement.

Exemple 2, dimensionnement de position basé sur le risque (ProOrder)

probuilder
// Risk a fixed cash amount per trade
riskCash = 200
stopPips = 30

// Cash at risk for one contract over the stop distance
riskPerContract = stopPips * pipvalue
positionSize = max(1, floor(riskCash / riskPerContract))

IF NOT onmarket AND close CROSSES OVER average[50](close) THEN
  BUY positionSize CONTRACTS AT MARKET
ENDIF

// Pip and point coincide on this instrument
SET STOP PLOSS stopPips

Le nombre de contrats est déduit du budget de risque monétaire divisé par le risque monétaire d'un contrat, de sorte que le même code risque à peu près le même montant sur n'importe quel instrument.

Exemple 3, gain latent en devise du compte (ProBacktest)

probuilder
// Unrealized profit of the open position, converted to cash
IF onmarket THEN
  floatingProfit = ((close - positionprice) / pipsize) * pipvalue * countofposition
ELSE
  floatingProfit = 0
ENDIF
GRAPH floatingProfit AS "Floating profit"

La distance de prix par rapport à l'entrée moyenne est convertie en nombre de pips avec PIPSIZE, puis en valeur monétaire avec PIPVALUE, et enfin mise à l'échelle par la position size. COUNTOFPOSITION est négatif pour les positions short, ce qui donne le signe automatiquement.

Erreurs et pièges courants

  • Confondre PIPVALUE et PIPSIZE. PIPSIZE est une distance en unités de prix, PIPVALUE est un montant monétaire. Les confondre produit des erreurs de dimensionnement de plusieurs ordres de grandeur. La distance divisée par PIPSIZE donne des pips, les pips multipliés par PIPVALUE donnent une valeur monétaire.
  • Coder la valeur en dur. Une valeur de pip copiée depuis la spécification d'un instrument est fausse sur l'instrument suivant. Lisez PIPVALUE à l'exécution plutôt que d'intégrer un nombre dans le code.
  • Oublier la position size. PIPVALUE est exprimée par contrat ou lot unique. L'exposition monétaire de l'ensemble de la position exige de multiplier par COUNTOFPOSITION ou par la taille d'ordre visée.
  • L'utiliser en dehors d'une stratégie. Le mot-clé ne compile que dans du code ProBacktest et ProOrder. Dans un indicateur ou un screener, le compilateur le rejette, une logique d'indicateur fondée sur les pips doit donc utiliser des entrées fixes à la place.
  • POINTVALUE, synonyme de PIPVALUE, la valeur monétaire d'un point.
  • PIPSIZE, la taille d'un pip en unités de prix.
  • POINTSIZE, la taille d'un point en unités de prix.
  • TICKSIZE, le plus petit incrément de prix négociable.
  • COUNTOFPOSITION, la taille signée de la position ouverte.
  • POSITIONPRICE, le prix d'entrée moyen de la position ouverte.
  • STRATEGYPROFIT, gain réalisé de la stratégie en valeur monétaire.
  • GRAPH, trace une valeur dans le panneau graphique du backtest.