Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Geliştiriciler, bir yerde %100 hatanız var.
Terminali kapatıp 1 dakika sonra açtıktan sonra Comment'in verdiği ekran görüntüsüne bir göz atın.
Başlatılan öğelerin sayısı ve arabelleğin birinci, ikinci, üçüncü ve dördüncü öğelerinin boş olması.
Gösterge yalnızca 0. arabelleği sayar. Peki neden 2 mum?
Geliştiriciler, bir yerde %100 hatanız var.
Terminali kapatıp 1 dakika sonra açtıktan sonra Comment'in verdiği ekran görüntüsüne bir göz atın.
Başlatılan öğelerin sayısı ve arabelleğin birinci, ikinci, üçüncü ve dördüncü öğelerinin boş olması.
Gösterge yalnızca 0. arabelleği sayar. Peki neden 2 mum?
Çünkü yeni bir çubuk için analiz yaparken çubuk sayısını kontrol etmezsiniz, sadece zamanı kontrol etmekle kendinizi sınırlandırırsınız. İşlem sırasında terminal başladığında veya sunucu ile bağlantı kesildiğinde, eksik (tam geçmişe kadar) çubuklar gelmeden önce bir onay işareti gelir. Bu tik için yeni bir mum oluşturulur ancak onunla terminaldeki sunucudan indirilecek ve yerine yerleştirilecek olan geçmiş arasında bir boşluk (eksik geçmiş) vardır ve çubuk sayısını analiz etmediğiniz için, bir sonraki hesaplamada yeni bir çubuk olduğunu düşüneceksiniz hayır, o zaman ikinci mum belirir. Yeni bir çubuğun açılmasından sonra kaybolacaktır.
Ve kesin olarak , terminal kapatıldığında sıfırlamanın gerçekleşmesi önemli değil mi?
Vasily , çubuk sayısını yazdıran bir test göstergesi sürün.
İşte günlüğe yazdırılan şey.
Belki sorunun nerede olduğunu bulabilirsin...
Geliştiricilerden basit bir cevaba cevap vermelerini istiyorum.
Terminal kapatıldığında çizelgeye eklenen programlarda DeInit() işlevi yürütülüyor mu?
Kesin konuşmak gerekirse, hayır
OnDeinit yürütülür. DeInit yalnızca, onu OnDeinit'ten açıkça çağırırsanız yürütülür.
Eski tanımlama işlevinden bahsediyorsanız, işlev adlarının büyük/küçük harfe duyarlı olduğunu da unutmayın. Yani, DeInit bilinmeyen bir fonksiyondur, deinit başlangıçsızlaştırma için standart bir giriş noktasıdır (OnDeinit gibi)
Ve kesin olarak, terminal kapatıldığında sıfırlamanın gerçekleşmesi önemli değil mi?
Kimin umrunda? Terminal kapatıldığında, kimsenin bu arabelleklere ihtiyacı yoktur, çünkü program yüklendiğinde hemen serbest bırakılırlar, bu da OnDeinit'ten hemen sonra gerçekleşir.
Sadece zaman çerçevesini değiştirmeyi deneyin. OnDeinit çalışacak, arabellekler kalacak (bu durumda program boşaltılmadığından), ancak hiç kimse içeriklerini "geçmiş yaşamdan" garanti edemez.
Sonunda belgeleri okuyun! https://docs.mql4.com/ru/runtime/running ve https://docs.mql4.com/ru/runtime/event_fire#deinit
Kimin umrunda? Terminal kapatıldığında, kimsenin bu arabelleklere ihtiyacı yoktur, çünkü program yüklendiğinde hemen serbest bırakılırlar, bu da OnDeinit'ten hemen sonra gerçekleşir.
Sadece zaman çerçevesini değiştirmeyi deneyin. OnDeinit çalışacak, arabellekler kalacak (bu durumda program boşaltılmadığından), ancak hiç kimse içeriklerini "geçmiş yaşamdan" garanti edemez.
Sonunda belgeleri okuyun! https://docs.mql4.com/ru/runtime/running ve https://docs.mql4.com/ru/runtime/event_fire#deinit
Yani, benim durumumda, grafik yeniden açıldığında arabelleklerin bölünmesi zaten gerçekleşiyor mu?
Tampon bölmeniz yok.
Kendi arabelleğinizi bu şekilde doldurursunuz. İlk kez oluşturmada, ikinci kez verinin bir bölümünün gelişinde. Her iki seferde de aynı Time[0] değerinde çalışıyorsunuz
Tampon bölmeniz yok.
Kendi arabelleğinizi bu şekilde doldurursunuz. İlk kez oluşturmada, ikinci kez verinin bir bölümünün gelişinde. Her iki seferde de aynı Time[0] değerinde çalışıyorsunuz
TAMAM.
Sonra İngilizce yardımını düzeltin ve hepsi bu
ArrayInitialize'ın hiçbir şey döndürmediği İngilizce yardımda da yazılmıştır .