Bibliothèque: Calendrier - page 13

 

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Bibliothèques : Calendrier

TradingProFX, 2024.10.30 13:12

if (MQLInfoInteger(MQL_TESTER)) // Si vous travaillez en tant que testeur
{
      Res = Calendar.Load(CALENDAR_FILENAME);
      Print ("SIZE = ", Calendar.Set(NULL,CALENDAR_IMPORTANCE_NONE, 0, 0));
...

Pourquoi j'obtiens 0 dans le testeur ?

Zero To-parameter.

 
Méthode Set() pour MT5 uniquement. Comment initialiser et télécharger les actualités pour MT4 ?
 
mbjen #:
Méthode Set() pour MT5 uniquement. Comment initialiser et télécharger les nouvelles pour MT4 ?

Comment faire pour le testeur MT5.

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

Après Load, j'obtiens : CALENDAR{ Events :[197684] }

Et après FilterByCurrency : CALENDAR{ Events :[] }


Symbole() = EURUSD

 
mbjen EURUSD

Je ne comprends rien. Joindre les mq4/5 compilés.

 
fxsaber #:

Je ne comprends rien. Joindre les mq4/5 compilés.

FilterByCurrency ne fonctionne pas. Un tableau vide est reçu après avoir appelé FilterByCurrency().

Le code est simple

#include <Calendar\Calendar.mqh>

#define CALENDAR_FILENAME "Calendar.bin"

CALENDAR                   Calendar;

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

Après Calendar.Load dans le débogueur, je vois CALENDAR{ Events :[197684] }
Et après 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 : taille : 0
2025.04.02 21:59:56.772 EURUSD,H1 : taille : 197684

 
mbjen #:

Un tableau vide est obtenu après avoir appelé FilterByCurrency().

Il s'agit d'un filtre par devise, et non par symbole.


Ouvrez Calendar.mqh dans ME et appuyez sur ALT+M.


 
>

Il s'agit d'un filtre par devise, et non par caractère.


Je l'ai

 

Bonjour. Est-il possible de décaler le calendrier à une certaine heure ?

Le calendrier est téléchargé dans un terminal (avec un fuseau horaire), mais sera utilisé (MT4) dans un terminal avec un fuseau horaire différent. Il s'avère qu'il est nécessaire de corriger l'heure dans le calendrier d'une manière ou d'une autre.