MQL5

Valeur monétaire d'un point pour 1 lot

Convertit la plus petite variation de prix en devise du compte. Le détour par tick_value/tick_size est obligatoire : sur l'or et les indices, le tick ne vaut pas toujours 1 point.

Cas d'usage

Afficher un P&L prévisionnel en euros/dollars, ou convertir une distance en points en montant risqué.

Prérequis

MetaTrader 5, MQL5

MQL5
double PointValuePerLot(string symbol)
{
   double tickValue = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE);
   double tickSize  = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE);
   double point     = SymbolInfoDouble(symbol, SYMBOL_POINT);
   if(tickSize <= 0.0)
      return 0.0;
   return tickValue * (point / tickSize); // valeur d'UN point, pas d'un tick
}

// Exemple : montant risqué par une position existante
double slPoints = MathAbs(PositionGetDouble(POSITION_PRICE_OPEN)
                        - PositionGetDouble(POSITION_SL)) / _Point;
double risked = slPoints * PointValuePerLot(_Symbol)
              * PositionGetDouble(POSITION_VOLUME);
PrintFormat("Risque résiduel : %.2f %s", risked,
            AccountInfoString(ACCOUNT_CURRENCY));

Résultat

2026.06.10 12:04:09.551  PnLInfo (XAUUSD,M15)  tick_value 1.00 | tick_size 0.01 | point 0.01 -> 1 point = 1.00 USD/lot
2026.06.10 12:04:09.552  PnLInfo (XAUUSD,M15)  Position #812440021 : SL à 380 pts de l'entrée, volume 0.50 lot
2026.06.10 12:04:09.552  PnLInfo (XAUUSD,M15)  Risque résiduel : 190.00 USD
2026.06.10 12:04:09.610  PnLInfo (EURUSD,M15)  Contrôle EURUSD : 1 point = 1.00 USD/lot (tick = point ici)
Tick ValuePointConversionP&L

Snippets liés

Retour au Data Lab