"MQL5 Tarif Defteri Gösterge Alt Pencere Kontrolleri - Düğmeler" makalesi için tartışma - sayfa 6
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
Her saniye olması gerekmiyor, orada başka bir olayda bir alternatif var (zaten tartışıldı). Lütfen bana burada nasıl yaptığıma dair bir örnek verin. ) Uzman Danışmanın bu olaya ihtiyacı olması, ancak göstergenin olmaması koşulundan. Bu şekilde daha net olacak.
Not : Düzeltme. Bir hata yaptım. )) Sizin varyantınız daha doğru değil. Hiç uymuyor. Bu nedenle, yukarıdaki koşula dayalı bir örnek vermek daha iyidir.
Gösterge bu olaya ihtiyaç duymazsa, basitçe işlemez. Ayrıca, Uzman Danışman ihtiyaç duymadığı olayları devre dışı bırakmamalıdır. Onları açabilir, ancak kapatamaz. Çünkü penceresinden hangi olayların geçtiği ve bunlara kimin ihtiyaç duyabileceği onu ilgilendirmez.
Gösterge bu olaya ihtiyaç duymuyorsa, basitçe işleme koymaz. Ayrıca, Uzman Danışman ihtiyaç duymadığı olayları devre dışı bırakmamalıdır. Onları açabilir, ancak kapatamaz. Çünkü penceresinden hangi olayların geçtiği ve bunlara kimin ihtiyaç duyabileceği onu ilgilendirmez.
Mesele şu ki, bu olay işlenmeyebilir (sadece unutabilirsiniz). Ancak bu, OnChartEvent() işlevindeki olay kuyruğunun belirli bir anda ihtiyaç duyulmayan şeylerle dolmayacağı anlamına gelmez.
Bu da dakikada binlerce gereksiz olay anlamına gelir. Peki ya grafikte birkaç program varsa? Bir argüman değil mi?
Bir olayın etkin olup olmadığını görmek için her saniye bir kontrol yaparsanız ve şu anda etkin değilse ancak gerekliyse etkinleştirirseniz çok daha az kaynak israf edilir. Bu da bir argüman değil mi? O zaman kendi yönteminizle yapın.
Daha fazla argümanım yok. ) Fikrimi değiştirecek bir şey duymadığım için fikrimin arkasında duracağım.
Güzel. O zaman bu olayın onu etkinleştiren program tarafından devre dışı bırakılmasına gerek olmadığını düşünenlere bir sorum var.
Neden? )
Yani:
1. Neden ihtiyaç duyulmayan bir şeyi (dakikada binlerce olay) bırakalım?
2. (başka bir formülasyonda) Daha az harcamak varken neden daha fazla kaynak harcayasınız?
"Eğer bir olaya ihtiyaç duyulmuyorsa, onu işleme koymayın" gibi seçenekler şahsen hiç hoşuma gitmiyor. Birini devre dışı bırakamazsanız, diğerini de devre dışı bırakamazsınız ve bundan ne elde edeceksiniz?
Makalenin sayın yazarı, "yeni başlayanlara" savaşmaya ve öğretmeye çalıştığınız ürünlerinizin iç çelişkilerini açıklamamak için boşuna uğraşıyorsunuz.
Böylece yazar, göstergesinin doğru çalışmasını bozabilecek kaygan anları göstermiştir. Harika, şimdi "yeni başlayanlar" için şu açıktır:
1. Neden ihtiyaç duyulmayanı bırakalım (dakikada binlerce olay) ?
2. (başka bir formülasyonda) Daha az harcamak varken neden daha fazla kaynak harcayalım?
"Eğer bir olaya ihtiyaç duyulmuyorsa, onu işleme koymayın" gibi seçenekler şahsen hiç hoşuma gitmiyor. Birini devre dışı bırakamazsınız, diğerini de devre dışı bırakamazsınız ve bundan ne elde edeceksiniz?
Tamamen kontrollü bir kod elde edeceksiniz.
Performansı vurguluyorsunuz, ancak bu etkinleştirilmiş olayla çok düşüyor mu? Bu soruyu cevaplamak için, bu olayı test eden basit bir Uzman Danışmanı özel olarak yazdım. Farklı kombinasyonları test ettikten sonra aşağıdaki tabloyu elde ettim:
Gördüğünüz gibi, gerçek yük yalnızca bu olayın gerçek işlenmesi gerçekleştiğinde artar. CPU yüküne göre değerlendirildiğinde, MetaTrader'ın bu olaya aboneliğin etkin olup olmadığına bakılmaksızın fare konumunu izlemesi dikkat çekicidir. Genel olarak, varsayımsal kaynaklardan tasarruf etmenin anlamsız olduğu ortaya çıkıyor, çünkü fare izleme yine de gerçekleştirilecek.
Uzman Danışman kodunu test edin:
1. Yığında bir olayın kaçırılması durumunu her zaman göz önünde bulundurmalısınız. Bir olayın kaçırılması durumunda kritik bir şey olabilirse, bu çok kötüdür.
2. Grafiği kendinize uyacak şekilde özelleştirmek kötüdür. Bu, sihirbaz olmadan otomatik bir ticaret makinesiyle ticaret yapmakla aynı şeydir.
Makalenin sayın yazarı, "yeni başlayanlara" savaşmaya ve öğretmeye çalıştığınız ürünlerinizin iç çelişkilerini açıklamamak için boşuna uğraşıyorsunuz.
Böylece yazar, göstergesinin doğru çalışmasını bozabilecek kaygan anları göstermiştir. Harika, şimdi bir "acemi" için açık ki:
...
Kendinize olan güveninizi haklı çıkarmak için 20 kural daha bulabilir ve sonra kesinlikle kafanızı karıştıracak ve yeni başlayanlara "yardım" edeceksiniz. Bu durumda çelişkiler ve yanlış anlamalar tarafınızdan gözlemlenmiştir. )
Tam kontrollü bir kod alacaksınız.
...
Siz kontrol ettiğinizde kontrol edilecektir. Bu durumda, her şeyin kontrol edilmemesini, yani şu anda gerekli olmayan ve çok sık yeniden üretilebilecek bir olayı bırakmayı öneriyorsunuz. Basit örneklerde bu fark edilmeyebilir. Belki de daha karmaşık programlarda gerekli olmayan her şeyi devre dışı bırakma ihtiyacını göreceksiniz.
1. Yığında bir olayın kaçırılması durumunu her zaman göz önünde bulundurmalısınız. Bir olayın kaçırılması durumunda kritik bir şey olabilirse, bu çok kötüdür.
...
tol64:
Affedersiniz, sizi başka bir eğitim veya tarif yazmaktan alıkoyuyor olabilir miyim?
Değilse, gösterge alt penceresindeki kontrol hakkındaki makalenizi tartışmaya devam edelim. Yani, bir göstergede nasıl kullanışlı bir menü yapılacağına dair toplu bir çözüm (veya bir fikir) sunuyorsunuz. Güzel, makalenin amacı çok değerli! Ancak "yeni başlayan" bir programcı tüm bu cephaneliği nasıl kullanabilir? Özel fonksiyonlar nereye yerleştirilir? Örnekle gösterin. Ve aynı zamanda, örneğin 5 düğme kullanmak için kodda neleri düzeltmeniz gerektiğini açıklayın? Bunu bir acemi sorusu olarak düşünün.
Olay kuyruğu taştığında olduğu gibi mi?