Не в состоянии заменить точные ставки MQL5 - PullRequest
0 голосов
/ 26 октября 2018

Вот изображение пользовательского символа, который я пытаюсь создать:

Image of the custom symbol.

Как вы можете видеть, значения, которые приходят, не являются значениями в разделе DATA на MT5.

Я пытаюсь использовать следующий код для этой цели:

      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 голосов
/ 09 ноября 2018

При создании символа - убедитесь, что у вас достаточно цифр.Ваш uuu.json говорит о 6, что неверно - цифра используется для указания количества цифр после точки.

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

Нет необходимости нормализовать (используя NormalizeDouble()), если у вас уже есть цифры.

0 голосов
/ 26 октября 2018

Используйте это:

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

5 - ваши цифры.Вы можете изменить его, если хотите

...