Servis masası. Şikayetler, öneriler. - sayfa 7

 
Ilya Malev :
Sorununuzu göstergede zaten MT5'te karşıladım, bir OnTimer döngüsünden çıkmadan, başka bir sembol/dönemdeki zaman dizilerini kontrol ediyorum (mevcut olan değil) - işlev, oluşturulduğunu ve doğru sayıda çubuk verdiğini söylüyor. Bundan hemen sonra, başka bir gösterge oluşturma işlevi çağırıyorum - içinde, zaten aynı OnTimer çağrısından ayrılmadan çağrıldı, zaman serisi boşaltmayı başarıyor ve SeriesInfoInteger zaten sıfırları döndürüyor. Her şeyin keneler alınmadan kendi kendine inşa edilmesi için ek bir döngüsel kontrol oluşturmam gerekiyordu.

MT5 terminalinin yapısı nedir? Mikhail, MT5'te 1200 derlemesinde her şeyin yolunda olması gerektiğini yazdı:

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

Servis masası. Şikayetler, öneriler.

Mihail , 2015.10.29 17:46

Uzun zaman önce göstergelerdeki verilerle ilgili sorunu dile getirdim!

https://www.mql5.com/ru/forum/42180

Sorunun çözüleceğinden emindim.

Bu, 1200 için sürüm notlarında bile yazılmıştır.

17. Terminal: MQL5 programlarından düzenli veri erişimlerine rağmen geçmiş verilerin kullanılmamış olarak boşaltılmasına neden olan bir hata düzeltildi.

Ve yapı yeniyse, ancak hata devam ederse, kanıtla birlikte hizmet masasına gidin!

 
Alexey Kozitsyn :

MT5 terminalinin yapısı nedir? Mikhail, MT5'te 1200 derlemesinde her şeyin yolunda olması gerektiğini yazdı:

Ve yapı yeniyse, ancak hata devam ederse, kanıtla birlikte hizmet masasına gidin!

Yapı aynı 1200/64. Hatayı yeniden oluşturmak için, masaya gönderemediğim oldukça karmaşık bir üründe yaşadığım durumu simüle etmem gerekiyor. İşten biraz boş zaman bulduğumda bununla ilgileneceğim.
 

İlk cevapta Topikstarter'a, konu başlatan kişinin görmezden geldiği sorunu hakkında tavsiyeler verildi.

Stanislav Starikov | 10.29 12:41

Bir başkasının sembol periyodundan güncel veriler elde edebilmek için bu verilere her 10 saniyede bir defadan daha sık erişmek gerekir. Veya örneğin iTime kullanarak Expert Advisor'dan bu verilere erişin (daha sonra verilere en az 3 dakikada bir erişebilirsiniz)


Topicstarter bu tavsiyeyi açıkça gördü, çünkü burada sunduğu göstergesi kodu yorumladı

         //if( bars_count == 0 || firstDate == 0 || serv_firstDate == 0 )
         //     {
         //      Print( "Подкачка iTime()" );
         //      datetime tm = iTime( _Symbol, period, 0 );
         //     }

OnInit'e ve OnCalculate'in başına koşulsuz bir iTime (_Symbol, nokta, 0) çağrısı eklerseniz, yukarıda açıklanan hiçbir sorun olmayacaktır.

SeriesInfoInteger, veri sayfalamaya neden olmadan zaten var olan bilgileri toplar ve bu mantıklıdır.

 
Slawa :

İlk cevapta Topikstarter'a, konu başlatan kişinin görmezden geldiği sorunu hakkında tavsiyeler verildi.

Stanislav Starikov | 10.29 12:41

Bir başkasının sembol periyodundan güncel veriler elde edebilmek için bu verilere her 10 saniyede bir defadan daha sık erişmek gerekir. Veya örneğin iTime kullanarak Expert Advisor'dan bu verilere erişin (daha sonra verilere en az 3 dakikada bir erişebilirsiniz)


Topicstarter bu tavsiyeyi açıkça gördü, çünkü burada sunduğu göstergesi kodu yorumladı

OnInit'e ve OnCalculate'in başına koşulsuz bir iTime (_Symbol, nokta, 0) çağrısı eklerseniz, yukarıda açıklanan hiçbir sorun olmayacaktır.

SeriesInfoInteger, veri sayfalamaya neden olmadan zaten var olan bilgileri toplar ve bu mantıklıdır.

Vyacheslav, şimdi kime hitap ediyorsun? Bana göre? Yoksa İlya mı?

İlya ise, o zaten mql5 hakkında konuşuyorsa, lütfen cevaplamadan önce dikkatlice okuyunuz. Detayları anlamadan cevap vermekte acele ettiğinizi defalarca söyledim.

Tavsiyenizi gördüm, yorumlanan kod bunu onaylıyor, teşekkürler, yardımcı oldu. Renat, agresif veri boşaltmanın düzeltileceğini söylediğinden, mql4'ü daha fazla tartışmaya değmez.

Ama mql5'te de aynı durum devam ediyorsa build 1200'den itibaren düzeltilmesi gerekmesine rağmen ne yapılmalı?

Ve bir kez daha, siz (geliştiriciler) mql4'te hiçbir şeyi değiştirmezseniz, belgelere SeriesInfoInteger()' in yalnızca mevcut bilgileri topladığını ekleyin ve hepsi bu kadar! Tüm sorular kaybolacak, yoksa belgelere burnunuzu sokabilirsiniz!

 
Alexey Kozitsyn :

Vyacheslav, şimdi kime hitap ediyorsun? Bana göre? Yoksa İlya'ya mı?

iTime'dan bahsedildiğinden, açıkça MT4 ile ilgili. Henüz bana cevap verecek belirli bir kod örneği vermedim.
 
Ilya Malev :
iTime'dan bahsedildiğinden, açıkça MT4 ile ilgili. Henüz bana cevap verecek belirli bir kod örneği vermedim.
Bunu anladım, ama büyük olasılıkla size döndüler. Ama mql5'te bir hata hakkında yazdınız.
 
Alexey Kozitsyn :
Bunu anladım, ama büyük olasılıkla size döndüler. Ama mql5'te bir hata hakkında yazdınız.
konu açıcı değilim :)
 
Ilya Malev :
konu açıcı değilim :)
Evet, ancak gönderi size Vyacheslav'a göre neyi yakalamadığımın bir açıklaması gibi görünüyordu.
 
Alexey Kozitsyn :
Evet, ancak gönderi size Vyacheslav'a göre neyi yakalamadığımın bir açıklaması gibi görünüyordu.

Ve bence bu seninle iletişim kurmanın bir yolu :)

Sorunuma geri döneceğim ve bir doğrulama kodu sağlayacağım. Yapı 1210'da bir şey düzeltilmediği sürece. Döngüsel bir kontrol yapıp yola devam ederken, durmak boşuna değil.

 
Ilya Malev :
Ardından, deneylerinizin sonucunu MT4'te geçmişle yazın.

Sıfırdan geçmişi indirmeye yönelik deneyler başlattı. Onlar. Karakterdeki tüm geçmişi siliyorum ve terminali başlatıyorum. Terminal ayarı maks. penceredeki çubuklar = 5000.

MT5'te "Veriye erişimin organizasyonu" komut dosyasına benzer bir şey kullanırsanız, geçmişin maksimum çubuk sayısına veya sunucudaki son tarihe kadar yüklendiğini görebilirsiniz.

MT4'te benzer bir şema kullanılarak veriler yüklenmez. Onlar. Başlangıçta 2050'de bir yerde mevcut olacak ve daha fazla geçmiş elde etmek için grafiği geçmişin derinliklerine kaydırmanız gerekiyor.

Ayrıca bir özelliği fark ettim. Kaydırırken, yeni çubuklar yüklenirse, prev_calculated 0'a sıfırlanır ("Yenile" düğmesi gibi çalışır).

Sevgili geliştiriciler. Grafiği kaydırmadan geçmişi indirmenin bir yolu varsa lütfen yorum yapın (MT4!).