MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 589
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
1. Kontrol edin dedim, değiştirmeyin. Fraktal yoksa iFractals 0 döndürür. Düzenli olarak kullanmıyorum ve doğal olarak kurumamış hafızayı bu tür önemsiz şeylerle tıkamıyorum.
2. İşlev, çok kötü yazılmış olmasına rağmen, hala düzgün çalışıyor.
3. Son değer Yorum'da görüntülenir. Değişmek
ve kaç kez basılacağını görünPek çok, ama asla yalan değil. Sanki koşul her zaman karşılanıyormuş gibi. Ama yalan olmalı.
Pek çok, ama asla yalan değil. Sanki koşul her zaman karşılanıyormuş gibi. Ama yanlış olmalı, ekranda durum şarta aykırı ama doğru.
İlk fraktal ve ikincisi ekranda işaretlenir. Ancak koşula göre, işlev birinciden daha düşük olanı bulana kadar daha fazla arar. Ve dördüncü fraktal birinciden daha düşük... Durumda yazan şey bu.
Koşul tamamlanırsa
Bu da yanlış yazdıracaktır.
İlk fraktal ve ikincisi ekranda işaretlenir. Ancak koşula göre, işlev birinciden daha düşük olanı bulana kadar daha fazla arar. Ve dördüncü fraktal birinciden daha düşük... Durumda yazan şey bu.
Koşul tamamlanırsa
Bu da yanlış yazdıracaktır.
Yanlış yazdırır, ancak koşul karşılanır.
İkinci döngü her zaman ilk döngüde bulunan fraktalın fiyatını verir.
İkinci döngü her zaman ilk döngüde bulunan fraktalın fiyatını verir.
Bence mantıkla ilgili bir problemin var.
Arama sırasını basit kelimelerle açıklamaya çalışın. Yazdığınız her şeyin doğru olup olmadığını düşünün. Ve ancak o zaman, sıra numarasıyla bulunan fraktalın fiyatını döndürecek bir arama işlevi yapın. Bir kez yaptığınızda, seri numarası ile belirtilen fraktalın doğru fiyatını döndürür, bu nedenle arka arkaya bir sonraki fraktalın fiyatını bulmak için mantık oluşturmaya başlayın (o anda fiyatını döndüren bir işleve zaten sahip olacaksınız). ). Ve sonra sadece bu fiyatları karşılaştırmak için kalır.
Ve hepiniz aynı anda bir yığın çitin içindesiniz.
Belki nasıl çalıştığını yanlış anlıyorum?
İlk önce bir fraktal buluyorum, ilki MA'nın üzerinde - (1 numaralı ekranda işaretli),
ondan, tarihe bakıyorum, ilk karşılaştığım fraktal (ekranda 2 numara ile işaretlenmiş). Fraktal #2, fraktal #1'den büyükse, true değerini döndürürüm.
Her şey yolunda mı?
sıra numarasıyla bulunan fraktalın fiyatını döndürür.
Sayıya göre değil, fraktalın MA'nın üzerinde olması koşulunu arıyorum, sıra sayısı herhangi bir şey olabilir. Bu fraktalin birinci çevrimdeki fiyatı "fr1" değişkenine doğru yazılmıştır.
Eğer doğru anladıysam sorun ikinci devrede. 2 numaralı fraktalın fiyatı neden bulunamıyor, belli değil
Sayıya göre değil, fraktalın MA'nın üzerinde olması koşulunu arıyorum, sıra sayısı herhangi bir şey olabilir. Bu fraktalin birinci çevrimdeki fiyatı "fr1" değişkenine doğru yazılmıştır.
Eğer doğru anladıysam sorun ikinci devrede. 2 numaralı fraktalın fiyatı neden bulunamıyor, belli değil
Tüm mantığı yeniden anlatmak zorundasın. Kendi başına düşünebileceğin bir şey var mı?
1. İlk döngüde, MA'nın üzerinde bir fraktal buluyoruz. num_bar değişkenine bar numarasını yazıyoruz (ekranda, bar No. 11)
2. İkinci döngüde, koşulu sağlayan ikinci fraktal aramaya başlarız. Aramaya num_bar... çubuğundan, yani 11 numaralı çubuktan başlıyoruz, çünkü nf sıfıra eşittir.
3. Fraktal bulundu. Değer öncekine eşittir. Koşul karşılanmayacak, çünkü koşulda o zaman > sonra < ama eşit değil. Ve eğer == koyarsanız, sadece diğer tarafta aynı çöp olacaktır.
Görünüşe göre, bir sonraki num_bar+1 veya hatta +2 çubuğundan ikinci fraktal aramanız gerekiyor.
Tüm mantığı yeniden anlatmak zorundasın. Kendi başına düşünebileceğin bir şey var mı?
1. İlk döngüde, MA'nın üzerinde bir fraktal buluyoruz. num_bar değişkenine çubuğun numarasını yazıyoruz (ekranda, bar No. 11)
2. İkinci döngüde, koşulu sağlayan ikinci fraktalı aramaya başlarız. Aramaya num_bar... çubuğundan, yani 11 numaralı çubuktan başlıyoruz, çünkü nf sıfıra eşittir.
3. Fraktal bulundu. Değer öncekine eşittir. Koşul karşılanmayacak, çünkü koşulda o zaman > sonra < ama eşit değil. Ve eğer == koyarsanız, sadece diğer tarafta aynı çöp olacaktır.
Görünüşe göre bir sonraki num_bar+1 veya hatta +2 çubuğundan ikinci fraktal aramak gerekiyor.
Genel olarak, ilk iki paragraftaki eylemleri dile getirdim)
"num_bar+1" için teşekkür ederiz.
Minimumu bulamıyor.
Koşul karşılanmadı, ok ayarlandı, ok ayarlanmadı.
Koşul şu ki, fiyat ile MA'nın kesişme noktaları arasında MA'yı geçen mumun dip noktasından iLowest low'a olan mesafe 100'den büyük veya ona eşitse, bir ok koyarım.
B'den A'ya, minimum C'yi buluyorum.
A-C=100 pip B noktasına bir ok koymalıdır.
Neden koymuyorsun?
Genel olarak, ilk iki paragraftaki eylemleri dile getirdim)
İkinci nokta biraz yanlıştı. Akıl yürütmenizde, nerede aramaya başladıklarının ve ne zaman hangi değeri elde ettiğimizin bir tanımı yoktu. Yani, biraz daha ileriye bakmanız gerektiği fikrini iten şey budur.
Minimumu bulamıyor.
Koşul karşılanmadı, ok ayarlandı, ok ayarlanmadı.
Koşul şu ki, fiyat ile MA'nın kesişme noktaları arasında MA'yı geçen mumun dip noktasından iLowest low'a olan mesafe 100'den büyük veya ona eşitse, bir ok koyarım.
B'den A'ya, minimum C'yi buluyorum.
A-C=100 pip B noktasına bir ok koymalıdır.
Neden koymuyorsun?
Bu kodda da bir şeyin mantığını yakalaması zor.
En azından, indexS1 ve indexS2 değişkenlerinin nerede ve nasıl bildirildiğini, her onayda sıfırlanıp sıfırlanmadıklarını bilmeniz gerekir.
MA bir boşluğa geçerse ne olur?
Ve bir soru daha: hata ayıklayıcıyı nasıl kullanacağınızı biliyor musunuz?