Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 158

 
pronych :

Güncelleme göstergeleri içeriden nasıl zorlanır, yani. olay OnCalculate?

Yani düzeltilmezse (ortaya çıkabilecek sorunların altında).

Veya zamanlayıcı ile (bunun gibi bir şey).

 
Silent :

Yani düzeltilmezse (ortaya çıkabilecek sorunların altında).

Veya zamanlayıcı ile (bunun gibi bir şey).

Açık. )) Düzenli işlevsellik istemeyi denediniz mi?

 
pronych :

Açık. )) Düzenli işlevsellik istemeyi denediniz mi?

Ben değilim, genel olarak evet (MetaDraiver SD'de yazmış görünüyor) ve soru forumda birkaç kez gündeme geldi.

Geliştiricilerin cevabı varsa, bilmiyorum.

PS faydalı olabilir

MQL5'te çok para birimli bir oynaklık göstergesinin geliştirilmesi

Fiyat farklılıklarını analiz etmek için çoklu para birimi göstergesinin geliştirilmesi

Görünüşe göre burada yayınlanmış olmalılar, bulamadım.

İlkinde, bir hata ortaya çıkarsa

40. satır CCanvas tuval; hata

çözümlenmemiş statik değişken 'CCanvas::m_default_colors'

Ekle

uint CCanvas::m_default_colors[9]={0};

uzun süre tartışıldı neyin nerede sabitlendiği kontrol edilmedi.

Разработка мультивалютного индикатора волатильности на MQL5
Разработка мультивалютного индикатора волатильности на MQL5
  • tol64.blogspot.com
В этой статье рассмотрим разработку мультивалютного индикатора волатильности. Начинающий разработчик на MQL5 может столкнуться с некоторыми сложностями при разработке мультивалютных индикаторов, но после прочтения этой статьи всё станет намного проще. Основные вопросы при разработке мультивалютного индикатора относятся к синхронизации данных...
 

Peki, Metadriver'ı aramayı deneyelim. Belki geliştiricilerin söylediklerine biraz ışık tutacaktır. Volodya!...

Володя (песня измученного ангольского народа)
Володя (песня измученного ангольского народа)
  • my.mail.ru
Песня посвящена ангольскому революционеру одному из командиров MPLA, убитому в 1975 году (в Луанде в честь него названа одна из улиц). Валодя – это было его боевое прозвище. После 75го года песня про Валодю была очень популярна в Анголе. Где только я ни слышал это имя, Незабываемое для сынов Анголы. Володя, Володя, Володя, славный защитник ангольского народа! Володя, Володя, Володя, противник империалиста, Который собирается установить режим...
 
pronych :

Peki, Metadriver'ı aramayı deneyelim. Belki geliştiricilerin söylediklerine biraz ışık tutacaktır. Volodya!...

Soruyu pek anlamadım. Tam zamanlı bir tik arayan sormak - sormadı. Görünen o ki Silent tam tersine gidiyordu... kısacası birbirimize güveniyorduk.

Dolaylı bir durum vardı - TERMINAL_MAX_BAR dışındaki bir veri talebinin grafikteki tüm göstergelerin güncellenmesine neden olduğu netleştikten sonra.

Daha sonra buton grafik yeniden yükleyicimi yeniden düzenledim, servis masasına yeni bir sürüm gönderdim. Aynı zamanda yorumlarda, çipin çalışmaya devam edeceği gerçeğine güvenip güvenemeyeceğini sordu… Eh, sustular… Ama bana yakıştı… Ben de bundan bir özellik yaptım. böcek.

;)

--

Şey, kesinlikle konuşmak gerekirse, bu bir bug değil. Terminal çökmez, hatta fazla yavaşlamaz, sadece grafikteki verileri günceller. Orada neler olduğunu biraz anlıyorum. Şunu yazın: mevcut verilerin ötesinde bir istek -> terminalin verileri yükleme girişimi ve ardından grafiği güncelleme. Basit ve verimli. Mağdur yoksa neden değişelim?

// "Göstergeyi içeriden yeniden hesaplama" konusuna gelince, sorunu hiç anlamadım. Soru nasıl anlaşılmaz. İçeride, gösterge kendi efendisidir ve istediğini yeniden hesaplar. Ve burada harici bir sinyal varsa - o zaman başka bir konu. Sonra yuvarlanıyoruz..

 

Kahretsin, belki değil.))

Ön_hesaplananın göstergenin oluşturulmasını özel olarak nasıl etkilediği tam olarak açık değildir.

Benim durumumda, hem OnCalculate()'de hem de bir zamanlayıcıda bir güncelleme denemesi gerçekleşir. Çoklu araç.

Satırları almak için başarısız bir girişim olması durumunda, işlev bir sonraki onay işaretine veya zamanlayıcıya kadar kesintiye uğrar, çizim gerçekleşmez, ancak grafikte bir yerden başlatılmamış (görünüşte) değerler görünür.

Init() içinde ArrayInitialize (Buffer ,...) olmasına rağmen.

Belki bir yerlerde bir hatam vardır. Bu oldukça nadiren olur, yakalanması zordur.

Kısacası, bana öyle geliyor ki, OnCalculate() üzerinde zorunlu kuyruğa almanın normal işlevi, çok enstrümanlı hindilerde, nadir tiklere sahip çizelgelerde tef ile dans etmeyi en aza indirmeye izin verecek.

Bu arada kılavuzda yazıyor ;)

Все необходимые расчеты пользовательских индикаторов необходимо размещать в предопределенной функции OnCalculate ().

not. "Çip" i anladım.

PSPS/ One, yukarıdaki durumda, Uzman Danışmanın gösterge kullanmadan değerlerin hesaplanmasını kullanmasının daha güvenilir olduğu hissine kapılıyor. Ve görselleştirme için ayrı bir gösterge.

Ama sonra aynı şeyi iki kez saymak zorundasın.

 
MetaDriver :

Soruyu pek anlamadım. Tam zamanlı bir tik arayan sormak - sormadı. Görünen o ki Silent tam tersine gidiyordu... kısacası birbirimize güveniyorduk.

...

bundan bahsediyorum

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

Hatalar, hatalar, sorular

MetaSürücü , 2013.08.03 17:55

"

Belki. Sadece zaman diliminde herhangi bir değişiklik olmaması daha iyi olurdu. İyi için, göstergelerin aptal kene üretimine ihtiyacı var.

Benim amaçlarım için bu her zaman uygun değildir, ancak genel durumda, birçok "hafta sonu sorunu" ortadan kalkacaktır.

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

Hatalar, hatalar, sorular

MetaSürücü , 2013.08.03 18:02

Kabul ediyorum.

Yazılımın "komutu", seçilen karakter için tüm ön_hesaplananların zorla sıfırlanması da faydalı olacaktır. Sonraki kene nesli ile birleştirmek iyi olacaktır.



 

Görsel test sırasında, gösterge Expert Advisor'da yeniden başlatıldığı anda, gösterge eski ayarlarla test cihazında hesaplanmaya ve grafikte gösterilmeye devam eder (aslında, her seferinde başka bir "paralel çizgi" eklenir). yeniden başlatma). Yeni bir tanıtıcı almadan önce her seferinde IndicatorRelease yapmaya çalıştım - yardımcı olmuyor.

Yeni tutamaçları almak için kodu girin -

 void f_indicator_reinit()
 { 
    
   IndicatorRelease (firstHandle);
   IndicatorRelease (secondHandle);
   IndicatorRelease (thirdHandle);
   IndicatorRelease (fourthHandle);  

   bughelper=bughelper+ 1 ;
   
   firstHandle= iCustom ( NULL , 0 , "indicatorname.ex5" , 12 +bughelper,ind_s,HotPink,HotPink, 10 , MODE_SMA , PRICE_CLOSE , 1 );
   secondHandle= iCustom ( NULL , 0 , "indicatorname.ex5" , 12 +bughelper,ind_s,White,White, 10 , MODE_SMA , PRICE_CLOSE , 2 );   
   thirdHandle= iCustom ( NULL , 0 , "indicatorname.ex5" , 12 +bughelper,ind_s,Red,Red, 10 , MODE_SMA , PRICE_CLOSE , 3 );   
   fourthHandle= iCustom ( NULL , 0 , "indicatorname.ex5" , 12 +bughelper,ind_s,Gold,Gold, 10 , MODE_SMA , PRICE_CLOSE , 4 ); 
 }  

Bughelper değişkenini tanıttım çünkü giriş parametrelerini değiştirmeden gösterge hiç yeniden hesaplanmadı.

 
Silent :

bundan bahsediyorum

Neyse ona göre cevap verdim. Yeniden hesaplama sorunum, TERMINAL_MAX_BAR dışında veri istenerek çözüldü.

Ayrıca grafik bir bütün olarak güncellendiğinden, böyle bir talebin indikatör içinden mi yoksa harici bir programdan mı yapıldığı önemli değildir. Ana şey, programın (isteyen) bu özel sembol ve zaman çerçevesi için veri talep etmesidir.

Aslında, "atomdaki" grafiği güncellemeniz gereken durumlarla karşılaşmadım. Düğmem beni tamamen tatmin ediyor. // yukarıdaki bağlantıya bakın.

Kene oluşturma ile (grafiği güncellemeden), sorun çözülmedi, ancak gerçekten çözmedim - çoğu durumda birçok şekilde önlenebilir (esas olarak bir zamanlayıcı kullanarak).

 
IndicatorRelease (firstHandle);
Функция возвращает ошибку 4014 - 

ERR_FUNCTION_NOT_ALLOWED

4014

Sistem işlevinin çağrılmasına izin verilmiyor

Lütfen bana IndicatorRelease () başarısızlığının sebeplerinin ne olabileceğini söyleyin ???

Neden: