Метатрейдер 5 Пользовательский символ не нормализуется на 6 цифр - PullRequest
0 голосов
/ 24 января 2019

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

void HistoryLoading()
  {
   EventKillTimer();
   MqlRates rates_add[];

   ClientSocket*history;

   historyd=new ClientSocket(ip_address,port_no);
   Print(history.IsSocketConnected());
   if(!history.IsSocketConnected())
     {
      delete history;
      history=NULL;
      Print("Failed to connect");
      Print("No: ",GetLastError());
      EventSetMillisecondTimer(1);
      return;
     }
   Comment("Loading History of 3 Days by Default!........");
   if(history.Send("history"))
     {
      string output=history.Receive(),separate_lines[],separate_OHLCV[]; // Received the output of the socket.
                                                                         //Print(output);

      int lines_count=StringSplit(output,'\n',separate_lines);
      Print(lines_count);
      ArrayResize(rates_add,lines_count);
      for(int loop=0; loop<lines_count; loop++)
        {
         //Print("Filling your history");
         int element_separate=StringSplit(separate_lines[loop],',',separate_OHLCV);
         //Print(separate_lines[loop]);
         rates_add[loop].time=datetime(int(separate_OHLCV[0]));
         rates_add[loop].open = double(separate_OHLCV[1]);
         rates_add[loop].high = double(separate_OHLCV[2]);
         rates_add[loop].low=double(separate_OHLCV[3]);
         rates_add[loop].close=double(separate_OHLCV[4]);
         rates_add[loop].spread=0;
         rates_add[loop].real_volume = 0;
         rates_add[loop].tick_volume = long(separate_OHLCV[5]);
         Print(rates_add[loop].time," ",rates_add[loop].open," ",rates_add[loop].high," ",rates_add[loop].low," ",rates_add[loop].close,"  ",rates_add[loop].tick_volume);
        }
        //ArrayPrint(rates_add);
      Print(CustomRatesUpdate(symbol_custom,rates_add));
      //Print("History Out");
      ArrayFree(rates_add);ArrayFree(separate_OHLCV);ArrayFree(separate_lines);

     }
   delete history;
   SHOULD_I_LOAD_HISTORY=0;
   EventSetMillisecondTimer(1);
   return;
  }

Ниже приведено изображение диаграммы:
output image

Я использую текущую версию MT5:
version

Можно видеть значения, которые я получаю, но не обновляюсь на графике.
Пожалуйста, помогите мне и дайте мне знать, что мне не хватает.

...