Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 159
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
Lütfen bana söyle.
Göstergede, örneğin dizideki sıra. close[], ArraySetAsSeries() tarafından bir kez mi yoksa başka bir şekilde mi ayarlandı?
Bu OnCalculate() içinde mi yapılıyor yoksa OnInit() içinde mi yapılabilir?
Garip bir durumla karşılaştım:
İlk tıklamada girişte AS_SERIES tarafından belirlenen yakın[] sıralaması, bir sonraki tıklamada kendiliğinden normale döner, yani. !AS_SERİSİ.
Kodda neyle bağlantılı olduğunu bulamadım.
skaler &arr[] alan herhangi bir işlevde dizi indeksleme yönünden %100 emin olamazsınız :-(
dahası, içindeki "serileştirmeyi" değiştirirseniz, işlevinizi tamamladıktan sonra bu yön kalacaktır.. bu, kimsenin beklemediği bir yan etki olarak ortaya çıkacaktır.
bu nedenle, ne yazık ki, işlevin girişinde bir dizi alırken, diziselliğini unutmayın, sizin için uygun bir diziye ayarlayın ve işlevden herhangi bir çıkışta, DAİMA orijinali geri döndürün
OnCalculate ile bu nadir bir durumdur, ancak pratikte başka kodlardan da çağrıldığı görülmüştür.
ayrıca içindeki "serileştirmeyi" değiştirirseniz, işlevinizi tamamladıktan sonra bu yön kalacaktır..
Bu tam olarak güvendiğim şeydi. Bu nedenle, ilk girişte yalnızca bir kez yürütülen bir bloğa ArraySetAsSeries'i (kapat, doğru) OnCalculate() içine koydum. Ve bu "serileştirme" gerçekten kuruldu. Ancak, benim için sürpriz, ikinci tikte ve sonrasında "dizi" zaten tam tersiydi.
OnCalculate ile bu nadir bir durumdur, ancak pratikte başka kodlardan da çağrıldığı görülmüştür.
Böyle egzotiklere sahip değilim ve ayrıca program içindeki zaman serilerinin ve arabellek dizilerinin "seri hale getirilmesini" değiştirmiyorum. Bu nedenle, göstergenin başında bir kez ayarlamam yeterli olacaktır. Ancak, bu dizilerin "seri hale getirilmesinin" korunduğundan emin olamıyorsanız, bunu her OnCalculate() döngüsünün başında ayarlamanız gerekir. Tamamen doğal olmayan bir şey gibi görünüyor.
Derleme zamanında bir uyarı oluşturmak güzel olurdu.
Eski zamanlardan beri hiçbir şey değişmediyse, NULL != "" Birçok kişi buna çoktan rastladı.
Eski zamanlardan beri hiçbir şey değişmediyse, NULL != "" Birçok kişi buna çoktan rastladı.
Başka bir şeyle ilgili.
Başka bir şeyle ilgili.
O zaman neden olmadığını açıkla. Niye ya
belki bir
olamaz.
O zaman neden olmadığını açıkla.
Aşağıdaki komut dosyası bunu göstermektedir.
Aşağıdaki komut dosyası bunu göstermektedir.
Gösterseydim, soru kalmazdı. Her zaman etrafınızdaki herkesin düşüncelerinizi okuması veya programlama konusunda sizden daha hazırlıklı olması gerektiğini düşünüyorsunuz.
Gösterseydim, soru kalmazdı. Her zaman etrafınızdaki herkesin düşüncelerinizi okuması veya programlama konusunda sizden daha hazırlıklı olması gerektiğini düşünüyorsunuz.
Böyle bir tepkinin nedenlerini anlamıyorum. Kısa kod, özelliği %100 gösterir.
Böyle bir tepkinin nedenlerini anlamıyorum. Kısa kod, özelliği %100 gösterir.
Normal reaksiyon. Kodlarınızı anlamıyorum, açıklama istedim ama cevaben...
NULL, dikkatle ele alınması gereken bir belirsizliktir. Özellikle dize değişkenlerine uygulandığında.
Belgelerden
Bu nedenle, bu örnekte NULL , dizenin uzunluğunun sıfır olduğu değil, değişkenin başlatılmadığı anlamına gelir.
senin örneğinde
değişken başlatılır. Benim için net olmayan ve anlama arzusu yok.
Buradan
değişkenin başlatıldığını gösterir. Yine, büyük soru nedir. NULL'a başlatmanın neden imkansız olduğunu düşündünüz?
Görünüşe göre, böyle bir başlatma, dizenin uzunluğunun sıfır olduğu gerçeğine yol açar, bu kontrolün söylediği şey budur.