Bibliotheken: Kalender - Seite 13

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Bibliotheken: Kalender

TradingProFX, 2024.10.30 13:12

if (MQLInfoInteger(MQL_TESTER)) // Wenn Sie im Tester arbeiten
{
      Res = Calendar.Load(CALENDAR_FILENAME);
      Print ("SIZE = ", Calendar.Set(NULL,CALENDAR_IMPORTANCE_NONE, 0, 0));
...

Warum bekomme ich 0 im Tester?

Null To-Parameter.

 
Set()-Methode nur für MT5. Wie initialisiert und lädt man Nachrichten für MT4 herunter?
 
mbjen #:
Set()-Methode nur für MT5. Wie initialisiert man Nachrichten für MT4 und lädt sie herunter?

Wie wird es für MT5-Tester gemacht.

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

Nach Load erhalte ich: CALENDAR{ Events:[197684] }

Und nach FilterByCurrency: CALENDAR{ Events:[] }


Symbol() = EURUSD

 
mbjen EURUSD

Ich verstehe nichts. Fügen Sie kompilierte mq4/5.

 
fxsaber #:

Ich verstehe nichts. Kompilierte mq4/5 anhängen.

FilterByCurrency funktioniert nicht. Ein leeres Array wird nach dem Aufruf von FilterByCurrency() empfangen.

Der Code ist einfach

#include <Calendar\Calendar.mqh>

#define CALENDAR_FILENAME "Calendar.bin"

CALENDAR                   Calendar;

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

Nach Calendar.Load im Debugger sehe ich CALENDAR{ Events:[197684] }
Und nach 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: Größe: 0
2025.04.02 21:59:56.772 EURUSD,H1: Größe: 197684

 
mbjen #:

Ein leeres Array erhält man nach dem Aufruf von FilterByCurrency().

Dies ist ein Filter nach Währung, nicht nach Symbol.


Öffnen Sie Calendar.mqh in ME und drücken Sie ALT+M.


 
>

Dies ist ein Filter nach Währung, nicht nach Zeichen.


verstanden

 

Hallo. Ist es möglich, den Kalender auf eine bestimmte Zeit zu verschieben?

Der Kalender wird in einem Terminal (mit einer Zeitzone) heruntergeladen, soll aber in einem Terminal mit einer anderen Zeitzone verwendet werden (MT4). Es stellt sich heraus, dass es notwendig ist, die Zeit im Kalender irgendwie zu korrigieren.