Bibliotheken: Kalender - Seite 7

 

Danke fxsaber,

Das Skript ist großartig. Ich bin neu in MT5, und mit Ihrem Kalender-Skript. Für die historischen Daten, wie könnte ich den Zeitraum hinzufügen, wo die wirtschaftlichen Daten gehören zu? (z.B. Jan für die Veröffentlichung der Daten gehört zum Januar) ?


Vielen Dank und beste Grüße,

Edwin

 
eapricorn Zeitraum hinzufügen, zu dem die Wirtschaftsdaten gehören? (z.B. Jan für die Veröffentlichungsdaten gehört zum Januar)?
#include <fxsaber\Calendar\Calendar.mqh> // https://www.mql5.com/de/code/32430

void OnStart()
{
  CALENDAR Calendar;
  
  Calendar.Set(NULL, CALENDAR_IMPORTANCE_HIGH, D'2023.01.01', D'2023.02.01');
  
  Print(Calendar.ToString());
}
 
fxsaber # :

Hallo fxsaber,


danke für Deine Nachricht. Es tut mir leid, dass ich meine Frage vielleicht falsch interpretiert habe. Eigentlich beziehe ich mich auf das "Kalenderfenster" im MT5, das normalerweise das "Jan" in der Periodenspalte hat, was bedeutet, dass die Wirtschaftsdaten, die heute, am 2. Februar 2023, veröffentlicht werden, sich tatsächlich auf die Wirtschaftsdaten vom Januar beziehen (wie das beigefügte Bild). Aber aus dem Skript sehe ich, dass wir nur das Veröffentlichungsdatum der Daten haben, während der "Zeitraum" nicht angegeben ist. (siehe beigefügtes Bild).

Ich habe versucht, für die MqlCalendarValue suchen , und mit dem Wert.Periode für die "Periode" Datum, aber es gibt sehr seltsamen Wert, wobei 1970.01.01 (wie beigefügt).

Nur aufrichtig hoffen, zu wissen, ob der Zeitraum verfügbar sein könnte, und wie man das in Ihrem Skript hinzufügen? Vielen Dank!

Dateien:
Calendar.jpg  298 kb
MT5_calendar.jpg  414 kb
MetaEditor.jpg  465 kb
 
eapricorn #:

Eigentlich beziehe ich mich auf das "Kalenderfenster" im MT5, das normalerweise das "Jan" in der Periodenspalte hat, was bedeutet, dass sich die Wirtschaftsdaten, die heute am 2. Februar 2023 veröffentlicht werden, eigentlich auf die Wirtschaftsdaten vom Januar beziehen (siehe beigefügtes Bild).

#include <fxsaber\Calendar\Calendar.mqh> // https://www.mql5.com/de/code/32430

struct CALENDAR_EVENT : public EVENT
{
  string ToString() const
  {
    struct CALENDAR_VALUE : public MqlCalendarValue
    {
      string ToString( void ) const
      {
        static const string Month[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
        static const string Quarter[] = {"Q1", "Q2", "Q3", "Q4"};
        
        MqlDateTime Time;
    
        return((this.period && ::TimeToStruct(this.period, Time) ? (this.revision ? Quarter[(Time.mon - 1) / 3]
                                                                                  : Month[Time.mon - 1] + ((Time.day != 1) ? " " + (string)Time.day : NULL))
                                                                 : NULL));
      }
    } Value;

    return(this.EVENT::ToString() + (::CalendarValueById(this.id, Value) ? Value.ToString() : NULL));
  }
};

void OnStart()
{  
  CALENDAR Calendar;
  
  Calendar.Set();
  
  const int Size = Calendar.GetAmount();
  
  for (int i = 0; i < Size; i++)
  {
    const CALENDAR_EVENT Event = Calendar[i];
    
    Print(Event.ToString());
  }
}


2023.02.02 16:15 GBP 3 BoE Governor Bailey Speech (boe-governor-bailey-speech), United Kingdom (GB) |  |  |  |  
2023.02.02 17:15 EUR 3 ECB President Lagarde Speech (ecb-president-lagarde-speech), European Union (EU) |  |  |  |  
2023.02.02 20:30 EUR 3 ECB President Lagarde Speech (ecb-president-lagarde-speech), European Union (EU) |  |  |  |  
2023.02.03 15:30 USD 3 Nonfarm Payrolls (nonfarm-payrolls), United States (US) |  | 16 K | 223 K |  Jan
2023.02.03 17:00 USD 3 ISM Non-Manufacturing PMI (ism-non-manufacturing-pmi), United States (US) |  | 53 | 49.6 |  Jan
2023.02.06 12:00 EUR 3 Retail Sales m/m (retail-sales-mm), European Union (EU) |  | 0.3% | 0.8% |  Dec
2023.02.06 17:00 CAD 3 Ivey PMI (ivey-pmi), Canada (CA) |  | 55.2 | 33.4 |  Jan
2023.02.07 05:30 AUD 3 RBA Interest Rate Decision (rba-interest-rate-decision), Australia (AU) |  |  | 3.1% |  
2023.02.07 19:30 CAD 3 BoC Governor Macklem Speech (boc-governor-macklem-speech), Canada (CA) |  |  |  |  
2023.02.08 06:30 INR 3 RBI Interest Rate Decision (rbi-interest-rate-decision), India (IN) |  |  | 6.25% |  
2023.02.08 17:30 USD 3 EIA Crude Oil Stocks Change (eia-crude-oil-stocks-change), United States (US) |  | -0.012 M | 4.140 M |  Feb 3
2023.02.09 AllDay EUR 3 EU Leaders Summit (eu-leaders-summit), European Union (EU) |  |  |  |  
2023.02.09 10:30 SEK 3 Riksbank Interest Rate Decision (riksbank-interest-rate-decision), Sweden (SE) |  |  | 2.5% |  
 

Weil der aktuelle Nachrichtenwert nicht sofort generiert wird? Ihr Beispiel verwendet die Methode (Event.Actual!= LONG_MIN) && (Event.Forecast!= LONG_MIN), aber die Werte werden nicht akzeptiert

Was muss ich tun, damit in einem echten Test genau dieser Wert akzeptiert wird und die Logik Ihres Beispiels ausgeführt wird?

Vielen Dank

 
AdrianR007 LONG_MIN) && (Event.Forecast!= LONG_MIN), aber die Werte werden nicht akzeptiert

Was muss ich tun, damit dieser Wert in einem echten Test akzeptiert wird und die Logik Ihres Beispiels ausgeführt wird?

Ich verstehe den Kontext der Konversation nicht.

 
Der aktuelle Wert der Nachrichten wird nicht aktualisiert, daher funktioniert der Code (Event.Actual!= LONG_MIN) && (Event.Forecast!= LONG_MIN) nicht. Gibt es eine andere Möglichkeit, das Ereignis in der Minute zu lesen, in der es eintritt?
 
AdrianR007 LONG_MIN) && (Event.Forecast!= LONG_MIN) nicht. Gibt es eine andere Möglichkeit, das Ereignis in der Minute zu lesen, in der es eintritt?

Sie sind zu kurz gefasst, um klar zu verstehen, was Sie meinen. Stellen Sie einen präzisen Code zur Verfügung, den Sie ausführen können, um das Problem zu erkennen, über das Sie sprechen möchten.

 
fxsaber #:

Sie sind zu knapp formuliert, um eindeutig zu verstehen, was Sie meinen. Stellen Sie prägnanten Code zur Verfügung, den Sie ausführen können, um das Problem, über das Sie sprechen wollen, zu erkennen.

Ich verwende den Code aus Ihrem Beispiel, aber der aktuelle Wert wird nicht aktualisiert, wenn das Ereignis eintritt. Haben Sie einen Vorschlag dazu?
Danke
Dateien:
Capture.PNG  124 kb
 
AdrianR007 #:
Ich verwende den Code aus Ihrem Beispiel, aber der aktuelle Wert wird nicht aktualisiert, wenn das Ereignis eintritt. Irgendein Vorschlag dazu?
Danke

es ist nicht selbst aktualisierende Bibliothek, verwenden Sie id, von Kalender, für den Erhalt von frischen Daten aus mql5.