POINTSIZE
POINTSIZE retourne la taille d'un point en unités de prix pour l'instrument courant, utilisée en ProBacktest et ProOrder pour convertir des prix en nombres de points.
Syntaxe
POINTSIZEComment ça marche
POINTSIZE est une constante de marché en lecture seule qui ne prend aucun argument. Elle indique la taille d'un seul point pour l'instrument auquel la stratégie est attachée, exprimée dans les unités de prix propres à l'instrument. Sur un indice coté à 18000, un point peut valoir 1.0, tandis que sur une paire forex cotée à cinq décimales c'est une petite fraction, la constante permet donc à une même stratégie de s'adapter à n'importe quelle convention de cotation.
Son rôle principal est la conversion d'unités. Les séries de prix telles que close ou AverageTrueRange s'expriment en unités de prix, tandis que les instructions telles que SET STOP PLOSS et les seuils de gain sont souvent exprimés en points. Diviser une distance de prix par POINTSIZE la convertit en points, et multiplier un nombre de points par POINTSIZE la reconvertit en une distance de prix comparable aux cotations.
POINTSIZE décrit uniquement une distance. La valeur monétaire d'un mouvement d'un point est une constante distincte, POINTVALUE. Un calcul monétaire complet utilise généralement les deux, en normalisant d'abord un mouvement de prix en points, puis en convertissant les points en argent.
Exemples
Exemple 1, gain latent de la position ouverte (ProBacktest)
// Unrealized gain of the open trade in account currency
floatingprofit = (((close - positionprice) * pointvalue) * countofposition) / pointsize
GRAPH floatingprofit AS "Floating profit"La distance entre le prix courant et l'entrée moyenne est mise à l'échelle par la valeur monétaire d'un point, multipliée par la position size et normalisée par POINTSIZE, ce qui donne le gain latent en valeur monétaire. Il s'agit de l'exemple de référence de la documentation source, avec des commentaires réécrits.
Exemple 2, passage à l'équilibre après un gain fixe en points (ProOrder)
// Move the stop to entry once the long is 10 points in profit
IF longonmarket AND (high - positionprice) >= 10 * pointsize THEN
SET STOP BREAKEVEN
ENDIFMultiplier 10 par POINTSIZE convertit l'objectif en points en une distance de prix qui peut être comparée directement à l'écart entre le plus haut et le prix d'entrée moyen.
Exemple 3, stop ATR converti en points entiers (ProBacktest)
// Express a two-ATR stop distance as an integer point count
atr = AverageTrueRange[14](close)
stopPoints = max(1, round((2 * atr) / pointsize))
IF NOT onmarket AND close > average[50](close) THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
SET STOP PLOSS stopPointsL'ATR est une distance de prix, donc diviser par POINTSIZE produit le nombre de points que SET STOP PLOSS attend, avec un arrondi et un plancher d'un point pour garder la valeur valide.
Erreurs et pièges courants
- POINTSIZE n'est pas POINTVALUE. POINTSIZE est une distance en unités de prix, POINTVALUE est la valeur monétaire de cette distance. Les intervertir corrompt silencieusement tous les calculs de risque, car ce sont tous deux de simples nombres et le compilateur ne peut pas détecter l'erreur.
- Le point et le pip peuvent différer. Sur les instruments cotés avec des incréments fractionnaires, PIPSIZE et POINTSIZE peuvent ne pas être égaux. Un code qui les traite comme interchangeables se comporte différemment selon les paires forex et les indices ; vérifiez les deux constantes pour le marché visé.
- Conversions codées en dur. Remplacer POINTSIZE par un littéral tel que 0.0001 lie la stratégie à une seule convention de cotation. Le même code produit alors des distances de stop erronées sur tout autre instrument.
- Restriction de portée. La constante ne compile qu'en ProBacktest et ProOrder. Un code d'indicateur ou de screener qui a besoin d'arithmétique en points doit utiliser des paramètres d'entrée fixes à la place.
Instructions liées
POINTVALUE, la valeur en espèces d'un mouvement d'un point.PIPSIZE, la taille d'un pip en unités de prix.PIPVALUE, la valeur monétaire d'un pip, synonyme de POINTVALUE.TICKSIZE, le plus petit incrément de prix négociable.POSITIONPRICE, le prix d'entrée moyen de la position ouverte.COUNTOFPOSITION, la taille signée de la position ouverte.BREAKEVEN, déplace le stop ou l'objectif au prix d'entrée.PLOSS, stop loss exprimé en points.