Kütüphaneler: MultiTester - sayfa 33

 
Merhaba, çok faydalı bir şey, ayrıca raporları bir araya getirebileceğiniz bir portföy test cihazınız var, bu da çok faydalı bir şey, ancak şu fikrim var - bu iki aracı birleştirmeyi ve otomatik bir portföy optimize edici yapmayı planlamıyor musunuz? Böylece optimizasyon sonuçları hemen portföyün bir parçası olarak aynı sonuçlarla değerlendirilir - böylece Sharpe veya kurtarma faktörüne göre tüm portföyün hedef fonksiyonu ve örneğin işlem sayısına göre ek filtreler ile düşüşler vb. üzerinde korelasyon olmaz. Bu çok fazla manuel çalışmayı ve zamanı azaltacaktır, şimdi optimizasyon sonuçlarının manuel olarak bir portföyde birleştirilmesi gerekiyor ve yüzlerce portföy olduğunda....
 
Bu kütüphaneden belirli bir çalıştırmanın giriş parametreleri nasıl alınır? TESTERCACHE Cache; Cache[i] girdileri
 

Merhaba!

Geçen Aralık ayında kütüphanenizi çalıştırdım ve 100'den fazla özel karakter üzerinde optimizasyon yaptım.

Bugün tekrar çalıştırmayı denedim, ancak test günlüğündeki tek hata "optimizasyon başlatılamıyor". Kütüphaneyi güncelledim.

Farklı semboller üzerinde çalıştırmayı denedim, MultiTester_example'ınızı çalıştırmayı denedim, Metatrader 5'in farklı yapılarını, farklı optimizasyon ayarlarını denedim, normal bir Hareketli Ortalama Uzman Danışmanı üzerinde çalıştırmayı denedim, yine de bu hata oluşuyor, daha ayrıntılı günlükler bulamadım. Lütfen bana böyle bir şey yaşayan biri olup olmadığını söyleyebilir misiniz? Nasıl düzeltilebilir?

 
Jekamajor #:

test günlüğündeki tek hata "optimizasyon başlatılamıyor".

Optimizasyonu manuel olarak başlatmaya verilen yanıt nedir?
 
fxsaber #:
Optimizasyonu manuel olarak çalıştırmanın yanıtı nedir?


Manuel optimizasyon başlatılır, yürütülür ve hatasızsonlandırılır. Günlüklerin ekran görüntüsü. En üstte basit Hareketli Ortalama ile optimizasyonun başlatılması, aşağıda aynı parametrelerle ancak kütüphane aracılığıyla başlatma.

 
Jekamajor #:

Aşağıda aynı parametrelerle ancak kütüphane aracılığıyla başlatma yer almaktadır.

Bu Uzman Danışman neden Test Cihazının kendisinde çalışıyor? Test Cihazına değil, Terminal grafiğine atılır.

 
fxsaber #:

Bu Uzman Danışman neden Test Cihazının kendisinde çalışıyor? Test Cihazına değil Terminal çizelgesine atılır.

Evet, gerçekten! Bir yıldır nasıl başlatacağımı unutmuşum. Grafiğe sürükleyerek başlıyor ve çalışıyor. Yardımınız için çok teşekkür ederim!
 
Lütfen farklı giriş parametreleri alan çoklu sıralı optimizasyonlar için nasıl kod yazılacağına dair bir örnek gönderin.
 
Soroush Kheradmand #:
Lütfen farklı giriş parametreleri alan çoklu sıralı optimizasyonlar için nasıl kod yazılacağına dair bir örnek gönderin.

#include <fxsaber\MultiTester\MTTester.mqh>    // https://www.mql5.com/tr/code/26132

#define _CS(A) ((!IsStopped()) && (A))
#define  PAUSE 200

void Run( const string Settings )
{
  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);

  MTTESTER::CloseNotChart();
    
  if (_CS(MTTESTER::SetSettings2(Settings)))
    MTTESTER::ClickStart(false);

  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);
}

void OnStart()
{
  string Settings[] = {"[Tester]\n" +
                       "Expert=Input_String_Example_Alternative.ex5\n" +
                       "Symbol=EURUSD\n" +
                       "Period=M1\n" +
                       "Optimization=2\n" +
                       "Model=4\n" +
                       "FromDate=2023.01.01\n" +
                       "ToDate=2024.01.01\n" +
                       "ForwardMode=0\n" +
                       "Deposit=1000000000\n" +
                       "Currency=USD\n" +
                       "ProfitInPips=1\n" +
                       "Leverage=100\n" +
                       "ExecutionMode=0\n" +
                       "OptimizationCriterion=6\n" +
                       "[TesterInputs]\n" +
                       "inAmount=1||1||1||10||N\n" +
                       "inCount=2||2||1||20||N\n" +
                       "inPeriod=3||3||1||30||N\n" +
                       "inKoef=4.56||4.56||0.456000||45.600000||N\n" +
                       "inLog=7.89||7.89||0.789000||78.900000||N\n" +
                       "inFlag=true||false||0||true||N"
                      };

  for (uint i = ArraySize(Settings); (bool)i--;)
    Run(Settings[i]);
}

Test cihazı ayarları CTRL+C/V ile kaydedilir. Bunları ayrı dosyalara kaydedebilir ve ardından yukarıdaki kaynaktaki Settings[] dizisini bunlardan gelen verilerle doldurabilirsiniz.

 

Verileri bir dizi haline getirmenin kolay bir yolu var mı? Her biri 108 satırdan oluşan 20 set dosyası eklemem gerekiyor, bu yüzden bunları bir dizi haline getirmek için " " + manuel olarak eklemek için 2160 satır mı?

Set dosyalarını şahsen yüklemek tercih ettiğim seçenek olurdu, "D:/\MT5Tester2\MQL5\Profiles\Tester\MTester\MT5 v1.14 bat XU BB+ENV+RSI.set" vs vs ama ben sadece bir ölümlüyüm ve bu tür şeyleri nasıl kodlayacağımı bilmiyorum. EA'nız çok havalı ama lanet olsun :D

#include <fxsaber\MultiTester\MTTester.mqh>    // https://www.mql5.com/tr/code/26132

#define _CS(A) ((!IsStopped()) && (A))
#define  PAUSE 200

void Run( const string Settings )
{
  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);

  MTTESTER::CloseNotChart();
    
  if (_CS(MTTESTER::SetSettings2(Settings)))
    MTTESTER::ClickStart(false);

  while (_CS(!MTTESTER::IsReady()))
    Sleep(PAUSE);
}

void OnStart()
{
  string Settings[] = {[Tester]
                        Expert=MT5 White Rabbit v1.14.ex5
                        Symbol=XAUUSD
                        Period=M5
                        Optimization=2
                        Model=4
                        FromDate=2023.02.01
                        ToDate=2024.10.01
                        ForwardMode=0
                        Deposit=20000
                        Currency=USD
                        ProfitInPips=0
                        Leverage=100
                        ExecutionMode=200
                        OptimizationCriterion=6
                        [TesterInputs]
                        OnTester=------------ On Tester ------------
                        MinTrades=60||120||1||1200||N
                        MaxEquityDrawdown=3.0||20.0||2.000000||200.000000||N
                        CustomMax=------------ Custom Max ------------
                        EA_Expires=2024.12.25
                        Enable_Buy=true||false||0||true||N
                        Enable_Sell=true||false||0||true||N
                        TRADE_TIMES=------------ TIME SETTINGS ------------
                        StartTime_1=1||1||3||10||N
                        Stop_Time_1=9||9||4||21||Y
                        Monday=true||false||0||true||N
                        Tuesday=true||false||0||true||N
                        Wednesday=true||false||0||true||N
                        Thursday=true||false||0||true||N
                        Friday=false||false||0||true||Y
                        Weekend=false||false||0||true||N

                        // sonraki set
                        [Tester]
                        Expert=MT5 White Rabbit v1.14.ex5
                        Symbol=XAUUSD
                        Period=M5
                        Optimization=2
                        Model=4
                        FromDate=2023.02.01
                        ToDate=2024.10.01
                        ForwardMode=0
                        Deposit=20000
                        Currency=USD
                        ProfitInPips=0
                        Leverage=100
                        ExecutionMode=200
                        OptimizationCriterion=6
                        [TesterInputs]
                        OnTester=------------ On Tester ------------
                        MinTrades=60||120||1||1200||N
                        MaxEquityDrawdown=3||20.0||2.000000||200.000000||N
                        CustomMax=------------ Custom Max ------------
MultiTester
MultiTester
  • www.mql5.com
Множественные прогоны/оптимизации в Тестере.