iMACD отдает кривые данные?

 

Коллеги, здравствуйте, помогите понять в чем ошибка.

   double macd[];
   int      index, iPeriod = 3;
   
   ArrayResize(macd, iPeriod*24);
   
   for (int i = 0; i < iPeriod * 24; i++)
   {
      macd[i] = NormalizeDouble(iMACD(Sym, PERIOD_H1, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, i),7);
      
      Alert("macd ", i, " = ", macd[i]);
   }

Смотрю лог

2021.11.18 11:17:41.659 2021.01.04 11:00:00  formulafx EURUSD,H1: Alert: macd 25 = 0.0006031
2021.11.18 11:17:41.659 2021.01.04 11:00:00  formulafx EURUSD,H1: Alert: macd 24 = 0.0004395
2021.11.18 11:17:41.659 2021.01.04 11:00:00  formulafx EURUSD,H1: Alert: macd 23 = 0.0003103
2021.11.18 11:17:41.659 2021.01.04 11:00:00  formulafx EURUSD,H1: Alert: macd 22 = 0.000168
2021.11.18 11:17:41.659 2021.01.04 11:00:00  formulafx EURUSD,H1: Alert: macd 21 = 2.91e-05
2021.11.18 11:17:41.659 2021.01.04 11:00:00  formulafx EURUSD,H1: Alert: macd 20 = 2.13e-05
2021.11.18 11:17:41.659 2021.01.04 11:00:00  formulafx EURUSD,H1: Alert: macd 19 = -0.0001056
2021.11.18 11:17:41.659 2021.01.04 11:00:00  formulafx EURUSD,H1: Alert: macd 18 = -0.0004478
2021.11.18 11:17:41.659 2021.01.04 11:00:00  formulafx EURUSD,H1: Alert: macd 17 = -0.0007803


Откуда и почему берутся значения? 

2.91e-05
2.13e-05

Спасибо за помощь

 

это не ошибка, просто такое представление числа, которое сильно меньше нуля.. -05 - означает что на пять нулей влево нужно перенести точку в числе.

Если вам нужно распечатывать числа в текстовом виде, то используйте функцию 

DoubleToString()

Иначе распечатка идет в вольном формате 

 

не подгружена история ?

про EMPTY_VALUE слышали ?

и если не изменяет память то должна работать GetLastError()

 
Nikolay Ivanov #:

это не ошибка, просто такое представление числа, которое сильно меньше нуля.. -05 - означает что на пять нулей влево нужно перенести точку в числе.

Если вам нужно распечатывать числа в текстовом виде, то используйте функцию 

Иначе распечатка идет в вольном формате 

спасибо, вы правы, нужна была конвертация

 
Igor Makanu #:

не подгружена история ?

про EMPTY_VALUE слышали ?

и если не изменяет память то должна работать GetLastError()

тиковая история с помощью Tick Data Manager загружена

Причина обращения: