Uzman Danışmanlar: Yatırımcılar için MQL5 Programlama - Kitaptan kaynak kodları. Bölüm 4

 

Yatırımcılar için MQL5 Programlama - Kitaptan kaynak kodları. Bölüm 4:

Kitabın dördüncü bölümünde, yerleşik fonksiyonlarda (MQL5 API) ustalaşmaya odaklanacağız ve kademeli olarak özelleşmiş alt sistemlere gireceğiz. Herhangi bir MQL5 programı çok sayıda teknoloji ve işlevsellikten yararlanabilir. Bu nedenle, çoğu programda kullanılabilecek en basit ve kullanışlı fonksiyonlarla başlamak mantıklıdır.

Yatırımcılar için MQL5 Programlama - Kitaptan kaynak kodları. Bölüm 4

Yazar: MetaQuotes

 

Merhaba,

"TimeSummer.mq5" komut dosyasında aracının GMT ofsetini ve yaz saati uygulamasını hesaplamak için kullanılan algoritma tamamen yanlıştır.

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

Doğru algoritma burada bulunabilir: 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.
 
Tamam.
 

SORT_STRUCT makrosunun biraz değiştirilmiş bir versiyonu oluşturulursa, yapıları 1'den fazla alana göre sıralamak mümkündür. Örneğin, 2 alana göre sıralama için şöyle olabilir:

//+------------------------------------------------------------------+
//| 'T' türündeki 'A' dizisini iki 'F' alanına göre sıralamak için kullanışlı makro |
//+------------------------------------------------------------------+
#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 #:

"TimeSummer.mq5" komut dosyasında aracının GMT ofsetini ve yaz saati uygulamasını hesaplamak için kullanılan algoritma tamamen yanlıştır.

Ayrıntıları bana PM yoluyla yazmaktan çekinmeyin. Komut dosyanız benzer eylemleri daha karmaşık bir şekilde yapar ve önceden var olan bir kural tablosuna bağlıdır, bunu kasıtlı olarak kullanmadım, çünkü tüm fikir DST'yi alıntıların saf istatistiklerinden tespit etmekti. Sunucunun kurulumu pratikte hatalı olabilir ve standartlara uymayabilir. Bu nedenle, geri bildirimlerine göre, komut dosyalarınız bazen kullanıcının sunucularının gerçek saat dilimini algılayamadı.

Sunucumun yaz saati algılayıcısının güncellenmiş bir sürümü yakın zamanda yayınlandı.

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