如何获得每个Symbol()价格的小数位数

问题描述 投票:0回答:1

某些货币对显示的值显示为小数点后5位(EURUSD),其他则为4,依此类推。我编写了以下代码,以返回小数位减一的整数值。该功能仅考虑了几对。我想扩展它以适应所有对。如何找到每个Symbol()价格的小数位数?

int decimalPlacesForPairs()  {
   if ((_Symbol == "XAUUSD") || (_Symbol == "USOIL")) {
      return 1;
   }

   else if (_Symbol == "CADJPY") {
      return 2;
   }  

   else return 3;
}
mql4 algorithmic-trading mql5 mt4
1个回答
0
投票

在MQL4中,您可以访问预定义变量int Digits。此函数返回小数点后的位数。

给出的示例是:

Print(DoubleToStr(Close[0], Digits));

另一种方法,也许是一种更好的方法,是使用MarketInfo。在这里,您可以通过将符号作为字符串变量插入来返回每个符号的小数位数。

给出的示例:

int vdigits = (int)MarketInfo("EURUSD",MODE_DIGITS);

© www.soinside.com 2019 - 2024. All rights reserved.