Expert Advisors: MQL5 Programming for Traders – Quellcodes aus dem Buch. Teil 4

 

MQL5 Programming for Traders – Quellcodes aus dem Buch. Teil 4:

Im vierten Teil des Buches werden wir uns auf die Beherrschung der integrierten Funktionen (MQL5-API) konzentrieren und uns nach und nach in spezialisierte Subsysteme vertiefen. Jedes MQL5-Programm kann eine Fülle von Technologien und Funktionalitäten nutzen. Daher ist es sinnvoll, mit den einfachsten und nützlichsten Funktionen zu beginnen, die in den meisten Programmen verwendet werden können.

MQL5 Programming for Traders – Quellcodes aus dem Buch. Teil 4

Autor: MetaQuotes

 

Hallo,

Der Algorithmus zur Berechnung des GMT-Offsets des Brokers und der Sommerzeit im Skript "TimeSummer.mq5" ist völlig falsch.

https://www.mql5.com/de/book/common/timing/timing_daylight_saving

Der korrekte Algorithmus ist hier zu finden: https: //www.mql5.com/en/code/48650

Determine Broker's Daylight (DST) schedule
Determine Broker's Daylight (DST) schedule
  • www.mql5.com
Script to determine whether your Broker follows the US, UK or AU daylight (DST) schedule.
 
ok
 

Es ist möglich, Strukturen nach mehr als 1 Feld zu sortieren, wenn man eine leicht modifizierte Version des Makros SORT_STRUCT erstellt. Zum Beispiel für die Sortierung nach 2 Feldern kann es sein:

//+------------------------------------------------------------------+
//| Bequemes Makro zum Sortieren von 'A'rray of 'T'ype nach zwei 'F'ields |
//+------------------------------------------------------------------+
#define  SORT_STRUCT_2(T,A,F1,F2)                                     \
{                                                                    \
   class InternalSort : public QuickSortStructT<T>                   \
   {                                                                 \
      virtual bool Compare(const T &a, const T &b) override          \
      {                                                              \
         return (a.##F1 > b.##F1)                                    \
            || (a.##F1 == b.##F1 && a.##F2 > b.##F2);                \
      }                                                              \
   } sort;                                                           \
   sort.QuickSort(A);                                                \
}
MQL5 Book: Common APIs / Working with arrays / Comparing, sorting, and searching in arrays
MQL5 Book: Common APIs / Working with arrays / Comparing, sorting, and searching in arrays
  • www.mql5.com
The MQL5 API contains several functions that allow comparing and sorting arrays, as well as searching for the maximum, minimum, or any specific...
 
amrali #:

Der Algorithmus zur Berechnung des GMT-Offsets des Brokers und der Sommerzeit im Skript "TimeSummer.mq5" ist völlig falsch.

Sie können mir gerne Details per PM mitteilen. Ihr Skript führt ähnliche Aktionen auf kompliziertere Weise durch und ist an eine bereits existierende Regeltabelle gebunden, die ich absichtlich nicht verwendet habe, da die ganze Idee darin bestand, die Sommerzeit anhand der reinen Kursstatistiken zu erkennen. Die Einrichtung des Servers kann in der Praxis ungenau sein und entspricht nicht den Standards. Das ist der Grund, warum Ihre Skripte manchmal die tatsächliche Zeitzone der Server der Benutzer nicht erkennen konnten, wie deren Feedback zeigte.

Eine aktualisierte Version des Sommerzeit-Detektors meines Servers wurde kürzlich veröffentlicht.

TimeServerDaylightSavings
TimeServerDaylightSavings
  • www.mql5.com
Time-related functions for empirical detection of server time zone and daylight savings mode (DST) from history of quotes