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

 
Alexey Viktorov :

Yani betada bir hesap açmayı başaramadınız mı?

Numara.
 

MT4 Tester'ın GA için böyle bir asistanı vardı.


Bu, optimizasyon süresini önemli ölçüde azaltmaya yardımcı oldu. Örneğin, denge zemindeyse, neden daha fazla sürsün? MT5'te durum böyle değil. Bu nedenle, Uzman Danışmanlarınıza böyle makul şeyler inşa etmelisiniz. Bunu pek çok yazarın yaptığını düşünmüyorum. Bu nedenle, bu tür işlevleri MT5 Tester'a aktarmak muhtemelen makul olacaktır.


GA yardımcıları da önemlidir. İşte en basiti.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Uzman Danışmanlar: Onaylayın

fxsaber , 2020.01.29 15:55

Uzman Danışmanlarımda böyle bir GA asistanı kullanmanızı tavsiye ederim.

 sinput int inMinTrades = 500 ; // Минимальное количество трейдов (позиций).
sinput int inMaxTrades = 90000 ; // Максимальное количество трейдов (позиций).

double OnTester ()
{
   return ((( TesterStatistics ( STAT_TRADES ) >= inMinTrades) && ( TesterStatistics ( STAT_TRADES ) <= inMaxTrades)) ? TesterStatistics ( STAT_PROFIT ) : 0 );
}

GA'nın zayıf istatistikler yönünde gitmesine izin vermez. Sonuçlar. Bu, sonucun kalitesini ve elde etme hızını artırır. Ve Validate için ayrıca stat tarafından zayıf olanlardan bir filtre var. pasajların önemi.


Örneğin, üç aylık hesaplamalara göre yeniden yapılandırdığımda minimum işlem sayısını> 100 olarak belirledim. Aksi takdirde, az sayıda başarılı (rastgele) olması nedeniyle GA'da en fazla karı veren bir geçişe rastlama olasılığı daha yüksektir. ) ticaret. Böyle bir geçişin, daha fazla ticaret için onu seçmekle hiçbir ilgisi olmaması gerektiği açıktır.

Bir Test Kullanıcısının bu tür yardımcılara sahip olmasının mantıklı olduğunu düşünüyorum. Ayrıca, herhangi bir hesaplama maliyeti gerektirmez.

 

Merhaba.

Çok pazarlı bir robotum var. İstatistiksel arbitraj, spreadler ticareti yapar. Robot, enstrümanları piyasa genel bakışından alacak veya bunları yayılmış dosyadan (programın dosyalar klasöründeki kök dizininde bulunan) alacak şekilde tasarlanmıştır. Robot verileri analiz eder, en umut verici enstrüman çiftlerini seçer ve bunları takas eder.

Soru şu ki, MT5 strateji test cihazı bunu test edebilecek mi? Ticaret enstrümanları her zamanki gibi robotun giriş parametrelerinde listelenmemişse ve enstrümanlar piyasaya genel bakıştan veya Dosyalar klasöründen alınmışsa, test cihazı işlevselliği amaçlanıyor mu?

 
Peresvet Timonkin :

Merhaba.

Çok pazarlı bir robotum var. İstatistiki arbitraj, spreadler ticareti yapar. Robot, enstrümanları piyasa genel bakışından alacak veya bunları yayılmış dosyadan (programın dosyalar klasöründeki kök dizininde bulunan) alacak şekilde tasarlanmıştır. Robot verileri analiz eder, en umut verici enstrüman çiftlerini seçer ve bunları takas eder.

Soru şu ki, MT5 strateji test cihazı bunu test edebilecek mi? Ticaret enstrümanları her zamanki gibi robotun giriş parametrelerinde listelenmemişse ve enstrümanlar piyasaya genel bakıştan veya Dosyalar klasöründen alınmışsa, test cihazı işlevselliği amaçlanıyor mu?

Piyasaya genel bakış, koddaki sembollere atıfta bulunularak oluşturulur. Test cihazı için, herhangi bir varyantta para birimlerinin bir listesi olmalıdır. Ama gerçek hayatta sorun yok.

Ekrandakiler optimizasyon içindir.
 
Alexey Viktorov :

Piyasaya genel bakış, koddaki sembollere atıfta bulunularak oluşturulur. Test cihazı için, herhangi bir varyantta para birimlerinin bir listesi olmalıdır. Ama gerçek hayatta sorun yok.

Ekrandakiler optimizasyon içindir.

Benimki gibi bu tür ayarlarla test etmenin işe yaramayacağını doğru anlıyor muyum?

testçi, geçmişten piyasa incelemesinden veri alamaz mı?

ve işlem araçlarının kayıtlı olduğu dosyaya gelince, test eden kişi de onunla çalışamayacak mı?

Test cihazı için tüm talimatları yeniden okudum, bununla ilgili bir kelime bulamadım, çoklu bağlantı stratejilerini test edip optimize edebileceğinizi ve ardından gizlice yazılmış.

 
Peresvet Timonkin :

Benimki gibi bu tür ayarlarla test etmenin işe yaramayacağını doğru anlıyor muyum?

testçi geçmişten piyasa incelemesinden veri alamaz mı?

ve işlem araçlarının kayıtlı olduğu dosyaya gelince, test eden kişi de onunla çalışamayacak mı?

Test cihazı için tüm talimatları yeniden okudum, bununla ilgili bir kelime bulamadım, çoklu bağlantı stratejilerini test edip optimize edebileceğinizi ve ardından gizlice yazılmış.

Eğer denersen, her şey mümkün. Örneğin, OnInit() içinde, gerekli para birimlerinin işaretlerini isteyin, böylece bunları piyasaya genel bakışa ekleyin ve ardından piyasaya genel bakışla çalışın. Ancak bu durumda, ne derse desin, bir para birimi listesi olmalıdır. Ve iki seçenek yapabilirsiniz: Listeye göre çalışın ve piyasaya genel bakışta mevcut olanlara göre çalışın. Buna göre, OnInit()'e bir koşul koyun, iş test cihazındaysa, yalnızca listeyle çalışın. Piyasada böyle bir danışman var.

Dosyayla ilgili olarak: Elbette yapabilirsiniz, yalnızca dosyanın konumunu dikkate almanız gerekir. Bir test cihazı için, test cihazının klasöründe veya tüm terminallerde ortak bir klasörde bulunmalıdır. Veya bir kaynak olarak gömün.
 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

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

fxsaber , 2020.01.22 23:08

2300 oluşturun. Pip modunda hacim dikkate alınır, Teşekkürler!


Ancak, bu modda InOut anlaşmalarının karı yanlış hesaplanmıştır.


Normal modda çalıştırırsanız, kâr doğrudur.



Bu nedenle Netleştirme'de pip modu şu anda çalışmıyor (fazla tahmin edilen bir kâr getiriyor).


2310 - gerçek. Netleştirmede pip modunu kullanmak imkansızdır.

 

2310'da sık sık değişiklik yapan Expert Advisor'ın profilinin çıkarılamayacağını fark ettim.

Bir test çizdi.

 input int inFakeRange = 0 ;
sinput int inOffset = 10000 ;

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define Ask SymbolInfoDouble ( _Symbol , SYMBOL_ASK )

void OnTick ()
{
   static long Ticket = - 1 ;
  
   if (Ticket == - 1 )
    Ticket = OrderSend ( _Symbol , OP_BUYLIMIT, 1 , Ask - inOffset * _Point , 0 , 0 , 0 );
   else
    OrderModify(Ticket, Ask - inOffset * _Point , 0 , 0 , 0 );
}

Gerçek keneler modunda kelimenin tam anlamıyla profil oluşturmanın imkansızlığını yeniden üretir, çünkü her şey çok yavaş.


Ancak, gerçek keneler üzerinde tek bir geçiş çalıştırırsanız (pip modunda bile) Terminalin HANGına neden olur! Sadece bir katil.


Optimizasyonunu yaparsanız (ilk parametreye göre), o zaman iyi gider, ancak performans hakkında bazı kötü düşünceler ortaya çıkar...


ZY Görüntüleyicide çalıştırırsanız ve sonunu beklemeden kapatırsanız, Terminal kilitlenir.

 
fxsaber :

Optimizasyonunu yaparsanız (ilk parametreye göre), o zaman iyi gider, ancak performans hakkında bazı kötü düşünceler ortaya çıkar...

Sadece Sanal sürümle karşılaştırabilirim.

 input int inFakeRange = 0 ;
sinput int inOffset = 10000 ;

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define VIRTUAL_TESTER // Запуск в виртуальном торговом окружении
#include <fxsaber\Virtual\Virtual.mqh> // https://www.mql5.com/ru/code/22577

#define Ask SymbolInfoDouble ( _Symbol , SYMBOL_ASK )

void OnTick ()
{
   static long Ticket = - 1 ;
  
   if (Ticket == - 1 )
    Ticket = OrderSend ( _Symbol , OP_BUYLIMIT, 1 , Ask - inOffset * _Point , 0 , 0 , 0 );
   else
    OrderModify(Ticket, Ask - inOffset * _Point , 0 , 0 , 0 );
}


Her zamanki seçenek.

optimization finished, total passes 5
optimization done in 1 minutes 04 seconds
shortest pass 0 : 00 : 12.560 , longest pass 0 : 00 : 13.608 , average pass 0 : 00 : 12.808
local 5 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)


Sanal ile.

optimization finished, total passes 5
optimization done in 0 minutes 06 seconds
shortest pass 0 : 00 : 00.954 , longest pass 0 : 00 : 02.060 , average pass 0 : 00 : 01.231
local 5 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)


Test cihazı, kontrollerin olmadığı pip modunda basit bir EA'da 13 kat daha yavaştır! 2310 oluşturun.

 
fxsaber :

Test cihazı, kontrollerin olmadığı pip modunda basit bir EA'da 13 kat daha yavaştır! 2310 oluşturun.

Böyle bir Uzman Danışman bile, pip modunda Sanal'ın iki katından daha yavaştır.

 input int inFakeRange = 0 ;
sinput int inOffset = 10000 ;

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define Ask SymbolInfoDouble ( _Symbol , SYMBOL_ASK )

void OnTick ()
{
   static long Ticket = - 1 ;
  
   if (Ticket == - 1 )
    Ticket = OrderSend ( _Symbol , OP_BUYLIMIT, 1 , Ask - inOffset * _Point , 0 , 0 , 0 );
}

Bu neden oluyor? Tüm EA, BuyLimit'i ilk onay işaretine yerleştiriyor. Ve daha fazlası değil!