gpt4 book ai didi

mql4 - 如何获取每个 Symbol() 价格的小数位数

转载 作者:行者123 更新时间:2023-12-04 04:24:13 25 4
gpt4 key购买 nike

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

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

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

else return 3;
}

最佳答案

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

给出的例子是:

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

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

给出的例子:

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

在您的情况下,您可以拥有如下所示的功能:

int decimalPlacesForPairs(string sPair)  {
return MarketInfo(sPair),MODE_DIGITS);
}

并从您的 Main(){} 调用:

void Main()
{
decimalPlacesForPairs(Symbol());
//or
//decimalPlacesForPairs("EURUSD");
}

关于mql4 - 如何获取每个 Symbol() 价格的小数位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58199458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com