MetaTrader 5 Strateji Test Cihazında Test Sonuçlarının Analizi ve Optimizasyon - sayfa 5

 
Anatoli Kazharski :

Şimdi de aynı şey yapılıyor. Test işlemi sırasında sembolleri yükleyin.

Veya test başlamadan hemen önce, eğer böyle bir liste varsa, listede test için seçilen karakterleri belirleyin ve tamamlayın. Alternatif olarak, önbellekte bulunan sembollere artık ihtiyaç duyulmadığını belirlediyseniz, bunları test cihazında kullanmayın.

Her durumda, açık bir cevabım olamaz, ancak yalnızca varsayımlar ve seçenek önerileri düzeyinde.

TAMAM.

Uzman Danışman ticaret yapmaz. Ancak, görünüşe göre, giriş olasılığı kontrol edildiğinden, marj gereksinimlerini hesaplamak için ana çiftle birlikte başka bir çift yüklenir. İki çift için veriler önbelleğe alınır, böylece yeniden test ederken, paketi açıp verileri hazırlamakla zaman kaybetmezsiniz.

EA ticarete başladı. Karı hesaplamak için ikinci eksik çift yüklenir. Yine, bu veriler önbelleğe alınır, böylece yeniden test ettiğinizde, verileri paketinden çıkarmak ve hazırlamak için zaman kaybetmezsiniz.

Şahsen, tarihe uygulanan "gereksiz" tiklerle zaman kaybetmekten hoşlanmıyorsunuz. Diğerleri, verileri yeniden paketlemek ve hazırlamak için çok daha fazla zaman harcamaktan hoşlanmayacaktır.

tamam sen cevapla Herhangi bir talep olmadıkça neden "ekstra" enstrümanların onay işaretlerini uygulamıyorsunuz? "İyi soru" (c) Ve bu anda, istek anında, bir tarih oluşturmak gerekir (ve hatta keneler de vardır, çünkü birileri de onları talep edebilir). Zaman kaybı, tarihi kademeli olarak inşa etmemizden (şu anda inşa ettiğimiz gibi) daha da büyük olacaktır.

Bazı geçmişleri kullanan bir Uzman Danışmanın, diğer geçişlerde bu geçmişi kullanmayacağını kesin olarak tahmin etmek imkansızdır. Sonraki test geçişlerindeki geçmişin önceki geçişlerdekiyle aynı olması gerekeceği gerçeği için yüzde 99

 
Slava'ya katılıyorum - örnek küresel.
 
Slava :

TAMAM.

Uzman Danışman ticaret yapmaz. Ancak, görünüşe göre, giriş olasılığı kontrol edildiğinden, marj gereksinimlerini hesaplamak için ana çiftle birlikte başka bir çift yüklenir. İki çift için veriler önbelleğe alınır, böylece yeniden test ederken, paketi açıp verileri hazırlamakla zaman kaybetmezsiniz.

EA ticarete başladı. Karı hesaplamak için ikinci eksik çift yüklenir. Yine, bu veriler önbelleğe alınır, böylece yeniden test ettiğinizde, verileri paketinden çıkarmak ve hazırlamak için zaman kaybetmezsiniz.

Şahsen, tarihe uygulanan "gereksiz" tiklerle zaman kaybetmekten hoşlanmıyorsunuz. Diğerleri, verileri yeniden paketlemek ve hazırlamak için çok daha fazla zaman harcamaktan hoşlanmayacaktır.

tamam sen cevapla Herhangi bir talep olmadıkça neden "ekstra" enstrümanların onay işaretlerini uygulamıyorsunuz? "İyi soru" (c) Ve bu anda, istek anında, bir tarih oluşturmak gerekir (ve hatta keneler de vardır, çünkü birileri de onları talep edebilir). Zaman kaybı, tarihi kademeli olarak inşa etmemizden (şu anda inşa ettiğimiz gibi) daha da büyük olacaktır.

Bazı geçmişleri kullanan bir Uzman Danışmanın, diğer geçişlerde bu geçmişi kullanmayacağını kesin olarak tahmin etmek imkansızdır. Sonraki test geçişlerindeki geçmişin önceki geçişlerdekiyle aynı olması gerekeceği gerçeği için yüzde 99

Pek ısrar etmiyorum. Bu açıklamaya hemen başlayabilirsiniz. Seçtiğiniz seçeneğin en iyisi olduğundan eminseniz, tartışmaya harcamadan zaman kazanabilirsiniz. Ama mümkünse açıklamaya ihtiyacım var çünkü ne anlaşıldığından emin değilim.

Bu açıklama tamamen optimizasyon süreciyle mi ilgili?

Ve eğer sadece tek bir test sürecinden bahsediyorsak? Sadece EURUSD test edilirken neden önceki testlerden GBPUSD ve AUDUSD'den işaretler çıkıyor?

Sadece bir (EURUSD) kesinlikle gerekli olduğunda, hangi durumda diğer sembollerin (GBPUSD ve AUDUSD) işaretlerinin gerekli olabileceğini anlamıyorum. Bazı somut örneklere ve rakamlara ihtiyacımız var.

Ve bundan önce aynı anda 20 karakteri test edersem? Şimdi sadece bir tanesinde test etmem gerekiyorsa neden tüm bu sembollerden işaretler çıkıyor? Önceki tek testte ne kadar çok karakter kullanılırsa, test o kadar uzun sürer. Sonuçta tamamen farklı bir karakter grubundan karakter testlerine geçebilirim. Ve önceki sembol grubundan gelen verilere hiç ihtiyacım yok.

Ve hangi zaman maliyetlerinden bahsediyoruz (paket açma / hazırlama)? Verileri açmak ve hazırlamak ne kadar sürer? Ve çok karakterli bir testten sonra tek bir testin süresi ne kadar artar?

Şimdi test edip sonuçları göstereceğim. Belirli bir örnekle ilgili bir açıklama gereklidir.

 
Anatoli Kazharski :
"Önbellekleri temizle" onay kutusu eksik.
 

1 sembol: EURUSD

 2018.01 . 29 19 : 30 : 33.875 Core 1   EURUSD,M5: 26169180 ticks, 74266 bars generated. Environment synchronized in 0 : 00 : 00.078 . Test passed in 0 : 00 : 27.266 (including ticks preprocessing 0 : 00 : 01.282 ).
2018.01 . 29 19 : 30 : 33.875 Core 1   EURUSD,M5: total time from login to stop testing 0 : 00 : 27.344 (including 0 : 00 : 00.078 for history data synchronization)
2018.01 . 29 19 : 30 : 33.875 Core 1    837 Mb memory used including 8 Mb of history data, 512 Mb of tick data

//---

5 sembol: EURUSD,GBPUSD,USDJPY,AUDUSD,USDCAD

 2018.01 . 29 19 : 59 : 39.750 Core 1   EURUSD,M5: 26169180 ticks, 74266 bars generated. Environment synchronized in 0 : 00 : 00.078 . Test passed in 0 : 11 : 52.156 .
2018.01 . 29 19 : 59 : 39.750 Core 1   EURUSD,M5: total time from login to stop testing 0 : 11 : 52.234 (including 0 : 00 : 00.078 for history data synchronization)
2018.01 . 29 19 : 59 : 39.750 Core 1    130637614 total ticks for all symbols
2018.01 . 29 19 : 59 : 39.750 Core 1   AUDUSD: passed to tester 20717720 ticks
2018.01 . 29 19 : 59 : 39.750 Core 1   EURUSD: passed to tester 26169180 ticks
2018.01 . 29 19 : 59 : 39.750 Core 1   GBPUSD: passed to tester 27742039 ticks
2018.01 . 29 19 : 59 : 39.750 Core 1   USDCAD: passed to tester 23409978 ticks
2018.01 . 29 19 : 59 : 39.750 Core 1   USDJPY: passed to tester 32598697 ticks
2018.01 . 29 19 : 59 : 39.750 Core 1    1574 Mb memory used including 44 Mb of history data, 1088 Mb of cached tick data (total memory for tick data 2495 Mb)

//---

Şimdi bir karakter üzerinde tekrar test etmek gerekiyordu.

1 sembol: EURUSD

 2018.01 . 29 20 : 04 : 25.737 Core 1   EURUSD,M5: 26169180 ticks, 74266 bars generated. Environment synchronized in 0 : 00 : 00.078 . Test passed in 0 : 01 : 34.203 .
2018.01 . 29 20 : 04 : 25.737 Core 1   EURUSD,M5: total time from login to stop testing 0 : 01 : 34.281 (including 0 : 00 : 00.078 for history data synchronization)
2018.01 . 29 20 : 04 : 25.737 Core 1    130637614 total ticks for all symbols
2018.01 . 29 20 : 04 : 25.737 Core 1   AUDUSD: passed to tester 20717720 ticks
2018.01 . 29 20 : 04 : 25.737 Core 1   EURUSD: passed to tester 26169180 ticks
2018.01 . 29 20 : 04 : 25.737 Core 1   GBPUSD: passed to tester 27742039 ticks
2018.01 . 29 20 : 04 : 25.737 Core 1   USDCAD: passed to tester 23409978 ticks
2018.01 . 29 20 : 04 : 25.737 Core 1   USDJPY: passed to tester 32598697 ticks
2018.01 . 29 20 : 04 : 25.737 Core 1    1288 Mb memory used including 44 Mb of history data, 1024 Mb of cached tick data (total memory for tick data 2495 Mb)

//---

Bu durumda, bu sembollerin keneleri neden burada ? Bu ekstra yük nedeniyle, bir karakter üzerindeki test süresi 3 kattan fazla arttı. Zaman aralığı bir yıldır. Ya 5 yıl boyunca test yapmam gerekirse?

 
fxsaber :
"Önbellekleri temizle" onay kutusu eksik.
Hiç onay işareti olmayan bir seçenek olabilir. Sadece onu bulmalısın.
 
fxsaber :
"Önbellekleri temizle" onay kutusu eksik.

İlk dörtte böyle (benzer) bir küçük kargamız vardı. Onu kaldırdım. Kullanıcıların büyük bir kısmı ve birçok soru yanlış anlaşıldığından.

 
Slava :

İlk dörtte böyle (benzer) bir küçük kargamız vardı. Onu kaldırdım. Kullanıcıların büyük bir kısmı ve birçok soru yanlış anlaşıldığından.

Her zaman bir terminal.ini vardır :)
 

Üç mesaj gelecek:

  1. Strateji Test Cihazında bir Uzman Danışman testi ne kadar sürer?
  2. Bir bilgisayarda ayarları optimize etmek ne kadar sürer?
  3. Buluttaki parametreleri optimize etmek ne kadar sürer?

Testler için Uzman Danışmanımı kullanacağım. Aynı seri testleri çalıştırabilir ve sonuçlarınızı gönderebilirsiniz. Benim durumumda, 1 yıllık bir süre içinde on binlerce işlem elde ediliyor.


1. Strateji Test Cihazında bir Uzman Danışman testi ne kadar sürer?

Örnek olarak Açık fiyat modundaki test sonuçlarına bir göz atalım. Zaman Çerçevesi M5 (beş dakikalık veri). Hedge hesap türü. Zaman aralığı bir yıldır ( 2017.01.01 - 2018.01.01 ).

Sembol : EURUSD

EURUSD,M5: 281877 ticks, 74300 bars generated. Test passed in 0 : 00 : 01.453 .
282883 total ticks for all symbols
EURUSD: passed to tester 282883 ticks
466 Mb memory used including 8 Mb of history data, 64 Mb of tick data

Yukarıdaki test sonuçlarına göre, bir yıllık süre boyunca bir karakter üzerindeki testin 1-1.5 saniye sürdüğü görülebilir.

Şimdi hesap para birimi olmayan bir döviz çiftini test etmeye çalışalım. Örneğin, ABD doları (USD) cinsinden bir hesabınız varsa, test için USD içermeyen bir sembol alacağız. Örneğin EURCHF. Gerçek şu ki, bu durumda marj gereksinimlerinin ve kârın doğru hesaplanması için testte EURUSD ve USDCHF sembolleri kullanılacak ve bu da test süresini artıracaktır.

Sembol : EURCHF

EURCHF,M5: 281063 ticks, 74273 bars generated. Test passed in 0 : 00 : 01.860 .
846826 total ticks for all symbols
EURCHF: passed to tester 282468 ticks
EURUSD: passed to tester 282883 ticks
USDCHF: passed to tester 281475 ticks
467 Mb memory used including 8 Mb of history data, 64 Mb of tick data

Gördüğünüz gibi, çapraz oranlar için test yaklaşık olarak iki kat daha uzun olacaktır. Bu durumda test 1.5-2 saniye sürmüştür . Şimdi birkaç karakter üzerinde test etmeye çalışalım.

Semboller : EURUSD,GBPUSD,USDJPY

EURUSD,M5: 282881 ticks, 74300 bars generated. Environment synchronized in 0 : 00 : 00.031 . Test passed in 0 : 00 : 07.172 .
EURUSD,M5: total time from login to stop testing 0 : 00 : 07.203 (including 0 : 00 : 00.031 for history data synchronization)
853054 total ticks for all symbols
EURUSD: passed to tester 282883 ticks
GBPUSD: passed to tester 285067 ticks
USDJPY: passed to tester 285104 ticks
628 Mb memory used including 26 Mb of history data, 64 Mb of tick data

Semboller : EURCHF,AUDCAD,AUDNZD

EURCHF,M5: 282465 ticks, 74273 bars generated. Environment synchronized in 0 : 00 : 00.031 . Test passed in 0 : 00 : 12.109 .
EURCHF,M5: total time from login to stop testing 0 : 00 : 12.140 (including 0 : 00 : 00.031 for history data synchronization)
2264405 total ticks for all symbols
AUDCAD: passed to tester 284995 ticks
AUDNZD: passed to tester 285398 ticks
AUDUSD: passed to tester 282069 ticks
EURCHF: passed to tester 282468 ticks
EURUSD: passed to tester 282883 ticks
NZDUSD: passed to tester 282153 ticks
USDCAD: passed to tester 282964 ticks
USDCHF: passed to tester 281475 ticks
854 Mb memory used including 26 Mb of history data, 192 Mb of tick data

Birden çok karakteri test ederken, testin hızı yavaşlar. Ne yazık ki, testlerin doğruluğunu kaybetmeden bunu farklı şekilde yapmak artık mümkün değil. Ancak, daha önce belirtildiği gibi, sonraki güncellemelerde terminal geliştiricileri, çok karakterli testleri birçok kez daha hızlı gerçekleştirme yeteneğini ekleyerek MQL5 dilinin yeteneklerini genişletecekler.

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 

2. Bir bilgisayarda ayarları optimize etmek ne kadar sürer?

Örneğin, sadece Açık fiyat modunda Alpari brokerinin verileri üzerindeki parametreleri farklı semboller üzerinde optimize etmeye çalışalım. Zaman Çerçevesi M5 (beş dakikalık veri). Hedge hesap türü. Zaman aralığı bir yıldır ( 2017.01.01 - 2018.01.01 ).

Sembol : EURUSD

result cache used 7953 times
genetic optimization finished on pass 15616 (of 504330836375520000 )
optimization done in 28 minutes 56 seconds
local 7663 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)

Sembol : EURCHF

result cache used 2507 times
genetic optimization finished on pass 8704 (of 504330836375520000 )
optimization done in 32 minutes 50 seconds
local 6197 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)

Semboller : EURUSD,GBPUSD,USDJPY

result cache used 9892 times
genetic optimization finished on pass 18176 (of 504330836375520000 )
optimization done in 2 hours 15 minutes 03 seconds
local 8284 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)

Semboller : EURCHF,AUDCAD,AUDNZD

result cache used 7281 times
genetic optimization finished on pass 13312 (of 504330836375520000 )
optimization done in 3 hours 13 minutes 37 seconds
local 6031 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)

Yakın gelecekte MetaTrader 5 terminali güncellenecek ve test ve optimizasyon hızı kat kat daha hızlı olacak. O zaman, Tüm onaylar modunda bile optimizasyon gerçekleştirmek mümkün olabilir. Ayrıca optimizasyon hızı artacağından MQL5 Cloud Network hizmetini kullanmak daha karlı hale gelecektir.

Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Большую часть времени современные компьютеры простаивают и не используют всех возможностей процессора. Мы предлагаем задействовать их с пользой. Вы можете сдавать мощности вашего компьютера другим участникам нашей сети для выполнения разнообразных...