Diskussion zum Artikel "Programmierungsgrundlagen für MQL5 Zeit"

 

Neuer Artikel Programmierungsgrundlagen für MQL5 Zeit :

Dieser Beitrag konzentriert sich auf Standard MQL5-Funktionen zur Arbeitsweise mit Zeit sowie Programmiertechniken und praktisch sinnvolle Funktionen zur Arbeitsweise mit Zeit, die für die Erzeugung von Expert Advisors und Indikatoren erforderlich sind. Besondere Aufmerksamkeit wird auf die allgemeine Theorie der Zeitmessung gelegt. Dieser Beitrag sollte vor allem für Anfänger unter den MQL5-Programmierern von großem Interesse sein.

Wenden wir uns kurz vom eigentlichen Thema ab und beschäftigen uns mit Astronomie. Jedem ist bekannt, dass sich die Erde um die Sonne dreht und zugleich auch um ihre eigene Achse. Die Erdachse ist in Bezug zu ihrer Umlaufbahn um die Sonne leicht geneigt. Die für eine vollständige Umdrehung der Erde um ihre eigene Achse in astronomischen (Himmels, globalen) Koordinaten benötigte Zeit nennt man einen astronomischen oder Sterntag.

Uns normale Erdbewohner interessiert ein Sterntag nicht, das ist bei Astronomen jedoch anders. Doch weitaus wichtiger ist der Wechsel zwischen Tag und Nacht. Die für einen Tag-Nacht-Zyklus benötigte Zeit nennt man Sonnentag. Betrachtet man sich das Sonnensystem von oberhalb des Nordpols unserer Erde (Abb. 3) aus, kann man erkennen, dass sich die Erde um ihre eigene Achse dreht und die Sonne entgegen des Uhrzeigersinns umrundet. Daher muss sich die Erde, um sich auf ihrer Achse in Bezug zur Sonne einmal komplett zu drehen, etwas mehr als 360 Grad drehen. Daher ist logischerweise ein Sonnentag etwas länger als ein Sterntag.

Abb. 3 Richtung der Erdrotation um ihre Achse und um die Sonne (wenn von oberhalb des Nordpols unserer Erde aus betrachtet).
Abb. 3 Richtung der Erdrotation um ihre Achse und um die Sonne (wenn von oberhalb des Nordpols unserer Erde aus betrachtet).

Autor: Dmitry Fedoseev

 
"01.12.2012 - erster Januar 2012". - vielleicht Dezember?
 
Oder vielleicht 01.01.2012 :)
 
Ich warte... sie werden es reparieren.
[Gelöscht]  
Integer:
Oder vielleicht 01.01.2012 :)
Korrigiert, danke.
 

Sie hätten nicht den Begriff"Winterzeit" verwenden sollen.

Sie sollte Standardzeit heißen, weil sie nach den Regeln (und auch in Windows) als Standardzeit bezeichnet wird.

Winter ist eine gängige Bezeichnung, nicht Sommer.

Wenn Sie es Sommerzeit oder Standardzeit nennen, ist sofort klar, dass es sich um die Sommerzeit handelt, die nicht die Standardzeit ist, die eine zusätzliche Stunde hat.

 
Was bedeutet die Formulierung "Alle Diagrammelemente werden auf unsichtbare Farbe gesetzt" und wo befindet sie sich im Skriptcode? Ich danke Ihnen.
 
Es steht nicht im Code, sondern auf dem Bild, damit man das Skript besser sehen kann. Es ist manuell deaktiviert.
 
Hallo, verehrter Programmierer. Programmierer sind für mich wie Götter - aus dem Nichts etwas funktionierendes aus der Luft zu erschaffen und sogar materielle Dinge zu erschaffen ist einfach fantastisch...Man bestimmt nur den Zeitpunkt von Anfang an, aber wie man die Periodizität einstellt. Bis jetzt habe ich EAs umbenannt, so dass jeder zu seiner eigenen Zeit startet und stoppt, aber da es im MT5 nur ein Paar - einen EA gibt, muss ich manuell umschalten. Vielen Dank
 

Toller Artikel. Es ist schön, wenn alles zusammengetragen wird und sich nach der Lektüre alles im Kopf zu einem System zusammenfügt.

Ich hätte gerne mehr Informationen über die Umstellung (oder nicht) der verschiedenen Börsen auf die Sommerzeit.

Außerdem interessiert mich die Frage, wie man Tests unter Berücksichtigung der Forex-Zeitzonen programmiert, wenn einige Börsen auf Sommerzeit umstellen und andere nicht?

Gleichzeitig sind die Umstellungsdaten überall unterschiedlich, und die Regeln für die Auswahl dieser Daten können sich im Laufe der Jahre geändert haben.

Hat jemand so etwas schon einmal programmiert?

 

Ich werde meinen Penny hinzufügen. Funktion für den Erhalt der Zeit-Parameter (mit ihm in den Code ist kompakter).

//=====================================================================================================================
// Gibt den gewünschten Zeitparameter zurück
// int TimeGet(datetime).year; // Jahr
// int TimeGet(datetime).mon; // Monat
// int TimeGet(datetime).day; // day
// int TimeGet(datetime).hour; // Stunde
// int TimeGet(datetime).min; // Minuten
// int TimeGet(datetime).sec; // Sekunden
// int TimeGet(datetime).day_of_week; // Tag der Woche (0-Sonntag, 1-Montag, ...,6-Samstag).
// int TimeGet(datetime).day_of_year; // Ordnungszahl im Jahr (1. Januar hat die Nummer 0)
//=====================================================================================================================
MqlDateTime TimeGet(datetime par_time) {
   MqlDateTime stm;
   TimeToStruct(par_time, stm);
   return(stm);
}

Es scheint zu funktionieren, aber wenn Sie einen Punkt eingeben, erscheint die Dropdown-Liste der Elemente der Struktur MqlDateTime nicht :(