Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 589
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östergeyi adım adım kontrol ederken, if {}'nin arkasındaki ve W'nin olmadığı altyordamda bir işlem sıçraması buldum. Sorunun özünü açıklığa kavuşturmak için basitleştirilmiş bir kod veriyorum:
//--- giriş parametreleri
girdi int w=10;
//---
{
int i;
//---
int co=0;
for(i=0;i<=w;i++)if(w==10){co++; Uyarı(co);}
//--- sonraki çağrı için prev_hesaplananın dönüş değeri
dönüş(oranlar_toplam);
}
Sonuç (arletler):
2016.05.30 00:45:14.064 1 (EURUSD,H1) 11
2016.05.30 01:10:35.972 1 (EURUSD,H1) 10
........... vb. 1'e kadar
2016.05.30 00:45:14.064 1 (EURUSD,H1) 1
Kural: Parantez içindeki ifade doğruysa, ifade1 yürütülür.
Kodda: deyim1 DAİMA yürütülür.
Benim düşünceme göre if(), parantez içindeki koşul doğru olduğunda yalnızca bir kez çalışmalıdır. Ve aslında, koşul her kontrol edildiğinde çalışır ve {} içindeki tüm ifadeler her adımda yürütülür ve makine zamanında çiğnenir.
Sorular: CO değişkeni döngü boyunca NEDEN 0'dan 11'e yükseldi? Alert neden her adımda tetikleniyor?
Peki, sana bir şeyi ne kadar tekrar edebilirsin?
Bakın: w'niz 10'a eşit,
w'yi 10'a eşit olarak kontrol edin: "if(w==10){co++; Alert (co);}" Bu ifadenin doğru olduğunu düşünüyor musunuz?
O zaman neden bir sorunuz var?
Göstergeyi adım adım kontrol ederken, if {}'nin arkasındaki ve W'nin olmadığı altyordamda bir işlem sıçraması buldum. Sorunun özünü açıklığa kavuşturmak için basitleştirilmiş bir kod veriyorum:
//--- giriş parametreleri
girdi int w=10;
//---
{
int i;
//---
intco=0;
for(i=0;i<=w;i++)if(w==10){co++; Uyarı(co);}
//--- sonraki çağrı için prev_hesaplananın dönüş değeri
dönüş(oranlar_toplam);
}
Sonuç (arletler):
2016.05.30 00:45:14.064 1 (EURUSD,H1) 11
2016.05.30 01:10:35.972 1 (EURUSD,H1) 10
........... vb. 1'e kadar
2016.05.30 00:45:14.064 1 (EURUSD,H1) 1
Kural: Parantez içindeki ifade doğruysa, ifade1 yürütülür.
Kodda: deyim1 DAİMA yürütülür.
Benim düşünceme göre if(), parantez içindeki koşul doğru olduğunda yalnızca bir kez çalışmalıdır. Ve aslında, koşul her kontrol edildiğinde çalışır ve {} içindeki tüm ifadeler her adımda yürütülür ve makine zamanında çiğnenir.
Sorular: CO değişkeni döngü boyunca NEDEN 0'dan 11'e yükseldi? Alert neden her adımda tetikleniyor?
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Hatalar, hatalar, sorular
Andrey Barinov , 2016.05.30 10:38
Görünüşe göre kodda bir yazım hatası var ve şöyle yazmak istedin:
Merhaba Lord! Bir danışman yazarken küçük bir sorun yaşadım ((danışman bekleyen emirleri açar çoğu durumda her şey yolundadır, ancak bazen mevcut fiyata çok yakın emirler açmanız gerekir, bu yüzden mümkün olduğunca yakın açılacak bekleyen emirler nasıl yazılır?
Peki, sana bir şeyi ne kadar tekrar edebilirsin?
Bakın: w'niz 10'a eşit,
w'yi 10'a eşit olarak kontrol edin: "if(w==10){co++; Alert(co);}" Bu ifadenin doğru olduğunu düşünüyor musunuz?
O zaman neden bir sorunuz var?
Aptalca soru için özür diler, sabrınız ve anlayışınız için teşekkür ederim. Probun mekanik transferini özetledi if(w==10){ Alert (I,"/",F); adım adım hataları arayan program aracılığıyla. Bu, kendi sebebini anlama eksikliğinizin duvarına çarptığınızda olur, ancak sorundan kısa bir süreliğine geri adım atarsanız, sorun kendi kendine çözülür. Ve "sıçrama" olarak algılanan şey, aslında programın başka bir bölümünden gelen açıklanmayan bir istek olarak ortaya çıkıyor. Minnettarlıkla, Vladimir.
Merhaba, lütfen matematikte bana yardım edin.
İlk pozisyonun lotu biliniyorsa beşinci pozisyonun lotunun ne olacağı ve her yeni pozisyonun lotunun aritmetik ilerlemede arttığı nasıl öğrenilir.
İkinci seçenek, parti katlanarak artar.
Merhaba, lütfen matematikte bana yardım edin.
İlk pozisyonun lotu biliniyorsa beşinci pozisyonun lotunun ne olacağı ve her yeni pozisyonun lotunun aritmetik ilerlemede arttığı nasıl öğrenilir.
İkinci seçenek, parti katlanarak artar.
Google'da yasak mı? Anlıyorum, neden bu kadar acımasızsın? ))
aritmetik ilerleme formül tarafından verilir
geometrik ilerleme formül tarafından verilir
Teoride anlamıyorum, ilk seçenek için, parti başlangıçta artarsa, ilk partiyi 5 ile çarpmak yeterli
İkinci seçenek için: birinci pozisyonun lotu* katsayısı*5 …ama
Anlamadım, teorik olarak ilk seçenek için ilk partiyi 5 ile çarpmak yeterli
İkinci seçenek için, birinci konumun lotu* katsayısı*5 …ama
Hiçbir şey, matematiği okuldan kendim unuttum)) Matematik üzerine bir kitap çıkardım, arif'in tanımını yeniden basıyorum. ilerleme, burada daha açık bir şekilde yazılmıştır.
-------------
Her biri ikinciden başlayarak, fark aritmi adı verilen sabit bir d sayısı eklenerek bir öncekinden elde edilen bir sayı dizisi. prog.
İlk terim a1 ise aritmetik olur. prog. uzunluk n ile şu şekildedir:
a1, a1+d, a1+2*d, ...., a1 + n*d
MQL kodu şöyle, basit bir örnek attım
Hiçbir şey, okuldan matematiği unuttum))