Hatalar, hatalar, sorular - sayfa 2021
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
Bir hatanın çoğaltılması
sonuç
Tekrar başlat
Onlar. SYMBOL_TRADE_TICK_VALUE , Sleep() yapılmadığı sürece ilk çalıştırmada sıfır döndürür;
Tehdit Piyasa İzleme'de görünmez bir sembol konusunda. Komut dosyası başlatma adımından önce USDJPY grafiğini açmaya çalışırsanız (Enter'a basın ve "USDJPY" girin), hiçbir şey çalışmayacaktır. Ve betiği çalıştırdıktan sonra - işe yarayacak. Piyasaya Genel Bakış değişmemiş olsa da.
Bir hatanın çoğaltılması
sonuç
Tekrar başlat
Onlar. SYMBOL_TRADE_TICK_VALUE , Sleep() yapılmadığı sürece ilk çalıştırmada sıfır döndürür;
Tehdit Piyasa İzleme'de görünmez bir sembol konusunda. Komut dosyası başlatma adımından önce USDJPY grafiğini açmaya çalışırsanız (Enter'a basın ve "USDJPY" girin), hiçbir şey çalışmayacaktır. Ve betiği çalıştırdıktan sonra - işe yarayacak. Piyasaya Genel Bakış değişmemiş olsa da.
Bu döngüyü betiğin başına ekleyin
Ve kaç karakter yazdırılacağını görün.
İlk başlangıçta, AUDJPY'ye erişim, piyasaya genel bakışa yalnızca AUDUSD ve USDJPY ekler ve yalnızca bu çiftler aracılığıyla ikinci erişimde sembol özelliğini alır. Benim durumumda OrderCalcMargin ile ilgili soruna neden olan şey budur.
Bu konuda defalarca yazıldı. Nedense çalışmıyorlar.
Herkese merhaba!
Lütfen yeni başlayan birine yardım edin.
Maksimum fiyatı arama işlevi yürütülmüştür. BAR NUMARASI'nı belirli bir maksimum fiyatla hesaplamak ve koda geri döndürmek nasıl mümkün olabilir?
Bu döngüyü betiğin başına ekleyin
Ve kaç karakter yazdırılacağını görün.
İlk başlangıçta, AUDJPY'ye erişim, piyasaya genel bakışa yalnızca AUDUSD ve USDJPY ekler ve yalnızca bu çiftler aracılığıyla ikinci erişimde sembol özelliğini alır. Benim durumumda OrderCalcMargin ile ilgili soruna neden olan şey budur.
Sanırım bununla nasıl başa çıkacaklarına karar verecekler.
Servis masasından yanıt geldi. Tamir edecekler.
Teşekkür ederim.
"Etrafında" olan hatayla ilgili olarak OrderCalcMargin() , SD'de bir Başvuru yaptı
MQL4/5 yardımında doğrudan bir çelişki olduğunda emin olmak zordur:
... Unutulmamalıdır ki , parametreler fonksiyona geriye doğru iletilir , yani en son parametre ilk önce hesaplanıp iletilir, ardından sondan bir önceki parametre vb . Açılan parantezden sonra ilk gelen parametre değerlendirilir ve sırayla en son geçer.
... x1,..., xn ifadelerinin yürütme sırasının garanti edildiğine dikkat edin .
Çelişki nedir? Öne geri - ve hepsi bu. Aksi bir açıklama yok.
- Bu iki öneri ayrı yardım konularındadır.
Bölümü okuduğunuzda
"x1, x2,..., xn bağımsız değişkenleriyle bir işlevi çağırma"
x1,.....,xn ifadelerinin uygulama sırası garantilidir , o zaman hangi sırayı düşünüyorsunuz?
x1,...,xn sırası hakkında mı yoksa xn,....,x1 sırası hakkında mı?
- Bu iki öneri ayrı yardım konularındadır.
Bölümü okuduğunuzda
"x1, x2,..., xn bağımsız değişkenleriyle bir işlevi çağırma"
x1,.....,xn ifadelerinin uygulama sırası garantilidir , o zaman hangi sırayı düşünüyorsunuz?
x1,...,xn sırası hakkında mı yoksa xn,....,x1 sırası hakkında mı?
Evet, haklısın, kafa karıştırıcı.
Bununla birlikte, her durumda, algoritmanızın mantığını belirli bir argüman geçişi sırasına koymanın kötü bir uygulama olduğuna inanıyorum. Özellikle bu hesaplamaların sağdan sola yapılması kodun anlaşılmasını karıştırmaktadır. Bu nedenle, bunu uygularsanız, yalnızca yazdırma gibi kritik olmayan bazı yerlerde.
Print() içinde ifadelerin değerlendirilme sırası sağdan soladır. Öyle görünüyor ki ... Şimdilik ... Ben de önceden kontrol ettim :)
MQL5 Referansı \ Dil Temelleri \ İşlemler ve ifadeler \Diğer işlemler
x1, x2,..., xn argümanlarıyla bir fonksiyon çağırma
x1,..., xn ifadelerinin yürütme sırasının garanti edildiğine dikkat edin.
Bu, C++ satır içi anahtar sözcüğünün kullanışlılığını bir kez daha kanıtlıyor (burada eski olduğu iddia edilen bir görüş vardı).
Diğer şeylerin yanı sıra, satır içi aslında programcının işlev parametrelerinin değerlendirme sırasını kullanmayı reddettiği anlamına gelir ve derleyici işlevi satır içi yapmaya karar verirse, derleyici doğrudan değerlendirme sırasını daha verimli olarak kullanabilir (tersi değerlendirme açıkça yalnızca çağrılan işlevler için etkilidir).
Aynı zamanda, derleyici satır içi olmayan bir işlevi satır içi yapmaya karar verirse, bu, verimlilik kaybına yol açsa bile (genel) ters değerlendirme sırasını kullanmalıdır (çünkü programcı, bildirimde bulunmadan bu sıraya güvenmiştir). işlev satır içi)
değerlendirme sırasının açıkça kontrol edilemediği MQL'de satır içi de uygun olacaktır.