Fan sayfamıza katılın
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
- Görüntülemeler:
- 32
- Derecelendirme:
- Yayınlandı:
-
Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git
Yakın zamanda CopyTicksRange() işlevselliğini yoğun bir şekilde test etmeye başladığımda, milisaniye zamanları işlerken birkaç olumsuz sorunla karşılaştım:
- Aslında CDateTime kullanmak istiyordum, çünkü MqlTimeStruct'tan türetilmiştir ve dahil edilen artırma ve azaltma yöntemlerini kullanarak farklı zaman birimlerini çok kolay bir şekilde düzenleyebilirsiniz.
- Aynı zamanda, milisaniye zamanlarını (1 Ocak 1970'ten bu yana geçen saniye çarpı 1000 ulong formatında) ileri geri sorunsuz bir şekilde çevirmek için bir yola ihtiyacım vardı.
Burada, örneğin milisaniye sayısının size tam tarih hakkında pek bir şey söylemeyen çok belirsiz bir sayı olması gibi bir zorlukla karşılaştım. Bununla birlikte, CDateTime veya TimeStruct kullanırsanız, tüm zaman birimlerini değiştirmek kolaydır, ancak biçim onları ayırır ve sonuç da çok belirsizdir. Bu CDateTimeMsc sınıfı bu sorunu çözmek için oluşturulmuştur.
#include <Tools\DateTime.mqh> struct CDateTimeMsc: public CDateTime { public: int msc; // additional variable for msc storage datetime check_datetime; // uygun gözlem için biraz ek yük gereklidir. //--- CDateTimeMsc yöntemleri ulong MscTime(void) {return(ulong(double(CDateTime::DateTime()) * 1000) + msc);} void MscTime(ulong a_msc_time); // giriş (datetime*1000) void Msc(int value); //bool IsNumInt(const int num); void MscDec(int delta = 1); void MscInc(int delta = 1); void SecTime(int a_int_time); ulong SecTime(void); void UpdateDateTime(); // gözlem değişkenini günceller check_datetime void DateTime(datetime a_datetime) {CDateTime::DateTime(a_datetime); UpdateDateTime();} datetime DateTime(void) {return(CDateTime::DateTime());} };
Yeni metotlar eski yapının kalıtımı altına yerleştirildi.
Artık aslında bir yapı olan sınıf (bkz. Yapılar/Sınıflar), bu tür kesin zamanların mevcut olması koşuluyla milisaniyelerle de çalışabilir.
Ayrıca, artırma ve azaltma yöntemleri msc özelliğine genişletilmiştir.
Şimdi, belirli bir ek yük oluşturduğundan (bazı insanlar için bu çok önemlidir) ek değişken "check_datetime" ın gerçekten gerekli olup olmadığı tartışılabilir. Ancak, genellikle çok fazla CDateTime nesnesi kullanılmadığını, yalnızca saat, dakika, saniye veya gün gibi zaman birimlerinin değiştirilmesi gereken önemli yerlerde birkaç tane kullanıldığını varsaydım. Ayrıca, her artış/azalışta gereksiz yere çağrılan UpDateTime() yöntemi hakkında da birkaç şüphem vardı.
Ancak sonuçta, kullanım faktörü ana odak noktasıydı.
Test
Tam tarihi bilmek istiyorsanız artık ek bir datetime değişkeni ile zamanı sorgulamak zorunda değilsiniz, ancak "check_datetime" değişkenini denetim altına alabilirsiniz: (TestEA yukarıya bakın)
Milisaniye zamanı otomatik olarak tarih-saat formatına çevrilmiştir.
MetaQuotes Ltd tarafından Almancadan çevrilmiştir.
Orijinal kod: https://www.mql5.com/de/code/48156
Gün İçi Üçlü Performans
Üç çarpı işareti belirleyin ve belirli bir zamandan başlayarak (bu da ayarlanabilir) günlük yüzde performansını izleyin.
Mükemmel ZigZag
Mümkün olan en basit prensipte ultra hızlı zikzak. Sarkan köşe yok. Zaman optimizasyonlu köşe bulma desteği ile.
Jolly Roger'ın danışman versiyonu
Otomatik Ticaret Şampiyonası 2011'deki Pirat katılımcısına dayanmaktadır.
Triangle Hedge
MetaTrader 5'te sanal bir hedge pozisyonu açar.
