[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 4

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
gülmüyor
ikiden biri:
- init() bölümünde değişken başlatma kullanıyorsunuz, orada tüm işlevler düzgün çalışmıyor
- belki de bazı değişkenleri başlatmadınız, değişkenleri tanımladıktan sonra en azından bazı değerleri başlatmak uzun süredir iyi bir programlama uygulaması olarak kabul ediliyor.
Not: neden ArrHigh[ i ] diziniz var, ancak ArrHigh[ 0 ] kullanılıyor?
Ve bir küçük soru daha.
Bu gönderiye rastladım:
Bu durumda işaret ve ne anlama geldiği dışında her şey açık görünüyor?
ikiden biri:
- init() bölümünde değişken başlatma kullanıyorsunuz, orada tüm işlevler düzgün çalışmıyor
- belki de bazı değişkenleri başlatmadınız, değişkenleri tanımladıktan sonra en azından bazı değerleri başlatmak uzun süredir iyi bir programlama uygulaması olarak kabul ediliyor.
Not: neden ArrHigh[ i ] diziniz var, ancak ArrHigh[ 0 ] kullanılıyor?
"... en azından bir değer" - 0 atandı.
"Neden ArrHigh[ i ] diziniz var, ama ArrHigh[ 0 ] kullanın"... Sonuç şudur.
Kodda daha sonra çalışacağım High[i] değerini almam gerekiyor.
Bir döngüde bir değişkene atama yaparsanız, bir sonraki adımda üzerine yazılır. yinelemeler. Daha akıllı bir şey nasıl uygun hale getirileceğini düşünemezdi
TÜM Yüksek[i] değerleri diziye ve ardından yalnızca ArrHigh[ 0 ] ile çalışır. Bu döngüdeki bir sonraki vuruşta, tüm değerler yeniden başlatılır.
Belki daha iyi bir seçenek vardır?
https://docs.mql4.com/en/basis/variables/formal
1. Kesinlikle haklısınız, "init (), ..." bölümünde değişkenlerin başlatılmasını kullanıyorsunuz - böyle bir günah var)
2. Daha iyi bir seçenek olabilir mi?
1. init() bölümünde başlatmak mümkündür ve bazen sadece orada gereklidir, sadece tüm standart fonksiyonların doğru çalışmayacağına, zaman serilerine erişimin doğru çalışacağına dikkat ettim.
2. Görevi neden karmaşıklaştırdığınızı anlamıyorum? High[i] dizisi hiçbir yere gitmeyecek, neden bir kez daha kopyalasın? yeni bir çubuk açıldığında "barı kaybetmekten" korkuyorsanız, istediğiniz çubuğun zamanını hatırlayın - zaman kesinlikle asla değişmeyecek, aşağıdaki yapıyı kullanabilirsiniz High[iBarShift(NULL,0,mytime)]
Not: ifadeden sonra: "Bir döngüde bir değişken atarsanız, sonraki yinelemelerde üzerine yazılır." Sorunun bazı değişkenlerin rastgele başlatılması olduğundan şüpheleniyorum, Print() içindeki kodun sorunlu bölümündeki tüm değişkenleri yazdırmayı deneyin.
Beyler lütfen bana yardım edin, bu programlama dilini hiçbir şekilde alamadığım bir şey) Bir haftadır bir ders kitabından öğreniyorum))
belli bir stop ve kârla iki emir (zıt) açması için ne yazılmalı ve sonra onları kapatırsa hemen diğerlerini aynı sabit hacimle açar + akışı kontrol eder ve sadece 8'den pozisyon açar 8
şimdiden teşekkür ederim)))
Beyler lütfen bana yardım edin, bu programlama dilini hiçbir şekilde alamadığım bir şey) Bir haftadır bir ders kitabından öğreniyorum))
belli bir stop ve kârla iki emir (zıt) açması için ne yazılmalı ve sonra onları kapatırsa hemen diğerlerini aynı sabit hacimle açar + akışı kontrol eder ve sadece 8'den pozisyon açar 8
şimdiden teşekkür ederim)))
TEK ders kitabının açıkça yeterli olmadığını düşünüyorum. İnternette MQL'nin temellerinin ve "uzman yazmanın" temellerinin ana hatlarıyla verildiği birçok farklı site vardır (gerekirse kişisel bir atışta bağlantılar). Ben mesela bu siteleri kendim için
indirilir ve chm formatına dönüştürülür. Her zaman elinizin altında. Ticaret robotlarına gelince, işleri aceleye getirdiğinizi düşünüyorum, elinizi hindilerle doldurmanız ve ardından IMHO görevini karmaşıklaştırmanız gerekiyor.