无法替换准确的费率MQL5

时间:2018-10-26 05:08:02

标签: mql4 metatrader4 mql5 metatrader5

这是我要创建的自定义符号的图像:

Image of the custom symbol.

正如您所看到的,这些值不是MT5上DATA部分中的值。

我正在为此尝试以下代码:

      ticks_array[0].time= StructToTime(running);
      ticks_array[0].bid = StringToDouble(s[7]);
      ticks_array[0].ask = StringToDouble(s[8]);
      ticks_array[0].last = StringToDouble(s[5]);
      ticks_array[0].flags= TICK_FLAG_LAST;

      ticks_array[Should_change].time_msc = 0; 
      CustomTicksAdd(symbol_custom,ticks_array);

      rates_add[0].time = Time_For_Rates;
      rates_add[0].open = StringToDouble(s[2]);
      rates_add[0].high= StringToDouble(s[3]);
      rates_add[0].low = StringToDouble(s[4]);
      rates_add[0].close=StringToDouble(s[5]);
      rates_add[0].spread=(int)((StringToDouble(s[8])-StringToDouble(s[7]))*10000);
      rates_add[0].tick_volume=StringToInteger(s[6])-1;
      rates_add[0].real_volume=0;      
      Print(CustomRatesReplace(symbol_custom,Time_For_Rates,Time_For_Rates,rates_add));

请让我们知道为什么会这样以及我如何解决它。 已编辑
符号配置为:uuu.json

2 个答案:

答案 0 :(得分:1)

使用此:

Price = StrToDouble(DoubleToStr(Price,5));

5是您的数字。您可以根据需要更改

答案 1 :(得分:1)

创建符号时-确保您有足够的数字。您的uuu.json表示大约6个不正确的数字-数字用于表示点后的数字位数。

bool CustomSymbolSetInteger( "uuu", SYMBOL_DIGITS, 5);

如果已经有数字,则无需进行规范化(使用NormalizeDouble()