MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 804
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
Web sitesi politikasını ve kullanım şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
içinde ne yazdığını söyler misin
int i,limit=prev_hesaplanmış==0 ? oranları_toplam-1 : oranları_toplam-önceki_hesaplanmış;
"==", "?" , ": "
?
Teşekkürler Igor. Sadece gerekli olanı doğru formüle etmedim. Öğreticideki gösterge, belirli sayıda çubuk için (bu durumda 50) ve ayrı bir pencerede hesaplanır ve çizilir. MA-shku'yu çekmek için açılış fiyatından değil, günün ilk çubuğundan itibaren gereklidir. Yinede teşekkürler.
SetIndexDrawBegin() oku - bu, gösterge arabelleğinin çizilmesinin bir sınırlamasıdır, hiç kullanmadı
veya benim örneğimde bunu yapabilirsiniz:
onlar. BarCount'u ayarlayarak gösterge arabelleklerinin hesaplanmasını sınırlayın
içinde ne yazdığını söyler misin
int i,limit=prev_hesaplanmış==0 ? oranları_toplam-1 : oranları_toplam-önceki_hesaplanmış;
"==", "?" , ": "
?
https://docs.mql4.com/en/basis/operators/ternary
örneğimi yeniden yazdım, ilk seçenekte TF'yi değiştirirken düzgün çalışmayacaktı, dayopen ve lastday'i sıfırlamanız gerekiyor, bunlar statik değiştirici ile açıklanıyor
Ayrıca referans tarafından geçirilen fonksiyon parametresindeki indeksi döndürür
İade:
çift GetPatt5barsDN()
{
çift düşük3 = 0;
int dizin = 0;
for(int i=1; i<20; i++)
{
Eğer
((Kapat[i] > Aç[i]) &&
(Kapat[i+1] > Aç[i+1]) &&
(Kapat[i+2] > Aç[i+2]) && //Bu mumun Düşük[i+2] değerine ihtiyacı var
(Kapat[i+3] < Aç[i+3]) &&
(Kapat[i+4] < Aç[i+4]))
düşük3 = Düşük[i+2];
indeks = i+2;
}
dönüş(düşük3);
dönüş(indeks);
}
Ve sonra ne yapılmalı?
İade:
çift GetPatt5barsDN()
{
çift düşük3 = 0;
int dizin = 0;
for(int i=1; i<20; i++)
{
Eğer
((Kapat[i] > Aç[i]) &&
(Kapat[i+1] > Aç[i+1]) &&
(Kapat[i+2] > Aç[i+2]) && //Bu mumun Düşük[i+2] değerine ihtiyacı var
(Kapat[i+3] < Aç[i+3]) &&
(Kapat[i+4] < Aç[i+4]))
düşük3 = Düşük[i+2];
indeks = i+2;
}
dönüş(düşük3);
dönüş(indeks);
}
Ve sonra ne yapılmalı?
bu yüzden geri dönme
Bunun gibi bir şey
daha uzak
double min = Low[GetPatt5barsDN()];İade:
çift GetPatt5barsDN()
{
çift düşük3 = 0;
int dizin = 0;
for(int i=1; i<20; i++)
{
Eğer
((Kapat[i] > Aç[i]) &&
(Kapat[i+1] > Aç[i+1]) &&
(Kapat[i+2] > Aç[i+2]) && //Bu mumun Düşük[i+2] değerine ihtiyacı var
(Kapat[i+3] < Aç[i+3]) &&
(Kapat[i+4] < Aç[i+4]))
düşük3 = Düşük[i+2];
indeks = i+2;
}
dönüş(düşük3);
dönüş(indeks);
}
Ve sonra ne yapılmalı?
Ve referansa göre parametre aracılığıyla dizinin dönüşü nerede?
Ve lütfen doğru kodu yapıştırın:
MQL4'te, hesap türüne ilişkin, yani 5 basamaklı veya 4 basamaklı teklifleri tanıyan bir işlev var mı, bir varlığın ondalık noktadan sonra kaç sıfıra sahip olduğunu nasıl belirleyebilirsiniz, örneğin EURJPY'de ondalık sayıdan sonra 2 sıfır vardır noktası, EURUSD'nin ondalık noktadan sonra 4 sıfırı var mı?
https://docs.mql4.com/en/predefined/digitsvar
Ve referansa göre parametre aracılığıyla dizinin dönüşü nerede?
Ve lütfen doğru kodu yapıştırın:
Şu anda yapılmış gibi görünüyor:
Ancak derlerken bir uyarı veriyor: satırdaki tür dönüşümü nedeniyle olası veri kaybı :
dizin = GetPatt5barsDN(dizin);
İşlev başlığında (ve işlevin kendisinde) derleme hatası yoktur.