Hatalar, hatalar, sorular - sayfa 2587

 
elibrarius :
Dosyalardan çubukları okumanın daha kolay olduğunu düşünüyorum.

Size tek satırda bir çözüm yazdım - bu duruma test tarihini ekleyin ve test cihazında sorunsuz test edin, performans en azından düşecek

ya da yöneticinin önerdiği gibi yapmak daha kolaydır, elbette dosyayla ilgili bir sorun yoktur, ancak o zaman sinir ağını olmaması gereken yerde gözetlemek için büyük bir cazibe vardır - genellikle böyle bitirdim)))

 
Roman :

Kod, lock_guard'ı kullanır
Ancak yorum yaparsanız, hiçbir değişiklik gözlenmez.

Yine de akmaya başladı, neden yanlış boyutu nedeniyle anlaşılabilir.
Tatilden dönerim, levyede olmazsa konuyu incelerim. Ama işin mantığına göre bug mql'de değil sizin kodunuzda. Bu arada, aynen böyle, ya kütüphaneniz hangi kodlama ile çalışıyor? Sonuçta, utf-16'nın ve aniden aynı utf-8'in en yaygın olduğundan eminsiniz.
 
Igor Makanu :

Size tek satırda bir çözüm yazdım - bu duruma test tarihini ekleyin ve test cihazında sorunsuz test edin, performans en azından düşecek

ya da yöneticinin önerdiği gibi yapmak daha kolaydır, elbette dosyayla ilgili bir sorun yoktur, ancak o zaman sinir ağını olmaması gereken yerde gözetlemek için büyük bir cazibe vardır - genellikle böyle bitirdim)))

Kontrol edildi - yardımcı olmadı.

Ve olmamalı. Sonuçta, yöneticinin alıntıladığı makaleye göre:
D1 zaman dilimleri için bir ticaret sunucusundan indirirken minimum geçmiş miktarı bir yıldır.

Ve talep ettiğim 100.000 M15 bar yaklaşık 3 yıldır. İlk yıl boyunca çubuklar kopyalanır, bu 37 bin çubuktur ve daha sonra test cihazında değildirler, beklemek yardımcı olmaz.

 
elibrarius :

Kontrol edildi - yardımcı olmadı.

Ve olmamalı. Sonuçta, yöneticinin alıntıladığı makaleye göre:
D1 zaman dilimleri için bir ticaret sunucusundan indirirken minimum geçmiş miktarı bir yıldır.

Ve talep ettiğim 100.000 M15 bar yaklaşık 3 yıldır. İlk yıl boyunca çubuklar kopyalanır, bu 37 bin çubuktur ve daha sonra test cihazında değildirler, beklemek yardımcı olmaz.

her şey benim için çalışıyor, 2000 - 2019 testini uzman kodu olan M15'e koydum:

 input int InpBars = 100000 ;

void OnTick ()
{   static bool print_once = true ;
   int bars = Bars ( _Symbol , _Period );
   if (bars < InpBars) return ;

   if (print_once)
   {   Print ( "OK - " , TimeCurrent ());
      print_once = false ; }

}

günlüğe girdi:

2019.10.04 22:15:19.567 çekirdek 1 EURUSD,M15: 2000.01.01 00:00 ile 2019.10.03 00:00 arasında Experts\IgorM\tst.ex5 testi şu girdilerle başladı:

2019.10.04 22:15:19.567 çekirdek 1 InpBars=100000

2019.10.04 22:15:19.567 Core 1 2003.01.16 19:30:00 OK - 2003.01.16 19:30:00

2019.10.04 22:15:19.567 çekirdek 1 nihai bakiye 10000,00 USD

koşulu test etmeye başlamanız gereken tarihi ekleyin ve NN'yi eğitin veya yöneticinin önerdiği gibi yapın
 
Igor Makanu :

her şey benim için çalışıyor, 2000 - 2019 testini uzman kodu olan M15'e koydum:

günlüğe girdi:

2019.10.04 22:15:19.567 çekirdek 1 EURUSD,M15: 2000.01.01 00:00 ile 2019.10.03 00:00 arasında Experts\IgorM\tst.ex5 testi şu girdilerle başladı:

2019.10.04 22:15:19.567 çekirdek 1 InpBars=100000

2019.10.04 22:15:19.567 Core 1 2003.01.16 19:30:00 OK - 2003.01.16 19:30:00

2019.10.04 22:15:19.567 çekirdek 1 nihai bakiye 10000,00 USD

koşulu test etmeye başlamanız gereken tarihi ekleyin ve NN'yi eğitin veya yöneticinin önerdiği gibi yapın

şimdi anladım fikrini

Onlar. test son 2 ay için değil 3 yıl için çalıştırılmalıdır, OnTick'te bu 3 yılı atlayın ve sadece son 2 ayda hesaplamaya başlayın.

Evet - bu en basit çözüm. Teşekkür ederim!

 
elibrarius :

Ve talep ettiğim 100.000 M15 bar yaklaşık 3 yıldır. İlk yıl boyunca çubuklar kopyalanır, bu 37 bin çubuktur ve daha sonra test cihazında değildirler, beklemek yardımcı olmaz.

Optimizer modunda " Matematik hesaplamaları " geçmiş dosyasıyla çalışmak daha hızlı olacaktır.

 
elibrarius :

şimdi anladım fikrini

Onlar. test son 2 ay için değil 3 yıl için çalıştırılmalıdır, OnTick'te bu 3 yılı atlayın ve sadece son 2 ayda hesaplamaya başlayın.

Evet - bu en basit çözüm. Teşekkür ederim!

duruma zaman ekle

 input int InpBars = 100000 ;
input datetime InpDataTest = D'2015.01.01 00:00' ; 
void OnTick ()
{   static bool print_once = true ;
   int bars = Bars ( _Symbol , _Period );
   datetime t = TimeCurrent ();
   if (bars < InpBars || t < InpDataTest  ) return ;

   if (print_once)
   {   Print ( "OK, TimeCurrent() =  " , t);
      print_once = false ; }

}

2019.10.04 22:36:42.729 çekirdek 1 EURUSD,M15: 2000.01.01 00:00 ile 2019.10.03 00:00 arasında Experts\IgorM\tst.ex5 testi şu girdilerle başladı:

2019.10.04 22:36:42.729 çekirdek 1 InpBars=100000

2019.10.04 22:36:42.729 çekirdek 1 InpDataTest=1420070400

2019.10.04 22:36:42.729 çekirdek 1 2 01/15/02 09:00:00 Tamam, TimeCurrent() = 2015.01.02 09:00:00

2019.10.04 22:36:43.041 çekirdek 1 nihai bakiye 10000,00 USD



 
Igor Makanu :

duruma zaman ekle

2019.10.04 22:36:42.729 çekirdek 1 EURUSD,M15: 2000.01.01 00:00 ile 2019.10.03 00:00 arasında Experts\IgorM\tst.ex5 testi şu girdilerle başladı:

2019.10.04 22:36:42.729 çekirdek 1 InpBars=100000

2019.10.04 22:36:42.729 çekirdek 1 InpDataTest=1420070400

2019.10.04 22:36:42.729 çekirdek 1 2 01/15/02 09:00:00 Tamam, TimeCurrent() = 2015.01.02 09:00:00

2019.10.04 22:36:43.041 çekirdek 1 nihai bakiye 10000,00 USD



Evet teşekkür ederim. Her şey çalışıyor.

 
Aleksey Vyazmikin :

Optimizer modunda " Matematik hesaplamaları " geçmiş dosyasıyla çalışmak daha hızlı olacaktır.

Peki, tamamen Ulusal Meclis'in kendisindeyse ve sonuca bakın.

Şimdi hem maliyetlerin hem de spreadlerin hesaba katılması için ticareti test ediyorum. Bu nedenle, test cihazında görüntülenebilen ve gerçek ticarete bağlı olan, ilgi çeken hazır robottur.

 
elibrarius :

Peki, tamamen Ulusal Meclis'in kendisindeyse ve sonuca bakın.

Şimdi hem maliyetlerin hem de spreadlerin hesaba katılması için ticareti test ediyorum. Bu nedenle, test cihazında görüntülenebilen ve gerçek ticarete bağlı olan, ilgi çeken hazır robottur.

Hala anlamıyorum - tahmincileriniz büyük bir hesaplama derinliği gerektiriyor mu? Gerçekten bir taneye ihtiyacım var - Günlük olarak Mashka :) Test etmeye bir yıl önce başlıyorum ve bu tarihten önce alım satım yasaklanabilir...