MT5 değişim terminalinde göstergeler (çizgiler, oklar, histogramlar) neden titriyor? - sayfa 6

 
Andrey Khatimlianskii : Fikir ortaya çıktı. Prev_calculated = 0 ise tam yeniden hesaplama (ve yeniden çizim) gerçekleşir. Bu durum için OnCalculate'in başında bir baskı eklemeyi deneyin ve yanıp sönerken baskıların görünüp görünmediğine bakın. Cevabınız evet ise, terminalin sayacı neden 0'a sıfırladığını bulmanız gerekir (ve bunun hakkında servis masasına yazabilirsiniz). Değilse, bu daha çok bir aksaklıktır ve servis masasına basit bir test göstergesi, oynatma koşulları ve tanıtım içeren kısa bir video gönderebilirsiniz.

Yukarıda, benzer bir çözüm önerdiniz - OnCalculate() işlevine bir baskı ekleyin, günlükte beklenmedik bir şey görünmediğini eklediniz, yeni çubukların gelişini alma ve işleme normal süreci devam ediyor. Sayaçlar sıfırlanmıyor ama yanıp sönüyor.

 
Andrey Khatimlianskii :

Düşünce ortaya çıktı.

Prev_calculated = 0 ise tam yeniden hesaplama (ve yeniden çizim) gerçekleşir. Bu durum için OnCalculate'in başında bir baskı eklemeyi deneyin ve yanıp sönerken baskıların görünüp görünmediğine bakın.

Cevabınız evet ise, terminalin sayacı neden 0'a sıfırladığını bulmanız gerekir (ve bunun hakkında servis masasına yazabilirsiniz).

Değilse, bu daha çok bir aksaklıktır ve servis masasına basit bir test göstergesi, oynatma koşulları ve tanıtım içeren kısa bir video gönderebilirsiniz.

Kısa arka plan:

Bir keresinde mql4'ten mql5'e kadar gerçek zamanlı olarak yukarı ve aşağı ayrı ayrı keneler toplayan bir göstergeyi yeniden yazmaya çalıştım, ancak gösterge birikmiş verileri periyodik olarak sıfırladığı için hiçbir şey olmadı. Bu konuda SD ile görüştüm ve sıfırlamanın prev_calculated'ın 0'a sıfırlanmasından ve tüm geçmişin yeniden hesaplanmasından kaynaklandığına ve sıfırlamanın sunucu ile iletişim kaybından dolayı gerçekleştiğine beni ikna ettiler.

Dün yapılan deneyler:

Öncelikle Print()'i koşula koydum... Beklemedim, yapay olarak bir iletişim kaybı yaratmaya başladım. Print() yürütülür, ancak gösterge yanıp sönmez.

Grafikteki RMB ve "Yenile" bağlam menüsünden de ön_hesaplananı sıfırlar, ancak gösterge yanıp sönmez. ChartRedraw'ın gösterge yeniden hesaplamasını nasıl etkilediğini görmeye karar verdim, ancak sonuç sıfır... Bunu hiç etkilemiyor, ne göstergenin kendisine yazılan gösterge ne de ChartRedraw çağrısı ile paralel çalışan gösterge.

Sonra prev_calculated'ın yerini alacak bir şey bulmaya çalıştım. Herhangi bir teknik gösterge çağrılırsa, prev_calculated BarsCalculated(handle) ile değiştirilebilir, ancak değilse... Onu bulamadım. Böyle bir değiştirme durumunda, ön_hesaplanan sıfırlanırken, gösterge yeniden hesaplanmaz ve hesaplamalarını kaybetmez.

Genel olarak, değerli bir şey bulamadım ...

Çılgın varsayım:

Birkaç tik kaybolmuş, sonra biraz gecikmeli yüklenmiş ve şu anda bir göz kırpma meydana gelmiş olamaz mı?

 

Bu kene tabanlı histogram hisse senedi göstergesi herkes için titriyor mu?

Göstergenin sürekli titremesini yalnızca bir kez (piyasa açılışında) ve yalnızca CTRL + D panelinde görmeyi başardım, histogramların kendileri titreme göstermedi (belki de GPU eksikliğinden dolayı). Videoyu kaydetmek için tekrar oynatılamadı.


Hızlı bir piyasada borsa etkisi gözlemlenmelidir. Borsa açılana kadar beklemek gerekir, o zaman büyük olasılıkla titremeyi kaydetmek mümkün olacaktır. Veya terminali birkaç saatlik kalıcı bir kayda koymanızı öneririm. Ardından, titremenin özellikle belirgin olduğu bir parçayı kesin.

 
Sayacın sıfırlanmasının (veya bir "geri tarihleme" tikinin düzenlenmesi) terminalin grafiği yeniden çizdiği tek durum olduğu konusunda yanılmayın. Buradaki mantık, büyük olasılıkla, farkında olmadığımız bir sürü başka faktörü hesaba katıyor. Reprodüksiyonun rastgeleliği ve genellikle servis masasında ortaya çıkan iletişim güçlükleri nedeniyle bu sorundan vazgeçtim.
 
Stanislav Korotky : Terminal tabloyu yeniden çizdiğinde, sayacın sıfırlanmasının tek durum olduğu konusunda yanılmayın. Buradaki mantık, büyük olasılıkla, farkında olmadığımız bir sürü başka faktörü hesaba katıyor. Reprodüksiyonun rastgeleliği ve genellikle servis masasında ortaya çıkan iletişim güçlükleri nedeniyle bu sorundan vazgeçtim.

Bu yüzden aynı sonuca varıyorum. Büyük olasılıkla, bunlar reklam yapmayacakları iç meselelerdir ve gerçek nedenleri asla bilemeyeceğiz. Ve geliştiriciler örtük olarak bu konudaki tutumlarını dile getirdiler, ancak bu başlıkta hiç görünmeden dile getirdiler. Açıklığa kavuşturabilseler de...

 

Teslimattaki ZZ göstergesi birkaç saniyeliğine çevrimdışı olarak kayboldu - yani bu kenelerle ilgili değil.

 
Eugene Myzrov :

Yukarıda, benzer bir çözüm önerdiniz - OnCalculate() işlevine bir baskı ekleyin, günlükte beklenmedik bir şey görünmediğini eklediniz, yeni çubukların gelişini alma ve işleme normal süreci devam ediyor. Sayaçlar sıfırlanmıyor ama yanıp sönüyor.


Önceki sayfaları okumadım, sorunuza cevap aldınız mı? Değilse, işte size bir çözüm, arabellek sayısını artırmayı deneyin, yanlış numaraya sahipsiniz, bu yüzden yanıp söner.
 
Roman Vashchilin :

Önceki sayfaları okumadım, sorunuza cevap aldınız mı? Değilse, işte size bir çözüm, arabellek sayısını artırmayı deneyin, yanlış numaraya sahipsiniz, bu yüzden yanıp söner.

Standart ZZ'de ayrıca yanlış sayıda arabellek var mı?
 
Roman Vashchilin : Önceki sayfaları okumadım, sorunuza cevap verdiniz mi? Değilse, işte size bir çözüm, arabellek sayısını artırmayı deneyin, yanlış numaraya sahipsiniz, bu yüzden yanıp söner.

Neden " yanlış sayıda arabellek var, bu nedenle yanıp sönüyor" diye düşünüyorsunuz? 2 arabellek ve 2 dizi kullanırsam, buna göre belirteceğim

 #property   indicator_buffers 2
#property   indicator_plots    2

Neden ihtiyaç duyduğumdan daha fazla arabellek sayısını belirteyim, yani. ikiden fazla ?

 
Eugene Myzrov :

Neden " yanlış sayıda arabellek var, bu nedenle yanıp sönüyor" diye düşünüyorsunuz? 2 arabellek ve 2 dizi kullanırsam, buna göre belirteceğim

Neden ihtiyaç duyduğumdan daha fazla arabellek sayısını belirteyim, yani. ikiden fazla ?


Ve eğer eşleşirlerse, değiştirmeye gerek yok.