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
Gizlilik ve Veri Koruma Politikasını ve MQL5.com 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.