Lütfen bu işlevde neyin yanlış olduğunu açıklayabilir misiniz? - sayfa 7

 

Bu bağlantı diyor ki

Механизм обращения к серверу за данными не зависит от того, каким образом был инициирован запрос — пользователем при навигации по графику или программным способом на языке MQL5.


görünüşe göre bu daha eski verilerle ilgili ve en son, en yeni ??? enstrüman tablosu açık olduğu için mi elde edilmelidir? Ya da değil?

Farklı işlevlerle veri alırken fark nedir?

 
Slawa :
Veri erişiminin organizasyonu hakkındaki belgeleri tamamen okudunuz mu?

Slava, başvuruma baktın mı?

MQL5: hata #4806
Açıldı, Başladı: 2016.02.15 11:22, #1409574

Göstergelerin seğirmesi yoluyla önbelleğin bakımı çalışmıyor.

Ekli Expert Advisor'ı çalıştırın, bir süre sonra günlüklerde bir hata alırsınız.

 
Andrey Khatimlianskii :

Slava, başvuruma baktın mı?

Göstergelerin seğirmesi yoluyla önbelleğin bakımı çalışmıyor.

Ekli Expert Advisor'ı çalıştırın, bir süre sonra günlüklerde bir hata alırsınız.

Evet, baktım. Ancak orada danışman bulunamadı.

Danışmanımla kontrol ettim. Tekrar ediyorum: herhangi bir göstergenin tanıtıcısının varlığı (benim durumumda iMA), geçmiş önbelleğin boşaltılmasını engeller.

Uzman Danışmanınızı buraya (veya yukarıdaki uygulamada) gönderin - Farklı terminallerde başlatacağım. Göreceğiz

 
Alexey Viktorov :

Dmitry, bu garip değil mi? Yeni bir çubuk ortaya çıktı, ancak henüz saymayacağız.

Dinle, bu davranışın nedeni bu değil mi SeriesInfoInteger(_Symbol, PERIOD_D1, SERIES_LASTBAR_DATE ); ? Yeni bir çubuk belirdi, bir onay işareti var, kod yürütülüyor, ancak zaman henüz dikkate alınmadı ???

Zaman açısından, evet. Belirtilen sürenin üst sınırının aralık için geçerli olmadığı varsayılır. Ancak bu durumda uygunsuz - evet.

SeriesInfoInteger hakkında(_Symbol, PERIOD_D1, SERIES_LASTBAR_DATE ); Bilmiyorum, kullanmak zorunda değildim ve muhtemelen kullanmayacağım, eğer bar zamanı gerekliyse CopyTime() veya CopyRates() kullanacağım.

Geliştiricilerin iBarShift()'in bir benzerini yapmak, Bars()'ı biraz kesmek ve işe yarayacaktı.

 
Slawa :

Evet, baktım. Ancak orada danışman bulunamadı.

Danışmanımla kontrol ettim. Tekrar ediyorum: herhangi bir göstergenin tanıtıcısının varlığı (benim durumumda iMA), geçmiş önbelleğin boşaltılmasını engeller.

Uzman Danışmanınızı buraya (veya yukarıdaki uygulamada) gönderin - Farklı terminallerde başlatacağım. Göreceğiz

EA ilk mesaja eklenmiştir (zip, 58.91 KB). Herhangi bir yerde saklanan dosyalarınız var mı?

Her şeyin başladığı sürümü topladım ve ekledim. Denemek. Testlerin koşulları ve set dosyası aynı yerdedir.

 
Dmitry Fedoseev :

Zaman açısından, evet. Belirtilen sürenin üst sınırının aralık için geçerli olmadığı varsayılır. Ancak bu durumda uygunsuz - evet.

Pro SeriesInfoInteger(_Symbol, PERIOD_D1, SERIES_LASTBAR_DATE ); Bilmiyorum, kullanmak zorunda değildim ve muhtemelen kullanmayacağım, eğer bar zamanı gerekliyse CopyTime() veya CopyRates() kullanacağım.

Geliştiricilerin iBarShift()'in bir benzerini yapmak, Bars()'ı biraz kesmek ve işe yarayacaktı.

Diğer programlama dillerinde kabul ediliyor mu?

Pekala, aralığa üst sınırı getirmek o kadar da kötü değil. Rahatsızlık dediğin şeye, ben alışabileceğin ve programlarında kullanırken hesaba katabileceğin aptallık dedim.

Sadece fonksiyonun uygunsuz davranışını keşfettim, ancak onu aramanın başka bir yolu yok, bunu geliştiricilere açıklamaya çalıştım. Ama neler olduğunu anlamaya çalışmak yerine ... her şeyi ... sessizim. Kimsenin ihtiyacı yok.

Ayrıca bu işlevi kullanmayı çoktan bıraktım ve onu CopyRates() ile değiştirdim, sadece atalet nedeniyle açıklamaya devam ettim, muhtemelen kuzu konuyu yeniden adlandırdı, böylece bir ipucu istedim ve mql5'te bir sorun bildirmedim.

 
Andrey Khatimlianskii :

EA ilk mesaja eklenmiştir (zip, 58.91 KB). Herhangi bir yerde saklanan dosyalarınız var mı?

Her şeyin başladığı sürümü topladım ve ekledim. Denemek. Testlerin koşulları ve set dosyası aynı yerdedir.

Daha dün çalıştırdım. İlk mesajda uzmanın kaynak kodunun bulunduğu bir zip olduğu ortaya çıktı. onu kullanıyorum
 
Alexey Viktorov :

Sadece fonksiyonun uygunsuz davranışını keşfettim, ancak onu aramanın başka bir yolu yok, geliştiricilere açıklamaya çalıştım. Ama neler olduğunu anlamaya çalışmak yerine ... her şeyi ... sessizim. Kimsenin ihtiyacı yok.


İşlevin uygunsuz davranışını nerede görüyorsunuz? Belgeleri dikkatlice okudunuz mu?

SeriBilgiTamsayı

Geçmiş verilerin durumu hakkında bilgi verir.

Geçmiş verilerin durumu hakkında bilgi verir . Bilgileri güncellemez, veri sayfalamayı başlatmaz. Sadece şu anda ne olduğunu döndürür

 
Slawa :

İşlevin uygunsuz davranışını nerede görüyorsunuz? Belgeleri dikkatlice okudunuz mu?

Geçmiş verilerin durumu hakkında bilgi verir . Bilgileri güncellemez, veri sayfalamayı başlatmaz. Sadece şu anda ne olduğunu döndürür

https://www.mql5.com/en/forum/89213/page6#comment_2605980 linkini takip etmenizde sakınca yoksa her şey orada yazıyor.

SERIES_LASTBAR_DATE Nokta sembolüne göre son çubuğun açılma zamanı . Ve yeni bir çubuk göründüğünde, ancak işlev onu görüyor veya görmüyorsa , buna ne denir? Kültürel olarak konuşursak, "fonksiyonun KARARSIZ çalışması" ama sadece yetersiz davranış ...

İkincisi, SD'ye yaptığım başvuruya ilk cevaplarda saçmalık taşımaya gerek yoktu.

 
Alexey Viktorov :

SERIES_LASTBAR_DATE Nokta sembolüne göre son çubuğun açılma zamanı . Ve yeni bir çubuk göründüğünde, ancak işlev onu görüyor veya görmüyorsa , buna ne denir? Kültürel olarak konuşursak, "fonksiyonun KARARSIZ çalışması" ama sadece yetersiz davranış ...


Karşılık gelen geçmiş veriler zaman aşımı nedeniyle kaldırılmışsa , SeriesInfoInteger işlevi SERIES_LASTBAR_DATE sorgusu ile ne döndürmeli ?

Ve GetLastError()'un sonucunu kim kontrol edecek?

Servis masası biletiniz "garip if(condition) hatası" olarak adlandırılır. (Yoly-paly! ÇALIŞMAZSA!!!) Ve bu uygulamada saçmalık taşıyan sizdiniz. Orada her şeyi karıştırdın. Başvurunuzu daha sakin bir durumda, bir yabancının gözünden tekrar okuyun.

Ve baskınlara gerek yok - bu teknik bir forum ve argümanlar doğru şekilde hazırlanmalıdır.