MetaTrader 5 Strateji Test Cihazı: Hatalar, Hatalar, İyileştirme Önerileri - sayfa 16

 
fxsaber :
Bunlar doğru formüllerse


, ardından Test Cihazı bu göstergeleri tamamen farklı bir şekilde hesaplar. Bu formüller ile Test Cihazının gösterdiği sonuçlar arasında çarpıcı farklar var (kar hariç).

doğru anlamanı öneririm. Yakalama, tam olarak MT5'in karlı bir ticaret olarak gördüğü şeydir.

 const double Profit = OrderProfit() + OrderCommission() + OrderSwap() ;

Bir şeyi veya her ikisini aynı anda kaldırın ve karşılaştırın.

Veya burada (yukarıdakiler yardımcı olmazsa) "=" öğesini kaldırın

 if (Profit >= 0 )
 
Slava :

Şimdi neyi tartışıyoruz? Aracıları devre dışı bırakmak veya test/optimizasyonda sembolleri kullanabilmek mi?

İki sorun varsa, muhtemelen her ikisini de tartışmak ve çözmek gerekir. Yoksa imkansız mı?

1. Aracılar neden optimizasyondan sonra kapanıyor?

2. Test cihazına otomatik karakter eklenmesi hangi nedenle durabilir?

 
Artyom Trishkin :

Bir şeyi veya her ikisini aynı anda kaldırın ve karşılaştırın.

Veya burada (yukarıdakiler yardımcı olmazsa) "=" öğesini kaldırın

MT5 böyle hesaplar

 double ProfitPlus = 0 ;   // Профит неотрицательных закрытых позиций.
double ProfitMinus = 0 ; // Профит отрицательных закрытых позиций.

int AmountPlus = 0 ;   // Количество неотрицательных закрытых позиций.
int AmountMinus = 0 ; // Количество отрицательных закрытых позиций.

for ( int i = OrdersHistoryTotal() - 1 ; i >= 0 ; i--)
   if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY) && (OrderType() <= OP_SELL))
  {
     const double Profit = OrderProfit()+ (OrderCommission() / 2 ) + OrderSwap();
    
     if (Profit >= 0 )
    {
      ProfitPlus += Profit;
      AmountPlus++;
    }
     else
    {
      ProfitMinus += Profit;
      AmountMinus++;
    }      

     ProfitMinus += OrderCommission() / 2 ;
  }

const double PF = ProfitMinus ? -ProfitPlus / ProfitMinus : DBL_MAX ; // Профит-фактор.
const double Profit = ProfitPlus + ProfitMinus;                       // Профит

Onlar. MT5'te bir pozisyonu kapatabilir ve zarar alabilirsiniz (açılmadan önceki bakiye, kapanıştan sonraki bakiyeden daha azdır). Ancak aynı zamanda, MT5-Tester (Terminal kontrol etmedi) bu ticareti karlı olarak değerlendirecektir.


PS Örnek olarak, MT5_PF = 1.89 ve MT4_PF = 2.01.

 
fxsaber :
Bunlar doğru formüllerse


, ardından Test Cihazı bu göstergeleri tamamen farklı bir şekilde hesaplar. Bu formüller ile Test Cihazının gösterdiği sonuçlar arasında çarpıcı farklar var (kar hariç).

doğru anlamanı öneririm. Yakalama, MT5'in karlı bir ticaret olarak gördüğü şeydir.

const değiştirici neden burada?

 const double Profit = OrderProfit() + OrderCommission() + OrderSwap();

Ayrıca döngünün tüm yinelemelerinde Kâr değişkenini hesaplamanız gerekir, ancak bu değişken kapsam dışına çıktığında yeniden başlatılacak olsa da ... IMHO, const gerekli değil


Soru üzerine, OrderCommission() + OrderSwap() öğesini kaldırırsak ne olur? - komisyonlardan değil, ticaretteki karlardan mı bahsediyoruz?

Not: bir seçenek olarak, genel olarak, test cihazı bakiyeye güvenebilir, sipariş kapandı - bakiye eski bakiyeye göre değişti, genel olarak tahmin tahmin edilmedi .... Makaleleri gözden geçirdim, yapmadım kaynağı bul tek şey https://www.mql5 .com/ru/articles/4226 makalesi onun da kar hesabı var ama okumadım

Пользовательский тестер стратегий на основе быстрых математических вычислений
Пользовательский тестер стратегий на основе быстрых математических вычислений
  • www.mql5.com
Тестер стратегий, предоставляемый MetaTrader 5, имеет мощный функционал для решения разнообразных задач. С его помощью можно тестировать как сложные стратегии торговли корзинами инструментов, так и одиночные стратегии с простыми правилами входов и выходов. Однако такой обширный функционал нам пригождается далеко не всегда. Часто нам просто...
 
Igor Makanu :

const değiştirici neden burada?

Ayrıca döngünün tüm yinelemelerinde Kâr değişkenini hesaplamanız gerekir, ancak bu değişken kapsam dışına çıktığında yeniden başlatılacak olsa da ... IMHO, const gerekli değil

Yeniden yaratıldı. Her şey orada.

Soru üzerine, OrderCommission() + OrderSwap() öğesini kaldırırsak ne olur? - komisyonlardan değil, ticaretteki karlardan mı bahsediyoruz?

MT5 formülünü yukarıda verdim. Bu, ölçekleme TS'lerinin PF'sini hesaplarken ciddi bozulmalar yaratır. Ve PF'nin platforma bağımlı olması nasıl olabilir? Açık olmalı.

 
zevs1980 :
Bu sorun, daha önceki yapıların dallarında benim tarafımdan zaten gündeme getirildi. Yani düzeltilmedi. Koltuk değneğimi buldum. Bazı aracıları kapatıyorum (benim durumumda 10'dan 3'ü) ve 0 yinelemesinden sonra onları açıyorum, sonra her şey yolunda gidiyor. Bazen süreçte gerçek olur, bazı ajanlar hala durur, ancak nadiren çözüm algoritması aynıdır.

Üzgünüz, ancak manuel direksiyon bir seçenek değildir. Otomatik optimizasyona sahibim.

 
KENT3004 :

İki sorun varsa, muhtemelen her ikisini de tartışmak ve çözmek gerekir. Yoksa imkansız mı?

1. Aracılar neden optimizasyondan sonra kapanıyor?

2. Test cihazına otomatik karakter eklenmesi hangi nedenle durabilir?

1. Tester günlüklerine bakın, orada her şey yazıyor.

2. Bu zaten düzeltildi. Ancak, düzeltmeleri olan bir derlemeniz olmadığı sürece, sürükle bırak özelliğini kullanabilirsiniz (karakterlerin eklenmesinin neden durduğunu tartışmadık, ancak bu koşullarda hala nasıl test edebileceğinizi tartıştık)

 
fxsaber :

Her özel sembolde dönüşümlü olarak tekli çalıştırmalar yapıyorum. Belirli bir noktadan itibaren Test Cihazında onlara giden yolu görmek imkansızdır, ancak yine de Piyasa İzleme'den sürükle ve bırak yöntemiyle seçilirler. Ayrıca, bir süre sonra bu işe yaramaz: normal bir karakter veya yalnızca bir özel karakter seçebilirsiniz. Gerisi imkansız. Aşağıdaki animasyon bu durumu göstermektedir.


Yeniden düzenlendi ve düzeltildi. Teşekkür ederim.
 
Slava :

1. Tester günlüklerine bakın, orada her şey yazıyor.

2. Bu zaten düzeltildi. Ancak, düzeltmeleri olan bir derlemeniz olmadığı sürece, sürükle bırak özelliğini kullanabilirsiniz (karakterlerin eklenmesinin neden durduğunu tartışmadık, ancak bu koşullarda hala nasıl test edebileceğinizi tartıştık)

Hızlı ve yararlı tavsiyeniz için teşekkür ederiz. Önemsiz ama uygunsuz küçük bir şey hakkında "rapor vermeye" cüret ediyorum. Başlat/durdur düğmesi, sizi gereksiz işlemler yapmaya zorlayan araçlar/test cihazı düğmesini kapatır. Ancak çok uygun değil.
 
Edgar :
Genetik optimizasyonda birçok parametre kullanıyorum. Seçenek sayısı bilimsel gösterimde (6.8768769e+21) görüntülenecek kadar büyüdüğünde, 0. nesilden sonraki optimizasyon aracıların yarısı ile (8 üzerinden 4'ü) devam eder. Günlüklerde bahsedilmiyor. Optimizasyonun kendisi iyi, ancak yarı yükte, iki kat daha uzun.

Davranış her zaman yeniden üretilmez, bu yüzden muhtemelen sabitlenmemiştir. Dün vardı, bugün yok. Belki danışmana bağlıdır. Bana - çerçevelerle. ex5'in boyutu yaklaşık 0,5 MB'dir. Bellek 8 GB. Intel i7, 4 çekirdek, 8 iş parçacığı. Boşanmış. mahkum değil.