Низкая точность MqlRates

 
   double HL(int period)
   {
     MqlRates rates[];
     int timeposition=0;
     ArraySetAsSeries(rates,true);
     int copied=CopyRates(symbol,period,timeposition,7,rates);
     int i;
     int k=7;
     double hgh, lw;
      for (i=0;i<k;i++){
         hgh=rates[i].high;
         lw=rates[i].low;
         Print(" High=", hgh, " Low=", lw);
         }

   }

 

Результат: 

 

 0 04:29:56.379 eurgbp3 EURGBP,M15:  High=0.7772 Low=0.7771

0 04:29:56.379 eurgbp3 EURGBP,M15:  High=0.7773 Low=0.777

0 04:29:56.379 eurgbp3 EURGBP,M15:  High=0.7774 Low=0.7772


А что с точностью случилось? Зачем он округляет?

 
Или он только в выводе округляет?
 
С MqlTick та же проблема.
 

попробуйте:

Print("High=",DoubleToStr(hgh,Digits)," Low=",DoubleToStr(lw,Digits));
 

Что-то я ничего не понимаю, при одиночном запуске в обоих вариантах пишет:

 

2016.04.30 11:21:05.665 test USDCHF,M15: High=0.95910 Low=0.95907 

2016.04.30 11:21:05.665 test USDCHF,M15: High=0.95910 Low=0.95907

 

 А при постоянной работе округляет

 

0 00:14:54.225 usdchf3 USDCHF,M15:  High=0.9668 Low=0.9655

0 00:14:54.225 usdchf3 USDCHF,M15:  High=0.9666 Low=0.9661

0 00:14:54.225 usdchf3 USDCHF,M15:  High=0.9667 Low=0.9661

 
А все-таки это Print округлял. Спасибо!
 
А нашел причину проблем. В экспорте bid, а не ask :)