Kütüphaneler: MultiTester - sayfa 23

 
fxsaber:

OnTesterInit içinde GetSettings yapın ve buradan elde edilen değerleri ParametersSetRange aracılığıyla sinput değişkenine aktarın.

Teşekkürler, kısmen yardımcı oldu.

GetSettings() çağrısını OnTesterInit()'e taşıdığımda , test cihazı ayarlar sekmesine geçmeyi durdurdu, ancak yerel aracılarda bir sorun var.

GetSettings verileri hiçbir yerde kullanılmıyor, sadece fonksiyon çağrılıyor.

void OnTesterInit()
  {
   //test cihazı ayarlarını al
   string  Str;
   if(MQLInfoInteger(MQL_TESTER) && MTTESTER::GetSettings(Str))
     {
      // Print(Str);
     }
  }
  
 void  OnTesterDeinit()
  {
  }


 
Sunriser:

yerel ajanlarda bir sorun var.

GetSettings sadece yerel Ajanlarda - Terminal'in çalıştığı makinede - çağrılabilir. Diğer makinelerde çalıştıramazsınız.

Bu yüzden OnTesterInit tek seçenektir.

 
Güncellendi.
 

Her tek geçişten sonra bu tek testle ilgili bilgileri bir dosyaya yazmak istiyorum.

Kayıt bloğunu nereye ekleyeceğim? Kütüphanede mi? Yoksa yalnızca Uzman Danışman'da mı uygulanıyor?

Kütüphane olmadan olağan durumda, onu ondeinit bloğuna ekledim. Henüz buraya nereye ekleyeceğimi bulamadım.

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
FileWrite - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Aleksei Skrypnev:

Her bir geçişten sonra bu tek testle ilgili bilgileri bir dosyaya yazmak istiyorum.

Kayıt bloğunu nereye ekleyebilirim? Kütüphaneye mi? Yoksa sadece Uzman Danışman'da mı uygulanıyor?

Kütüphanenin olmadığı normal durumda bunu ondeinit bloğuna ekledim. Henüz nereye ekleyeceğimi bulamadım.

Çalıştırdığınız Uzman Danışman için kaynak kodu yoksa: yalnızca EX5, o zaman oluşturulan tst dosyası aracılığıyla tek bir çalıştırmadan bilgi (MultiTester içinde) çekmeniz gerekir.

Bir kaynak varsa, Uzman Danışmanın OnDeinit'inde Ortak dosyaya bir kayıt ekleyin.

 
fxsaber:

Çalıştırılacak Uzman Danışman için kaynak kodu yoksa: yalnızca EX5, o zaman oluşturulan tst dosyası aracılığıyla tek bir çalıştırmadan bilgi (MultiTester içinde) çekmelisiniz.

Bir kaynak varsa, Uzman Danışmanın OnDeinit'inde Ortak dosyaya bir kayıt ekleyin.

Kulağa net geliyor, ancak uygulama henüz çok net değil. Kurcalamaya devam edeceğim).

Ancak anladığım kadarıyla, kütüphane dosyalarında doğru yere bilgi kaydetmek için bir blok eklemek bu durumu bu kadar kolay çözmeyecek mi? (Yani, her geçişi bir dosyaya kaydetmek için hazır bir blok yok).

 
fxsaber:

Çalıştırılacak Uzman Danışman için kaynak kodu yoksa: yalnızca EX5, o zaman oluşturulan tst dosyası aracılığıyla tek bir çalıştırmadan bilgi (MultiTester içinde) çekmelisiniz.

Bir kaynak varsa, Uzman Danışmanın OnDeinit'inde Ortak dosyaya bir kayıt ekleyin.

Bu arada, bazı nedenlerden dolayı, yalnızca son Uzman Danışman için bir kaydım var. Yani, 3 aynı komut dosyası birbiri ardına test edilir ve 3 farklı dosyaya veri yazar, ancak yalnızca sonuncusu kendi dosyasına yazar.

Tamam, daha fazla EA çoğalttım, ancak kayıt hala yalnızca son EA'ya gidiyor. Her Uzman Danışmanın OnDeinit'inde standart filewrite kullanarak bir dosyaya yazma yöntemi.

Terminal günlüklerine göre aynı şey açılmış ve sonuncusuna yazılmıştır.
Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
FileWrite - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Aleksei Skrypnev:

Ancak anladığım kadarıyla, kütüphane dosyalarında doğru yere bir bilgi kayıt bloğu eklemek bu durumu bu kadar kolay çözmeyecek mi? (Yani, her geçişi bir dosyaya kaydetmek için hazır bir blok yoktur).

Optimizasyondan sonra opt dosyasından en iyi pasları seçen kombinasyonlar yaptım. Daha sonra bunlara dayanarak ileriye doğru ilerledim ve başka optimizasyon işleri oluşturdum.

Ancak bu gerçekten çok az insanın yapabileceği bir şey.

 
Aleksei Skrypnev:

Bu arada, bazı nedenlerden dolayı sadece son EA'yı kaydediyorum.

Anlamıyorum.

 
fxsaber:

Anlamıyorum.

Kütüphanede bir MultiTester_Example2 dosyası var.

Onu aldım ve mevcut 4 EA'ya birbirinden kopyalanmış 3 tane daha EA ekledim.

Her bir danışmanın ondeinit'inde dosyada bir kayıt belirtildi, örneğin danışman1 dosya1'e bir kayıt yapar, danışman2 dosya2'ye bir kayıt yapar, danışman3 dosya3'e bir kayıt yapar.

MultiTester_Example2'yi grafiğe atıyorum. Çizgi çalışıyor - bitişi gösteriyor. Kayıt klasörlerine gidiyorum ve sadece dosya3 adlı kayıtlı dosyayı görüyorum.

(Nedenini henüz anlamadım).

Örneğin EA4 ekliyorum, testi çalıştırıyorum ve EA4.- dosyasındaki çıktı kaydını görüyorum (yani, yalnızca dosya4 ve dosya1, 2, 3, hayır).

Yani, son dosyaya yalnızca son Uzman Danışman yazılır.

(Yani sanki listeden en son EA'da 1 kez kütüphane falan kullanılarak OnDeinit çalıştırılıyor gibi ). (Ve listedeki her EA'nın sonu değil.)

(Bundan önce 3-4 EA'nın her birinden 1 dosyaya bilgi yazmayı denedim, ancak dosyadaki bilgiler de sadece son EA'dan geliyordu.

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
FileWrite - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5