Alım-satım robotlarını ücretsiz olarak nasıl indirebileceğinizi izleyin
Bizi Telegram üzerinde bulun!
Fan sayfamıza katılın
Komut dosyasını ilginç mi buldunuz?
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
Komut dosyasını beğendiniz mi? MetaTrader 5 terminalinde deneyin
Kütüphaneler

Denge ve öz sermaye grafiklerini kaydeden ve ek optimizasyon kriterlerini hesaplayan kod - MetaTrader 5 için kütüphane

Görüntülemeler:
41
Derecelendirme:
(6)
Yayınlandı:
Güncellendi:
MQL5 Freelance Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git

Büyük bir projesinden kodunupaylaşmayakarar verdim ayrı bir kütüphanesinde tasarladı.

Uzman Danışman koduna erişiminiz varsa, bu kütüphaneden ek kod ekleyerek bakiye ve öz sermaye grafiklerini kaydedebilir ve ek optimizasyon kriterlerini hesaplayabilirsiniz.

Advanced Optimization Report Saver.mqh dosyasını ekteki bağlantıdan indirin ve terminal klasörüne kaydedin \MQL5\Include\

İndirilen dosyayı bağlayan kodu ekleyin: (Uzman Danışman kodunuzun son satırının altına veya başka bir yere ekleyebilirsiniz)

#include <Advanced Optimization Report Saver.mqh>

Ardından, Uzman Danışmanınızdaki mevcut işlevlere dışa aktarılan işlevlere çağrılar eklemeniz gerekir: (işlev yoksa ekleyin)

void OnTick(){
   //... kodunuz
   
   //Bakiye ve özkaynak grafiklerini kaydedin
   save_OnTick(TimeCurrent(), AccountInfoDouble(ACCOUNT_BALANCE), AccountInfoDouble(ACCOUNT_EQUITY));
}

void OnTesterInit()  {
   //... kodunuz

   save_OnTesterInit();//print to chart "Optimizasyon tamamlanana kadar bu pencereyi kapatmayın!"
}
void OnTesterDeinit(){
   //... kodunuz

    save_OnTesterDeinit();// çerçeveleri al
}

double OnTester(){
   //... kodunuz

   //her türlü özel değeri kaydedin:
   double AvgPips=0;
   save_Add( AvgPips, 2, "Custom 1", true);//value, digits, name, sort_min_to_max
   save_Add( TesterStatistics( STAT_PROFIT ), 2, "Custom 2");
   double Custom = 0;//özel fitness'ınız
   saveCharts(Custom);//son özkaynakları, tüm anlaşmaları saklayın...
   return Custom;
}

save_Add fonksiyonları, Raporunuza dahil etmek istediğiniz kendi kriterlerinizi eklemenize olanak tanır:

   save_Add( AvgPips, 2, "Custom 1", true);//value, digits, name, sort_min_to_max
   save_Add( TesterStatistics( STAT_PROFIT ), 2, "Custom 2");


Örneğin, bu kodu Örnekler klasöründeki Hareketli Ortalama Uzman Danışmanına ekleyelim (...\MQL5\Experts\Examples\Moving Average\MovingAverage.mq5). İlk olarak, orijinal Uzman Danışmanı kopyalayın ve Moving Average Charts.mq5 olarak adlandırın. Şimdi, yukarıdaki talimatlardaki kodu buna ekleyin.

Değişiklikler yalnızca kodun en sonunda, CheckForOpen(); satırından sonra OnTick() işlevinden başlayarak yapılır:

void OnTick(void)
  {
//---
   if(SelectPosition())
      CheckForClose();
   else
      CheckForOpen();
   //Bakiye ve özkaynak grafiklerini kaydedin
   save_OnTick (TimeCurrent(), AccountInfoDouble( ACCOUNT_BALANCE), AccountInfoDouble( ACCOUNT_EQUITY));
  }

void OnTesterInit()  {
   //... kodunuz

   save_OnTesterInit();//print to chart "Optimizasyon tamamlanana kadar bu pencereyi kapatmayın!"
}
void OnTesterDeinit(){
   //... kodunuz

    save_OnTesterDeinit();// çerçeveleri al
}

double OnTester(){
   //... kodunuz

   //her türlü özel değeri kaydedin:
   double AvgPips=0;
   save_Add( AvgPips, 2, "Custom 1", true);//value, digits, name, sort_min_to_max
   save_Add( TesterStatistics( STAT_PROFIT ), 2, "Custom 2");
   double Custom = 0;//özel fitness'ınız
   saveCharts(Custom);//son özkaynakları, tüm anlaşmaları saklayın...
   return Custom;
}

#include <Advanced Optimization Report Saver.mqh>

Gördüğünüz gibi, oldukça basit ve sadece birkaç dakika sürüyor.

Bundan sonra, optimizasyonu çalıştırabilirsiniz:

Son ekran görüntüsü, bağlı kodun 2 parametre eklediğini göstermektedir:

  1. İstatistikleri Kaydet - istatistiklerin toplanmasını etkinleştirir veya devre dışı bırakır
  2. Denge ve öz sermaye grafiklerindeki pikseller - mini grafiklerin genişliğindeki piksel sayısını belirtir.

Optimizasyon tamamlandığında, bir rapor oluşturabilir (kaydedilen kareleri ayrıştıran bir program kullanarak) ve aşağıdakileri görebilirsiniz:

MovingPeriod ile 100 satır


MovingShift ile10 satır



Eğer 20'den fazla satır varsa, ortalama değerlerin sadece 3 yatay satırı görüntülenecektir: 3 üstte ve 3 altta.

100 satırın algılanması zordur, bu nedenle sayılarını azaltmanız gerekir.
Giriş değişkenlerini aynı adımla değil, bir numaralandırıcı (enum) aracılığıyla bir ölçekle kullanırsınız, örneğin: 1,2,3,5,7,10,15,20,30,50,70,100 - 100 yerine sadece 12 satır olacaktır.

enum nums1 {__0=0, __1=1, __2=2, __3=3, __5=5, __7=7, __10=10, __15=15, __20=20, __30=30, __50=50, __70=70, __100=100, __150=150, __200=200, __300=300, __500=500};
input nums1 MovingPeriod = 10; // Hareketli Ortalama dönemi
Uzman Danışmanın enum sürümünü ekli dosyalardan indirebilirsiniz.

1000 optimizasyon geçişi yerine 120 olacak ve hesaplama süresi ~ 8 kat daha hızlı olacak ve dosya boyutu ~ 8 kat daha küçük olacaktır.
Sonuç daha görünür:


MovingPeriod = 15 ile elde edilen sonuç, en yüksek ortalama çizgisi ve en yüksek maksimum ile hemen göze çarpmaktadır.
Ancak, genellikle olduğu gibi, geriye dönük testteki en iyi sonuçlar ileriye dönük testteki en iyi sonuçlar değildir.
Kaydedilen çerçeveleri ayrıştıran programınız bu gibi Grafikleri görüntüleyebilir:

Ve bunun gibi ek kriterler:

Başka ilginç kriterler için bir kodunuz varsa, bunları kütüphaneye eklemek için önerebilirsiniz.


Güncellemeler:

  1. 2026-02-02: Özel Kriter adlarında UTF karakterleri için destek eklendi.

MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal kod: https://www.mql5.com/en/code/68706

Previous Day highs and lows Previous Day highs and lows

Draws the previous day High, Low, and Close as horizontal reference lines on the chart for a configurable number of past days. Yesterday's levels extend into today as live support and resistance, with optional touch alerts.

Trade With MA Trade With MA

Trade using MA. An easy indicator to identify the trend direction on a specific timeframe.

Binary tradng based on candle colors Binary tradng based on candle colors

Mum renklerini sayan basit bir ikili ticaret stratejisi.

ShowTradeLines Service ShowTradeLines Service

Bu, mevcut pozisyonların/işlemlerin giriş/çıkış noktalarını grafikler üzerinde trend çizgileri ve/veya oklar olarak gösteren bir hizmettir.