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

 

Şu anda MetaTrader 5 strateji test cihazı, MQ ekibi tarafından derin bir revizyondan geçiyor. Son iki yılda çok fazla iş yapılmış olmasına rağmen (MetaQuotes ekibi sayesinde), bu test cihazı birçok soruyu gündeme getiriyor. Ne yazık ki, son değişiklikler test cihazının görsel tasarımına daha fazla odaklanıyor, bu nedenle yeni başlayanlar için daha kolay çalışabilecekken, çalışmasının mekaniği daha deneyimli kullanıcılar için hala soru işaretleri yaratıyor.

Bu başlığı MetaTrader 5 test cihazının yapıcı eleştirisine ayırmayı ve onu doğrudan geliştiricilere ulaşabileceğiniz bir yer haline getirmeyi öneriyorum.

Tüm ifadeler/tartışmalar/eleştiri/suçlar açık argümanlar ve tekrarlanabilir sonuçlarla sunulmalıdır. Tartışmada önyargı, yürütme ve fiyatlandırma mekanizması üzerinde yapmanızı rica ediyorum . Vakumdaki fırfırlar, ikonlar ve küresel atlar konusundaki dilekler (tüm çekirdeklerin yüklenmesini istiyorum, tek bir işlemle çoklu okuma istiyorum vb.) yasak olmasa da hoş karşılanmaz.

O zaman hadi gidelim.


MetaTrader 5 test cihazı, limit emirlerinin yürütülmesini atlıyor

1. Özel işaretler, bir ikili dosyada (mesaj ekinde) bir MqlTick dizisi olarak verilir.

2. Özel veriler özel bir komut dosyası tarafından işlenir ve enstrümanın geçmişine yüklenir. Senaryo da gönderiye eklenmiştir.

3. Ortaya çıkan grafikte, mantığına göre işlem yapan bir Uzman Danışman başlatılır. Expert Advisor, gerçek keneler modunda çalışır.

4. 00:11:05:085'te 10422.5 fiyatından bir limit emri verildi. Ayar anındaki mevcut fiyat 10422.0'dır.

5. 00:11:06.179'da, Son fiyat 10424.0'da gerçekleşti. Döviz fiyatlandırma kurallarına göre SellLimit limit emrinin 10422,5 fiyatından gerçekleştirilmesi gerekir, ancak bu gerçekleşmez. Limit emri havada asılı duruyor, tam bir sürrealizm gösteriyor: bizimkinden daha kötü fiyatlar sunan başka biriyle işlemler yapılıyor!

6. Ama mucizeler devam etmeye başlar. Fiyat tersine döner ve 1024.0'dan 10419'a düşer. Yani. limitin satış seviyesi yukarıdan aşağıya doğru delinir. Ancak, limit emri de havada asılı kalıyor.

Ne yazık ki neler olduğunu gösteren herhangi bir günlük bulamadım. Görünüşe göre test cihazı günlükleri aptalca kapatılmış, printf çalışmıyor. Test cihazı günlüğüne çıkış devre dışı bırakıldı:

Kısacası, bu daha önce olmayan başka bir sorun gibi görünüyor.

Bu bağlamda, neler olduğunu net bir şekilde görebileceğiniz bir video kaydettim (en ilginç şey yaklaşık 30 saniyede başlıyor. Ekranın üst kısmında milisaniye hassasiyetle o anki saat var):



Video, çubuğun aralığının limit emrinin seviyesine girdiğini açıkça gösteriyor, ancak yürütme yok.

Test eden için başka sorular da var. Ama şimdilik, bunun çözülmesi gerektiğini düşünüyorum.

Dosyalar:
 

MetaTrader 5 test cihazı çubukları doğru şekilde oluşturmuyor

Önceki gönderiden özel bir sembol verildi (veriler aynıdır). Çubuklar, sembol ayarlarında belirtildiği gibi Son fiyata inşa edilir .

Solda, test cihazında yerleşik çubukların görünümü. Sağda orijinal çubuklar var.

Grafiklerin tam olarak eşleşmediği görülebilir. Solda biraz saçmalık var.

ps Bid tarafından inşa edildiğini düşündüm, ancak işlemlerin kasetine baktım - bu tür fiyatların teklifte veya sonda, talepte bile olmadığı ortaya çıktı. İşlem beslemesini aşağıya metin biçiminde ekliyorum.

Dosyalar:
deribit_csv.zip  735 kb
 

Hangi yapı numarasını kullanıyorsunuz?

Çok garip günlük süresi 0000.00.00 00:00:00.000

İşletim sisteminiz nedir?

Günlük dosyaları test cihazının veri klasörüne kaydediliyor mu?

 

1. "deribit1.out.bin" dosyasını vermemişsiniz. Ekli arşivde "deribit1.out"

2. Özel sembol ayarları vermemişsiniz

 
Bid'e göre barlar yapıyorum. Alış/Satış limitleri yürütülüyor. Her şey yolunda gidiyor (daha doğrusu 2093, daha fazla kontrol etmedi) doğru.
 
Vasiliy Sokolov :

İyi bir işlevi yoksay

 MqlTick tiks[];

if ( FileLoad ( "deribit1.out.bin" , ticks) )
{
// ....
 
Slava :

1. "deribit1.out.bin" dosyasını vermemişsiniz. Ekli arşivde "deribit1.out"

2. Özel sembol ayarları vermemişsiniz

Afedersiniz.

 
fxsaber :

İyi bir işlevi yoksay

Bileceğim.

 
Slava :

Hangi yapı numarasını kullanıyorsunuz?

Çok garip günlük süresi 0000.00.00 00:00:00.000

İşletim sisteminiz nedir?

Günlük dosyaları test cihazının veri klasörüne kaydediliyor mu?

Yapı en yenisidir. 2136. Her zaman en yenisini kullanırım.

Windows 7 SP1

Günlükler kaydedilir. Günlükler, strateji test cihazı günlüğünde göründü. Ancak aynı zamanda, strateji test cihazındaki görselleştirici günlüğünde hiçbir şey görüntülenmez.


 
Vasiliy Sokolov :

Afedersiniz.

Teşekkür ederim. Anlayalım.

 

Kuşkusuz, ana öneri test otomasyonudur.

İleriye dönük optimizasyon veya bunun gibi bir şey yapın. Testler birkaç periyot ve enstrüman üzerinde yapılmalıdır.

Ve bunu yapmak istemiyorsanız, yazılım mühendisliği (veya derecesi?) diploması olmayan insanların MQL kullanarak yapmasına izin verin.

Bu, test periyodunun başlangıç ve bitiş zamanlarını, ileri periyodunun başlangıç zamanını ve test cihazını yeni bir test periyoduyla yeniden başlatabilme becerisini okuma ve yazma (Get__ \Set__) becerisini gerektirir.

Ayrıca mevcut çerçeve işleme tesisleri de iyi çalışmıyor. Bu konuda burada yeterince yazıldı zaten.

Ve başka bir hata: test cihazını ileri ve aynı parametrelerle yeniden başlattığınızda donuyor. Girişleri, zaman çerçevesini, aracı değiştirmeniz veya EA'yı yeniden derlemeniz gerekir.

En son kamu yapısı hala 2085.

Neden: