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:
- 59
- Derecelendirme:
- Yayınlandı:
-
Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git
Logify, EA'ların ve göstergelerin hata ayıklamasını, izlenmesini ve izlenmesini basitleştirmek için tasarlanmış MQL için bir günlük kütüphanesidir. Günlük seviyeleri, esnek formatlar ve birden fazla işleyici desteği ile doğrudan grafikte veya terminalde yapılandırılmış, özelleştirilebilir ve organize günlükler sağlar. MQL projelerinize entegre edilmesi kolay, hafif ve zarif bir çözüm.
📦 Özellikler
- Çoklu günlük seviyeleri: HATA AYIKLAMA, BILGI, UYARI, HATA, ÖLÜMCÜL
- Günlükleri doğrudan grafik, terminal, dosyalar ve hatta veritabanı üzerinde görüntüleyin
- Özelleştirilebilir günlük formatı ve düzeni
- Çoklu işleyicilere sahip modüler mimari
- Hafif, entegrasyonu ve kullanımı kolay
🚀 Kurulum
- Logify klasörünü şu adrese kopyalayın:
MQL5/Include/
- Logify'ı EA'nıza, göstergenize veya komut dosyanıza ekleyin:
#include <Logify/Logify.mqh> - Git kullanarak kurulum yapmak mümkündür, sadece depoya erişin ve adımları izleyin.
🔧 Hızlı Başlangıç Örneği
Varsayılan ayarlarla basit örnek:
//+------------------------------------------------------------------+ //| İçe Aktar| //+------------------------------------------------------------------+ #include <Logify/Logify.mqh> CLogify Logify; //+------------------------------------------------------------------+ //| Uzman başlatma işlevi| //+------------------------------------------------------------------+ int OnInit() { //--- Örnek günlükler Logify.Debug("Initialization started"); Logify.Info("Account balance is OK"); Logify.Alert("Take profit reached"); Logify.Error("Failed to send order", "Order", "Reason: No money"); Logify.Fatal("Critical error: Invalid input parameters"); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+
Özel işleyici ayarlarıyla gelişmiş örnek. Bu örnekte, günlük kaydını dosyalara ve grafik yorumuna kaydediyoruz. Her biri için ayarların özelleştirilmesi.
//+------------------------------------------------------------------+ //| İçe Aktar| //+------------------------------------------------------------------+ #include <Logify/Logify.mqh> CLogify Logify; //+------------------------------------------------------------------+ //| Uzman başlatma işlevi| //+------------------------------------------------------------------+ int OnInit() { //--- Yorum işleyiciyi yapılandırın MqlLogifyHandleCommentConfig config_comment; config_comment.size = 10; config_comment.frame_style = LOG_FRAME_STYLE_SINGLE; config_comment.direction = LOG_DIRECTION_UP; config_comment.title = "My Expert"; //--- Yorum işleyiciyi oluşturun ve yapılandırın CLogifyHandlerComment *handler_comment = new CLogifyHandlerComment(); handler_comment.SetConfig(config_comment); handler_comment.SetLevel(LOG_LEVEL_DEBUG); handler_comment.SetFormatter(new CLogifyFormatter("{date_time} [{levelname}]: {msg}","hh:mm:ss")); //--- Dosya işleyiciyi yapılandırın MqlLogifyHandleFileConfig file_config; file_config.CreateDateRotationConfig("my_expert","logs",LOG_FILE_EXTENSION_LOG,10,100,CP_UTF8); //--- Dosya işleyicisi oluşturun ve yapılandırın CLogifyHandlerFile *handler_file = new CLogifyHandlerFile(); handler_file.SetConfig(file_config); handler_file.SetLevel(LOG_LEVEL_DEBUG); handler_file.SetFormatter(new CLogifyFormatter("{date_time} [{levelname}]: {msg} ({filename} | {origin} | {function})","hh:mm:ss")); //--- İşleyici ekle Logify.AddHandler(handler_comment); Logify.AddHandler(handler_file); //--- Örnek günlükler Logify.Debug("Initialization started"); Logify.Info("Account balance is OK"); Logify.Alert("Take profit reached"); Logify.Error("Failed to send order", "Order", "Reason: No money"); Logify.Fatal("Critical error: Invalid input parameters"); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+
Ayarların her birini anlamak için, kütüphane geliştirmenin her adımını açıkladığım aşağıdaki makaleleri okumanızı tavsiye ederim:
- Günlük Kayıtlarında Uzmanlaşma (Bölüm 1): MQL5'te Temel Kavramlar ve İlk Adımlar
- Günlük Kayıtlarında Uzmanlaşma (Bölüm 2): Günlükleri Biçimlendirme
- Günlük Kayıtlarında Uzmanlaşma (Bölüm 3): Günlükleri Kaydetmek için İşleyicileri Keşfetme
- Günlük Kayıtlarında Uzmanlaşma (Bölüm 4): Günlükleri Dosyalara Kaydetme
- Günlük Kayıtlarında Uzmanlaşma (Bölüm 5): İşleyiciyi Önbellek ve Rotasyon ile Optimize Etme
- Günlük Kayıtlarında Uzmanlaşma (Bölüm 6): Günlükleri Veritabanına Kaydetme
- Günlük Kayıtlarında Uzmanlaşma (Bölüm 7): Günlükler Grafikte Nasıl Gösterilir
- Günlük Kayıtlarında Uzmanlaşma (Bölüm 8): Kendini Çeviren Hata Kayıtları
- Günlük Kayıtlarında Uzmanlaşma (Bölüm 9): Oluşturucu modelini uygulama ve varsayılan yapılandırmaları ekleme
- Günlük Kayıtlarında Uzmanlaşma (Bölüm 10): Bir Bastırma Uygulayarak Günlük Tekrarını Önleme
✔️ Günlük Düzeyleri
| Seviye | Açıklama |
|---|---|
| DEBUG | Hata ayıklama için ayrıntılı bilgi |
| BİLGİ | Genel bilgi |
| UYARI | Uyarılar veya önemli olaylar |
| HATA | Dikkat edilmesi gereken hatalar |
| ÖLÜMCÜL | Kritik hatalar, yürütmeyi durdur |
🖥️ İşleyiciler Dahil
Her işleyici, günlüklerin nerede görüntüleneceğini veya saklanacağını tanımlar.
| İşleyici | Açıklama |
|---|---|
| Yorum | Günlükleri doğrudan grafik üzerinde görüntüleme (Yorum) |
| Konsol | MetaTrader terminalinde günlükleri göster |
| Dosya | Günlükleri .txt veya .log dosyalarına kaydetme |
| Veritabanı | Günlükleri yerel SQLite veritabanında saklar |
Örneğin grafik + dosya + konsol gibi bir veya birkaç işleyiciyi aynı anda kullanabilirsiniz.
🛠️ Günlük Formatı
Biçimlendirme kalıbı örneği:
"{date_time} [{levelname}]: {msg}" Kullanılabilir belirteçler:
- {seviyeadı}: Seviye adı (DEBUG, INFO, ERROR, vb.)
- {msg}: Ana mesaj
- {args}: Ek argümanlar veya ayrıntılar
- {timestamp}: Saniye cinsinden zaman damgası (Unix Saati)
- {tarih_saati}: Biçimlendirilmiş tarih ve saat (ss:dd:ss, vb.)
- {seviye}: Seviye için sayısal kod (0 = DEBUG, 1 = INFO...)
- {origin}: Günlük çağrısında tanımlanan kaynak veya bağlam
- {dosyaadı}: Kaynak dosya adı (varsa)
- {function}: Çağrıldığı fonksiyonun adı
- {satır}: Günlüğün oluştuğu koddaki satır numarası
⚖️ Lisans
MIT Lisansı - Kişisel ve ticari projeler için kullanımı ücretsiz.
👨💻 Yazar
MQL geliştirmeyi daha profesyonel, düzenli ve verimli hale getirmeye odaklanarak joaopedrodev tarafından geliştirilmiştir.
MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal kod: https://www.mql5.com/en/code/59821
Pozitif hacim endeksi
Pozitif Hacim Endeksi (PVI), hacimdeki bir artışı bir menkul kıymetin fiyatındaki bir değişiklikle ilişkilendirir.
HistoryLoader
Sorgu sonucunun işlenmesi ile herhangi bir geçmiş veriye erişimi düzenlemek için Çoklu Para Birimi Uzman Danışmanı işlevsel modülü.
Rsi Engulfing Bar V2
Rsi Göstergesi
Matris işlemleri için kütüphane
Matrislerle çalışmak için kütüphane: matrislerin oluşturulması ve onlarla temel işlemler: toplama, çıkarma, çarpma, ters çevirme.