Hatalar, hatalar, sorular - sayfa 2794
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
Nedense, göstergem grafik nesneleri kaybetmeye başladı ve onları silmiyor. Sınıf yıkıcıda otomatik silme kullanıyorum. Ararım:
Sonuç olarak, yanlış alıyorum. GetLastError()'u çağırıyorum ve 4101 hatası alıyorum ("Yanlış grafik kimliği "). Diyelim ki... Kaldırılan grafik nesnesinin chartID'sini ChartID() işlevinin sonucuyla karşılaştırıyorum ve bunlar tamamen aynı. Nesnenin grafikten silinmemesinin nedeni ne olabilir ve nasıl atlanabilir?
Farklı bir şey denemeye karar verdi. Oluşturma sırasında tüm grafik nesnelerini listeye ekliyorum ve göstergeyi silerken bir döngü kullanarak tüm nesneleri siliyorum. Şimdi GetLastError() işlevi, ObjectDelete işlevini çağırdıktan sonra 4001 hatası veriyor ve bazı grafik nesneleri hala grafikte kalıyor.
Nedense, göstergem grafik nesneleri kaybetmeye başladı ve onları silmiyor. Sınıf yıkıcıda otomatik silme kullanıyorum. Ararım:
Sonuç olarak, yanlış alıyorum. GetLastError()'u çağırıyorum ve 4101 hatası alıyorum ("Yanlış grafik kimliği "). Diyelim ki... Kaldırılan grafik nesnesinin chartID'sini ChartID() işlevinin sonucuyla karşılaştırıyorum ve bunlar tamamen aynı. Nesnenin grafikten silinmemesinin nedeni ne olabilir ve nasıl atlanabilir?
Hatayı göstermek için eylemler.
1. Göstergeyi tablonun üzerine bırakın.
2. Göstergeyi tablodan çıkarın.
3. Ctrl+B'ye basın, ardından penceredeki "Tümünü listele" düğmesine basın ve silinmemiş nesneleri görün.
100.000'den 294'üm kaldı.
nBars giriş parametresinin değerini düşürürseniz, hata görünmez.
Güzel gün.
Uzun bir süre Windows 7'den 10'a geçişle lastik çektim, ancak bir hafta içinde yeniden yükledim.
Şimdi bir sorunum var, kendimin ve başkalarının göstergelerinin Expert Advisors demo sürümünü indiremiyorum,
İndirme düğmesine tıklıyorum ve hiçbir şey olmuyor, terminal açık ve kapalıyken denedim!?
MT4 terminali için indirmeye çalışıyorum, henüz MT5'i ziyaret etmedim.
Ne oluyor be?
Bu hatanın oluştuğu kaynağı yaptım:
Bir işaretçi silindiğinde ne olur?
Grafik nesnesini silmek için grafiklere bir komut var mı? ObjectDelete ile ilgili nota bakın
Elimde 100.000'den 294'ü kaldı.
nBars giriş parametresinin değerini düşürürseniz, hata görünmez.
Döngünün OnDeinit uygulaması için ayrılan süreden daha uzun sürmesi mümkün değil mi?
Sonuçta, örneğinizde tüm nesneler "trend" önekine sahiptir, neden bundan yararlanıp döngüden vazgeçmiyorsunuz?
Bir işaretçi silindiğinde ne olur?
Grafik nesnesini silmek için grafiklere bir komut var mı? ObjectDelete ile ilgili nota bakın
Bu notu kesinlikle daha önce düşünmüştüm. Ama sonra nedense bunun bir terminal hatası olduğuna karar verdim. Bunun için özür dilerim. Benim hatam olduğu ortaya çıktı.
Ama bu durumda ne yapacağımı bilmiyorum. ObjectDelete'i ve ardından ObjectFind'i çağırın ve nesnenin gerçekten silinip silinmediğini öğrenmek için tamamlanmasını bekleyin. Aynı nota göre, bu çok zaman alıcıdır. Ve tekrarlanan silmenin işe yarayıp yaramayacağını bilmiyorum (göstergemde, arka arkaya iki kez ObjectDelete'i aramaya çalıştım ve boşuna). Ve göstergelerdeki Uyku işlevi, çizelgeye her bir nesneyi kaldırması için biraz zaman vermek için çalışmaz. Belki bir yerlerde bunun nasıl aşılacağına dair örnekler vardır?
Döngünün OnDeinit uygulaması için ayrılan süreden daha uzun sürmesi mümkün değil mi?
Sonuçta, örneğinizde, tüm nesneler "trend" önekine sahiptir, neden bundan yararlanıp döngüden vazgeçmiyorsunuz?
Bu sadece bir örnek. Üzerinde çalıştığım göstergede isimler oldukça karmaşık. Ve sadece gösteri için bir örnek yaptım.
Bu notu kesinlikle daha önce düşünmüştüm. Ama sonra nedense bunun bir terminal hatası olduğuna karar verdim. Bunun için özür dilerim. Benim hatam olduğu ortaya çıktı.
Ama bu durumda ne yapacağımı bilmiyorum. ObjectDelete'i ve ardından ObjectFind'i çağırın ve nesnenin gerçekten silinip silinmediğini öğrenmek için tamamlanmasını bekleyin. Aynı nota göre, bu çok zaman alıcıdır. Ve tekrarlanan silmenin işe yarayıp yaramayacağını bilmiyorum (göstergemde, arka arkaya iki kez ObjectDelete'i aramaya çalıştım ve boşuna). Ve göstergelerdeki Uyku işlevi, çizelgeye her bir nesneyi kaldırması için biraz zaman vermek için çalışmaz. Belki bir yerlerde bunun nasıl aşılacağına dair örnekler vardır?
Bence listedeki tüm işaretçileri ekleyin. Terminal alt sisteminin kendisi, CArrayObj listesinde bulunan işaretçiler gibi nesneleri siler.
Terminal tamamlandıktan sonra, grafikteki nesneler göstergeden sonra kalır. Ve terminali tekrar başlattığımda bu nesneler görünüyor ve tüm görünümü bozuyor.
Terminal tamamlandıktan sonra, grafikteki nesneler göstergeden sonra kalır. Ve terminali tekrar başlattığımda bu nesneler görünüyor ve tüm görünümü bozuyor.