POINTVALUE
POINTVALUE retourne la valeur monétaire d'un mouvement d'un point pour l'instrument courant en ProBacktest et ProOrder, utilisée pour le dimensionnement du risque et la conversion des gains.
Syntaxe
POINTVALUEComment ça marche
POINTVALUE est une constante de marché en lecture seule. Elle ne prend aucun argument et retourne la valeur monétaire, dans la devise de l'instrument, d'un mouvement de prix d'un point pour un contrat, lot ou action de l'instrument sur lequel la stratégie s'exécute. En ProBuilder, elle est synonyme de PIPVALUE.
La constante est définie par la spécification du contrat et varie fortement d'un marché à l'autre. Un point sur un CFD sur indice peut valoir 1 unité de devise par contrat alors qu'un point sur un contrat future en vaut 25, les stratégies qui convertissent entre points et valeur monétaire doivent donc lire POINTVALUE à l'exécution plutôt que de supposer un chiffre.
Deux conversions couvrent la plupart des usages. De la valeur monétaire vers les points : divisez un gain ou une perte par POINTVALUE (et par la position size lorsque le montant couvre plusieurs contrats). Des points vers la valeur monétaire : multipliez une distance en points par POINTVALUE et par le nombre de contrats. Combiné à POINTSIZE, qui mesure la taille d'un point en unités de prix, cela rend l'arithmétique de gain, de risque et de dimensionnement portable d'un instrument à l'autre.
Exemples
Exemple 1, garde-fou journalier de gains et pertes en points (ProOrder)
once MaxProfit = 50 // daily profit objective in points
once MaxLoss = 40 // daily loss limit in points
// Reset the daily counter on a new day
if day <> day[1] then
strategyprofitpoint = 0
endif
// Convert each realized profit change into points
if (strategyprofit <> strategyprofit[1]) then
pnl = strategyprofit - strategyprofit[1]
size = max(1, abs(countofposition[1]))
onepos = pnl / size
pointprofit = onepos / pointvalue
strategyprofitpoint = strategyprofitpoint + pointprofit
endif
allowtrading = 1
if (strategyprofitpoint >= MaxProfit or strategyprofitpoint <= -MaxLoss) then
allowtrading = 0
endifChaque variation du gain réalisé est divisée par la position size et par POINTVALUE, ce qui convertit la valeur monétaire en points. Le trading est désactivé pour le reste de la journée dès que le total courant de points atteint l'une des deux limites journalières. Il s'agit de l'exemple de référence de la documentation source, avec des commentaires réécrits.
Exemple 2, gain latent de la position ouverte (ProBacktest)
// Unrealized profit converted from points into cash
IF onmarket THEN
floatingProfit = ((close - positionprice) / pointsize) * pointvalue * countofposition
ELSE
floatingProfit = 0
ENDIF
GRAPH floatingProfit AS "Open position profit"La distance par rapport à l'entrée moyenne est normalisée en points avec POINTSIZE, puis convertie en valeur monétaire avec POINTVALUE et mise à l'échelle par la position size signée.
Exemple 3, dimensionnement des contrats à partir d'un budget de risque monétaire (ProOrder)
// Size the trade so a 40 point stop risks about 150 in cash
riskCash = 150
stopPoints = 40
contracts = max(1, floor(riskCash / (stopPoints * pointvalue)))
IF NOT onmarket AND close CROSSES OVER average[20](close) THEN
BUY contracts CONTRACTS AT MARKET
ENDIF
SET STOP PLOSS stopPointsLe risque monétaire d'un contrat sur la distance de stop est stopPoints * pointvalue, de sorte que diviser le budget par ce chiffre donne le nombre de contrats qui maintient le risque quasi constant d'un instrument à l'autre.
Erreurs et pièges courants
- Chiffre par contrat. POINTVALUE décrit un seul contrat. Convertir le gain d'une position à plusieurs contrats exige aussi de diviser ou de multiplier par la position size, comme dans l'exemple de garde-fou journalier ci-dessus.
- Confondre la valeur et la taille. POINTVALUE est une valeur monétaire, POINTSIZE est une distance de prix. Utiliser l'une à la place de l'autre produit des résultats faux du rapport entre les deux, souvent de plusieurs ordres de grandeur.
- Supposer la valeur d'un seul instrument. Une constante ajustée pour un CFD sur indice n'a aucun sens sur une paire forex. Toute valeur de point codée en dur casse silencieusement la portabilité ; lisez plutôt le mot-clé.
- Restriction de portée. Le mot-clé ne compile qu'en ProBacktest et ProOrder. Les indicateurs et les screeners ne peuvent pas accéder aux spécifications de contrat et doivent recevoir ces valeurs comme paramètres utilisateur.
Instructions liées
PIPVALUE, synonyme de POINTVALUE, la valeur monétaire d'un pip.POINTSIZE, la taille d'un point en unités de prix.PIPSIZE, la taille d'un pip en unités de prix.TICKSIZE, le plus petit incrément de prix négociable.STRATEGYPROFIT, gain réalisé de la stratégie en valeur monétaire.COUNTOFPOSITION, la taille signée de la position ouverte.POSITIONPRICE, le prix d'entrée moyen de la position ouverte.GRAPH, trace une valeur dans le panneau graphique du backtest.