Библиотеки: Calendar - страница 13

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Библиотеки: Calendar

TradingProFX, 2024.10.30 13:12

if (MQLInfoInteger(MQL_TESTER)) // Если работаем в Тестере
{
      Res = Calendar.Load(CALENDAR_FILENAME);
      Print ("SIZE = ", Calendar.Set(NULL,CALENDAR_IMPORTANCE_NONE, 0, 0));
...

Почему в тестере у меня выдаёт 0?

Нулевой To-параметр.

 
Метод Set() для MT5 только. Как для МТ4 инициализировать и скачивать новости?
 
mbjen #:
Метод Set() для MT5 только. Как для МТ4 инициализировать и скачивать новости?

Как это делается для MT5-тестера.

 
Calendar.Load(CALENDAR_FILENAME);
Calendar.FilterByCurrency(Symbol());

После Load получаю: CALENDAR{  Events:[197684] }

А после FilterByCurrency: CALENDAR{  Events:[] }


Symbol() = EURUSD

 
mbjen #:

После Load получаю: CALENDAR{  Events:[197684] }

А после FilterByCurrency: CALENDAR{  Events:[] }


Symbol() = EURUSD

Ничего не понял. Приложите компилируемый mq4/5.

 
fxsaber #:

Ничего не понял. Приложите компилируемый mq4/5.

не работает FilterByCurrency. Пустой массив получается после вызова FilterByCurrency().

Код простой

#include <Calendar\Calendar.mqh>

#define CALENDAR_FILENAME "Calendar.bin"

CALENDAR                   Calendar;

if(DownloadCalendar())
        {
         Calendar.Load(CALENDAR_FILENAME);
         Calendar.FilterByCurrency(Symbol());
        }

После Calendar.Load в дебаггере вижу CALENDAR{  Events:[197684] }
А после Calendar.FilterByCurrency(Symbol()): CALENDAR{  Events:[] }

 
if(DownloadCalendar())
        {
         Calendar.Load(CALENDAR_FILENAME);
         int size=Calendar.GetAmount();
         Print("size: ", size);
         Calendar.FilterByCurrency(Symbol());
         size=Calendar.GetAmount();
         Print("size: ", size);
        }

2025.04.02 21:59:59.444     EURUSD,H1: size: 0
2025.04.02 21:59:56.772     EURUSD,H1: size: 197684

 
mbjen #:

Пустой массив получается после вызова FilterByCurrency().

Это фильтр по валюте, не по символу.


Откройте в ME Calendar.mqh и нажмите ALT+M.


 
>

Это фильтр по валюте, не по символу.


понял

 

Здравствуйте. Есть ли возможность сдвинуть календарь на определенное время?

Календарь скачивается в одном терминале (с одной таймзоной), а использоваться будет (МТ4) в терминале с другой таймзоной. Получается, надо как-то корректировать время в календаре.