Hatalar, hatalar, sorular - sayfa 1564

 
Anton Zverev :

iCustom+IndicatorRelease. Birdenbire karmaşık varlıklar üretmek, muhtemelen bir koltuk değneği çözümü değildir. Zevkler tartışılamazdı. Soru, bir dizi ajan üzerindeki böyle bir koltuk değneğinin kaynakları ne kadar boşuna tüketeceğidir.

İlk beşte hemen hemen her şey harika. En yüksek hız. Ve burada, afedersiniz, beklemediğiniz bir tür tam tüylülük.

Neden bir gösterge yayınlasın?

Her yeni onay işareti için test edilen Uzman Danışmana bir grafik olayı göndermesine izin verin.

Her onay işareti üzerinde bir sonraki sürümle birlikte bir gösterge oluşturmak , kaynak israfının olduğu yerdir.

 
Anton Zverev :

Vasily, FORTS'ta (test cihazında değil) mekanizmanın abonelik ve BookEvent aracılığıyla çalıştığını belirtti. Böylece, genel olarak danışmanın herhangi bir çizelgeye bağlanmasını ortadan kaldırır.

BookEvent henüz test cihazında uygulanmadı
[Silindi]  
Slawa :

Neden bir gösterge yayınlasın?

Her yeni onay işareti için test edilen EA'ya bir grafik olayı göndermesine izin verin.

Her onay işareti üzerinde bir sonraki sürümle birlikte bir gösterge oluşturmak , kaynak israfının olduğu yerdir.

Kendimi ifade etmekte kötüyüm, bu yüzden anlamıyorsun. Ayrıntılar burada https://www.mql5.com/en/code/280

Ve bu çözüm, bu kadar basit bir şeyi uygulamak uğruna ne kadar kaynak tüketiyor?!

Мультивалютный обработчик событий OnTick(string symbol)
Мультивалютный обработчик событий OnTick(string symbol)
  • oylar: 27
  • 2011.02.01
  • Konstantin Gruzdev
  • www.mql5.com
Упрощенная реализация полноценного мультивалютного режима в MetaTrader 5. Нет необходимости вникать в то, как это работает. Минимум простых настроек. Максимум удобства для пользователей. Работает в тестере.
[Silindi]  
Slawa :
BookEvent henüz test cihazında uygulanmadı
Öyleyse, test cihazında olmasa bile Forex'i sürmezse, test cihazında ne anlamı var? Vasily, bence yukarıda mantıklı bir teklifte bulundu.
[Silindi]  
Slawa :

Ve döngü bir saniye için değil, bir saatten biraz daha az bir süre için düzenlenir. Zorunlu kontrol ile IsStopped()

Bu arada, uyku gereklidir. Aksi takdirde test cihazını kapatın. Peki, danışmanın normal çalışması sırasında sistemin kaynakları tüketilecek

Sürümünüzü test etmeyin bile

 2016.04 . 26 19 : 39 : 05      Core 1    2016.04 . 25 00 : 16 : 48    infinite Sleep loop detected while testing
2016.04 . 26 19 : 39 : 05      Core 1   EURUSD : 2016.04 . 25 00 : 00 - 2016.04 . 26 00 : 00    1439 minute bars absent in total while real ticks present
2016.04 . 26 19 : 39 : 05      Core 1   EURUSD : real ticks begin from 2016.01 . 04 00 : 00 : 00
2016.04 . 26 19 : 39 : 05      Core 1     SleepPause= 10
2016.04 . 26 19 : 39 : 05      Core 1     TimerInterval= 1000

kod

 sinput uint TimerInterval = 1000 ; // Через сколько секунд вызывать OnTimer
sinput uint SleepPause = 10 ;       // На сколько милисекунд делать Sleep
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnInit ()
  {
   EventSetTimer (TimerInterval);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTimer ()
  {
   const uint Amount=TimerInterval* 1000 /SleepPause;

   for ( uint i= 0 ;(i<Amount) && (! IsStopped ()); i++)
       Sleep (SleepPause);
  }
//+------------------------------------------------------------------+
 
Anton Zverev :

Sürümünüzü test etmeyin bile

kod

Ve burada neyi test ediyorsun?
[Silindi]  
Slawa :
Ve burada neyi test ediyorsun?
Bu kodu test cihazında çalıştırıyorum. Ve test sırasında sonsuz Uyku döngüsü algılandı mesajıyla takılıyorum.
 
Anton Zverev :
Bu kodu test cihazında çalıştırıyorum. Ve test sırasında sonsuz Uyku döngüsü algılandı mesajıyla takılıyorum.

Çoğu zaman zaten şöyle dedi: "Belgeleri okuyun"

"Bütün belgeleri okudum. Birkaç kez" yanıtını vermediniz mi?

Ama bunu okudun mu? Hayır gibi görünüyor...

Sleep() işlevinin yürütülmesinin bir sonucu olarak, test cihazındaki geçerli saat, test süresinin sonunu aşmışsa, bir "infinite loop in Sleep" hatası alınır. Böyle bir hata alındığında test sonuçları atılmaz, tüm hesaplamalar eksiksiz yapılır (işlem sayısı, düşüm vb.) ve bu testin sonuçları terminale iletilir.

[Silindi]  
Slawa :

Ama bunu okudun mu?

Çok dikkatli okudum. Gerçek şu ki, OnTimer'da Uyku kullanılıyorsa , test aralığının ötesine ne zaman geçtiğinizi belirlemek imkansızdır. IsStopped (dokümantasyonun okunması nedeniyle hemen koda kaydedildi) çıkış sırasında çalışmıyor. Kimin canı?
[Silindi]  
Slawa :

Ve OnTimer'daki döngüdeki keneleri atlama konusunda tekrarlanabilir kanıtlara ihtiyaç vardır. sende var mı

Belgelerde bunun hakkında yazdınız !

Test cihazında Sleep() çağrıları test sürecini geciktirmez. Sleep() çağrıldığında, oluşturulan tikler belirtilen gecikme içinde "oynanır" ve bunun sonucunda bekleyen emirler, durmalar vb. tetiklenebilir. Sleep() çağrıldıktan sonra, test cihazında simüle edilen süre, Uyku fonksiyonunun parametresinde belirtilen aralık kadar artırılır.

Bu nedenle, bir danışman aramak için bu kenelerin her biri üzerinde çalışmayacaktır. Kanıt kabul edildi mi?