MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1738
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
Kodunuz -1 değil 0 yazdırır.
Belki -1 başka bir yerde basılmıştır, büyük olasılıkla tüm kod baskılardadır ..
Evet, haklısınız, her adım nerede "yavaşladığını" görmek için yazdırılır.
Örnek yanlış sonuçlandı, kusura bakmayın, kodun kendisi büyük.
Ancak Konstantin'in çözümü sorunu çözdü! Aslında, i'yi değiştirdim-- ve her yerde sıfır olup olmadığını kontrol ettim ve şimdi mantık olması gerektiği gibi çalışıyor, -1 yerine 0 veya 1 veriyor (0 veya -1'den önce, ikincisinde bir hata var) uzak).
Kodunuz -1 değil 0 yazdırır.
Belki -1 başka bir yerde basılmıştır, büyük olasılıkla tüm kod baskılardadır ..
Bir sorunu çözmeye çalışmadan önce onu belirlemelisiniz.. Var olduğundan emin olun ve yerini lokalize edin ve ancak o zaman çözün..
Bir kalem ve kağıt alın. Ve döngünün nasıl hesaplandığını yazın. bu kodda
muayene
hiç bir zaman gitmeyecek. Sadece başlangıçta ayarlanmışsa
tek değer. Hatta, o zaman bu kodla
önceki
garip bir değer gelecek.
Bir sorunu çözmeye çalışmadan önce onu belirlemelisiniz.. Var olduğundan emin olun ve yerini lokalize edin ve ancak o zaman çözün..
anladım, demek istediğim
Bir kalem ve kağıt alın. Ve döngünün nasıl hesaplandığını yazın. bu kodda
Koşul print = -1 diyorsa ve aslında (kontrol ettim) 0 olarak basılmışsa, yani örnek yanlış verilmişse neden kalem kağıt alayım. Ve yanlış bir örneğe doğru cevap vermek mümkün değil...
Koşul print = -1 diyorsa ve aslında (kontrol ettim) 0 olarak basılmışsa, yani örnek yanlış verilmişse neden kalem kağıt alayım. Ve yanlış bir örneğe doğru cevap vermek mümkün değil...
Sıfır bu satırdan yazdırılır
molada kontrol edip çıkmaktan değil.
Genel olarak, bir diziden geçmek için yazmak daha doğrudur.
çünkü diziler indeks sıfırdan başlar
Sıfır bu satırdan yazdırılır
molada kontrol edip çıkmaktan değil.
Verilen kod için bu satırdan 0 yazdırılır..
Print (i);
Soru break neden çalışmıyor değildi, soru baskının neden -1 verdiğiydi .. hepsi bu. ve başlamamın çift mi yoksa tek mi olduğu önemli değil, -1 asla yazdırılmaz...
Kapat[]'ı deniyorum, ancak dizin 5000'den fazla vermiyor.
Söyle bana, lütfen, keneleri veya mumları uzun süre nasıl hesaplayabilirim? (örneğin yıl).
Kapat[]'ı deniyorum, ancak dizin 5000'den fazla vermiyor.
Tiki veya mumlar o kadar büyük bir fark ki, söylemesi korkutucu ...
Tiki veya mumlar o kadar büyük bir fark ki, söylemesi korkutucu ...
Burada, örneğin, bir Uzman Danışman, bunun için herhangi bir süre belirtin - test cihazından en azından keneler, en azından M1 çubukları ile geçecek, herkes bunu dikkate alacaktır.
Ve gerçek zamanlı olarak uzun bir geçmişe sürünen ve oradan veri alan bir danışman alırsanız, nasıl organize edeceğimi anlamıyorum. Terminal 5000'den fazla mum vermez.
UPD
Bu şeyi deneyeceğim, kod ağda
MqlRates rates[];
int copied=CopyRates(NULL,0,0,100,rates);
if(copied<=0)
Print("Ошибка копирования ценовых данных ",GetLastError());
else Print("Скопировано ",ArraySize(rates)," баров");
UPD
Garip. Birdenbire işe yaradı. Milyonuncu çubuk bile kontrol edildi. Hiçbir şey yapmadı, belgeleri okudu, çay içti. Sadece yeniden başlattım ve işe yaradı. Dün geçmişi yüklememe ve ayarları değiştirmeme rağmen tüm gün hata verdi.
Yani (yukarıdaki) ek kodun kontrol edilmesine gerek yoktu.
MT4 - bir çeşit mizaç. Veya ForexChif'in böyle bir özelliği var. Bir komisyoncu değil, standart bir tane koymak gerekli olacaktır.
Burada, örneğin, bir Uzman Danışman, bunun için herhangi bir süre belirtin - test cihazından en azından keneler, en azından M1 çubukları ile geçecek, herkes bunu dikkate alacaktır.
Ve gerçek zamanlı olarak uzun bir geçmişe sürünen ve oradan veri alan bir danışman alırsanız, nasıl organize edeceğimi anlamıyorum. Terminal 5000'den fazla mum vermez.
UPD
Bu şeyi deneyeceğim, kod ağda
MqlRates rates[];
int copied=CopyRates(NULL,0,0,100,rates);
if(copied<=0)
Print("Ошибка копирования ценовых данных ",GetLastError());
else Print("Скопировано ",ArraySize(rates)," баров");
UPD
Garip. Birdenbire işe yaradı. Milyonuncu çubuk bile kontrol edildi. Hiçbir şey yapmadı, belgeleri okudu, çay içti. Sadece yeniden başlattım ve işe yaradı. Dün geçmişi yüklememe ve ayarları değiştirmeme rağmen tüm gün hata verdi.
Yani (yukarıdaki) ek kodun kontrol edilmesine gerek yoktu.
MT4 - bir çeşit mizaç. Veya ForexChif'in böyle bir özelliği var. Bir komisyoncu değil, standart bir tane koymak gerekli olacaktır.
CopyRates()'e yapılan ilk çağrı, geçmiş verilerin pompalanmasını başlattı (bir hafta çalıştırmayın ve aynı şeyi tekrar alırsınız, peki, belki bir hafta değil, bir süre sonra).
Sunucuda ne kadar veri olduğunu kontrol etmeniz ve mevcut miktarı danışmanla karşılaştırmanız yeterlidir. Gerekenden azsa, bir sonraki onay işaretinden önce çıkın. Tekrar kontrol edin. Belirli sayıda deneme için gerekli geçmişi elde etmek mümkün olmadıysa, bu hatayı gerektiği gibi işleyin.