这是我要创建的自定义符号的图像:
正如您所看到的,这些值不是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
答案 0 :(得分:1)
使用此:
Price = StrToDouble(DoubleToStr(Price,5));
5是您的数字。您可以根据需要更改
答案 1 :(得分:1)
创建符号时-确保您有足够的数字。您的uuu.json表示大约6个不正确的数字-数字用于表示点后的数字位数。
bool CustomSymbolSetInteger( "uuu", SYMBOL_DIGITS, 5);
如果已经有数字,则无需进行规范化(使用NormalizeDouble()
。