Новые функции календаря MQL5 — нет значений?

Кажется, я не могу получить какие-либо значения экономических событий с помощью новых функций календаря MQL5 (см. metatrader5.com/en/releasenotes).

Конкретно...

MqlCalendarValue value[9999999];

ulong changeID=33212160;


int OnInit()

  {

   CalendarValueLastByEvent(840040003,changeID,value);

   ArrayPrint(value);

   return(INIT_SUCCEEDED);

  }

... работает, но возвращает только 0-значения для datetime 1970 01 01.

Любые решения?

Спасибо!


person bromelio    schedule 12.03.2019    source источник


Ответы (2)


Вы печатаете массив из 10 000 000 значений. Наверняка вы не найдете то, что хотите.

MqlCalendarValue value[];  // No need to oversize a static array, let it be dynamic

ulong eventID=840040003;   // Bad idea to hardcode ID this way, but let's keep it for demonstration purpose.
ulong changeID=33212160;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   CalendarValueLastByEvent(840040003,changeID,value);

   for(int i=0;i<ArraySize(value);i++)
     {
      if(value[i].event_id==840040003)
        {
         //--- print only the required value
         ArrayPrint(value,_Digits,NULL,i,1);
         break;
        }
     }
  }

Полученные результаты :

Вывод экспертного журнала

person Angevoyageur    schedule 22.04.2019

Ошибка была на стороне MetaQuotes, и они исправили ее с помощью нового релиза сборки MetaTrader. Мой приведенный выше код теперь работает. Спасибо, МетаЦитаты!

person bromelio    schedule 30.05.2019