Hatalar, hatalar, sorular - sayfa 2986

 
Andrey Dik :

ve buna göre başka bir soru ortaya çıkıyor: SymbolInfoTick () işleviyle doldurduktan sonra MqlTick yapısını değerlerin doğruluğu için kontrol etmek gerekli mi? - sonuçta, talep ve teklif değerleri, negatif olanlar da dahil olmak üzere herhangi biri olabilir. Yoksa SymbolInfoTick()'ten doğruyu almak yeterli mi?

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

MetaTrader 5 platformunun yeni sürümü yapı 2755: Fiyat teklifi penceresinde ve hata ayıklayıcıda iyileştirmeler

fxsaber , 2021.02.15 03:02

COPY_TICKS_INFO'nun sıfır fiyatı bir hata işareti mi?

 void OnStart ()
{
   MqlTick Ticks[];
  
   CopyTicksRange ( "GBPUSD" , Ticks, COPY_TICKS_INFO , D'2020.10.02 23:54:54' * 1000 , D'2020.10.05 00:07:01' * 1000 );
    
   ArrayPrint (Ticks);
   Print ( AccountInfoString ( ACCOUNT_SERVER ));
}


Sonuç.

                         [time]   [bid]   [ask] [last] [volume]    [time_msc] [flags] [volume_real]
        [ 0 ] 2020.10 . 02 23 : 54 : 54 1.29378 1.29385 0.0000          0 1601682894091        4        0.00000
        [ 1 ] 2020.10 . 02 23 : 54 : 54 1.29377 1.29383 0.0000          0 1601682894404      134        0.00000
        [ 2 ] 2020.10 . 02 23 : 54 : 54 1.29375 1.29379 0.0000          0 1601682894471      134        0.00000
        [ 3 ] 2020.10 . 02 23 : 54 : 55 1.29375 1.29381 0.0000          0 1601682895248        4        0.00000
        [ 4 ] 2020.10 . 05 00 : 06 : 14 0.00000 1.29313 0.0000          0 1601856374091        6        0.00000
        [ 5 ] 2020.10 . 05 00 : 07 : 00 1.29271 1.29332 0.0000          0 1601856420497      134        0.00000
        [ 6 ] 2020.10 . 05 00 : 07 : 00 1.29271 1.29331 0.0000          0 1601856420497        4        0.00000
        RannForex-Server
 
inwinterborn :

Lütfen bana hem geçmişte hem de çevrimiçi (Ctrl + F5, F5) hata ayıklama sırasında kesme noktalarının neden sonraki işleve kaydırıldığını söyleyin?

Birkaç kez kontrol edildi. Ekteki ekran görüntülerinde tüm açıklamalar.

Bu bir hata mı?


Açıklama:

1. 2 kesme noktasını manuel olarak ayarlayın: 1) Series.mqh satırı 81; 2) TimeSeries.mqh satır 48
2. ExpertMACD.mq5 dosyasına gidin
3. Geçmiş veya gerçek veriler üzerinde hata ayıklamaya başlıyorum
4. Series.mqh dosyasında 94. satırda kesme noktası olmayan bir hata ayıklayıcı durağı alıyorum. Satır, satır 81'den kaybolan veya taşınan manuel kesme noktamdan sonraki bir sonraki işlevin başlangıcıdır.
5. TimeSeries.mqh'de ikinci manuel kesme noktamı kontrol ediyorum ve onun da 48. satırdan 63. satıra geçtiğini görüyorum, yine eski kesme noktamı takip eden fonksiyon.


Lütfen söyle bana, sorun ne olabilir?

 
inwinterborn :


Açıklama:

1. 2 kesme noktasını manuel olarak ayarlayın: 1) Series.mqh satırı 81; 2) TimeSeries.mqh satır 48
2. ExpertMACD.mq5 dosyasına gidin
3. Geçmiş veya gerçek veriler üzerinde hata ayıklamaya başlıyorum
4. Series.mqh dosyasında 94. satırda kesme noktası olmayan bir hata ayıklayıcı durağı alıyorum. Satır, satır 81'den kaybolan veya taşınan manuel kesme noktamdan sonraki bir sonraki işlevin başlangıcıdır.
5. TimeSeries.mqh'de ikinci manuel kesme noktamı kontrol ediyorum ve onun da 48. satırdan 63. satıra geçtiğini görüyorum, yine eski kesme noktamı takip eden fonksiyon.


Lütfen söyle bana, sorun ne olabilir?

Düzenleyicideki ayarları kontrol edin - optimizasyonu devre dışı bırakın:

 
Vladimir Karputov :

Düzenleyicideki ayarları kontrol edin - optimizasyonu devre dışı bırakın:

Cevap için teşekkürler, ama yardımcı olmuyor.

Seçenek gerçekten etkinleştirildi.

Engelli. Tekrarlandı. Sonuç, yukarıda açıklananla aynıdır.

Terminali ve düzenleyiciyi yeni ayarla kapattı.

Tekrar açıldı. Tekrarlandı. Sonuç aynı.

Başka ne problem olabilirdi ki?


 
inwinterborn :

Cevap için teşekkürler, ama yardımcı olmuyor.

Seçenek gerçekten etkinleştirildi.

Engelli. Tekrarlandı. Sonuç yukarıda açıklananla aynıdır.

Terminali ve düzenleyiciyi yeni ayarla kapattı.

Tekrar açıldı. Tekrarlandı. Sonuç aynı.

Başka ne problem olabilirdi ki?


2833 sürümünü deneyin - belki bir şeyler değişti...

 
Vladimir Karputov :

2833 sürümünü deneyin - belki bir şeyler değişti...

2834'e otomatik güncelleme geçti.

Sonuç değişmedi. Kesme noktaları hareket eder.

 
fxsaber :

Kodunuzdaki işlev tarafından döndürülen değerin denetimine sahip değilsiniz, bu nedenle Ticks yapısının içeriğinin doğruluğunu yargılamak mümkün değildir.

Ve CopyTicksRange'i çağırırken hata yoksa, yapının sıfır değerlerini norm olarak düşünmeniz gerekir, aksi halde kime inanmalı? Hangi fiyatlar genellikle normal olarak kabul edilebilir (0.0 fiyatlardan bile bahsetmiyoruz, ama herhangi bir fiyattan bahsediyoruz)? Sportloto'da hatalı fiyatlar durumunda kime şikayette bulunmalı? Aracı, MQ'ya başını sallayacak ve MQ, aracıya başını sallayacak. Soru göründüğünden daha ciddi.

 
Andrey Dik :

Kodunuzdaki işlev tarafından döndürülen değerin denetimine sahip değilsiniz, bu nedenle Ticks yapısının içeriğinin doğruluğunu yargılamak mümkün değildir.

Ve CopyTicksRange'i çağırırken hata yoksa, yapının sıfır değerlerini norm olarak düşünmeniz gerekir, aksi halde kime inanmalı? Hangi fiyatlar genellikle normal olarak kabul edilebilir (0.0 fiyatlardan bile bahsetmiyoruz, ama herhangi bir fiyattan bahsediyoruz)? Sportloto'da hatalı fiyatlar durumunda kime şikayette bulunmalı? Aracı, MQ'ya başını sallayacak ve MQ, aracıya başını sallayacak. Soru göründüğünden daha ciddi.

Kod, fiyatların ne olabileceğini gösterir. Kodlarıma baktım. Bunları ve diğer aptalca kontrolleri yapmıyorum. Kesinlikle sadece MT5'te farklı yerlerde bir milyondan fazla işlem yaptı. Soru pratik olmaktan çok uzak.

 
fxsaber :

Kod, fiyatların ne olabileceğini gösterir . Kodlarıma baktım. Bunları ve diğer aptalca kontrolleri yapmıyorum. Kesinlikle sadece MT5'te farklı yerlerde bir milyondan fazla işlem yaptı. Soru pratikten çok uzak.

İyi? Meselenin gerçeği, fiyatların herhangi biri olabileceği ve bunlardan hangisinin doğru olduğu düşünülüyor? Bunları ve diğer aptal kontrolleri yapmayın, ancak eşit derecede aptalca yapın, ancak 0.0 için çok daha pahalı değer kontrolleri yapın?

 
inwinterborn :

Lütfen bana hem geçmişte hem de çevrimiçi (Ctrl + F5, F5) hata ayıklama sırasında kesme noktalarının neden sonraki işleve kaydırıldığını söyleyin?

Birkaç kez kontrol edildi. Ekteki ekran görüntülerinde tüm açıklamalar.

Bu bir hata mı?

Kesme noktası taşınır - çünkü EA hiçbir zaman CSeries::BufferResize girmez.