Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 471
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
1. Herkes eşleşir
2. Böyle bir parametre yoktur.
Başka bir başlıkta MT4'teki bu sorunun çözülemez olduğu söylendi. :(
2. Parametre hakkında size bir şeyler anlatabilmem için Masha'yı ayrı bir pencereye nereye koyduğunuzu bilmiyorum. Ama... Göstergeler --> Osilatörler --> Osilatörün Hareketli Ortalamalarından alırsanız, "Uygula:" seçeneğine sahiptir.
Bu nedenle, ayrı bir penceredeki bir göstergeye başka bir tane koymaya çalışırsanız, bazı durumlarda sadece ENUM_APPLIED_PRICE numaralandırmasındaki standart fiyatlara değil, aynı zamanda zaten pencerede bulunan göstergenin verilerine de uygulanabilir. Belki de tam da böyle bir durumdasın.
3. Sorun nedir? Bu üç Mashka, aynı üç Mashka'ya (ifadenize göre) tekabül etmiyor mu? Yani çözülemez değil, saçmalık. Doğru yapılırsa, eşleşmeleri gerekir. Fark nedir - kendi parametreleriyle üç ayrı MA veya aynı parametrelere sahip aynı üç MA, ancak üç tamponlu bir göstergeye itildi... Farkı görüyor musunuz? Beni değil. Ve eğer görürseniz, Mashek'in hesaplamalarında bir tutarsızlık arayın.
Bu arada... Timsah - bir göstergede üç MA, her biri kendi parametreleriyle. Parametreleri üç ayrı MA'nız ile aynı şekilde ayarlayın ve eşleşeceklerdir. Doğru, tüm bu bacchanalia'nız ayrı bir pencerede ... Şey ... örneğin
Üç Bir - 3MA(4,9,14) göstergesini yaptım ve doğruluğunu kontrol etmek için üç göstergenin bulunduğu pencereyle karşılaştırmaya karar verdim - MA(4), MA(9), MA(14). Saç uçta duruyor. :)
"Üç göstergenin olduğu yerde - МА(4), МА(9), МА(14)" gösterge penceresi, bu pencereye eklenen ilk gösterge tarafından kendi kendine ölçeklenir. Senin durumunda MA(4) olabilir
Lütfen bana yerleşik göstergenin değerini üst zaman çerçevesinden, ancak bu zaman çerçevesinin içinde fonksiyondan geçirmenin yapısını söyleyin.
Onlar. mevcut grafik 15 dakika, günlere göre hesaplanan göstergenin değerini almanız gerekiyor, ancak 45 dakika önce nasıl yapılır?
Gösterge değerini döndüren, ancak yalnızca mevcut çubuk için zor olmayan bir algoritma.
double iDelta(int Variant,int n,int TF,int index)
{
double Fibo=0;
if(Variant==1) Fibo=0.236;
if(Variant==2) Fibo=0.382;
if(Variant==3) Fibo=0.5;
if(Variant==4) Fibo=0.618;
if(Variant==5) Fibo=0.764;
if(Variant==6) Fibo=1;
if(Variant==7) Fibo=1.236;
if(Variant==8) Fibo=1.382;
if(Variant==9) Fibo=1.5;
if(Variant==10) Fibo=1.618;
if(Variant==11) Fibo=2.0;
if(Variant==12) Fibo=2.236;
if(Variant==-1) Fibo=-0.236;
if(Variant==-2) Fibo=-0.382;
if(Variant==-3) Fibo=-0.5;
if(Variant==-4) Fibo=-0.618;
if(Variant==-5) Fibo=-0.764;
if(Variant==-6) Fibo=-1;
if(Variant==-7) Fibo=-1.236;
if(Variant==-8) Fibo=-1.382;
if(Variant==-9) Fibo=-1.5;
if(Variant==-10) Fibo=-1.618;
if(Variant==-11) Fibo=-2.0;
if(Variant==-12) Fibo=-2.236;
return ( NormalizeDouble(iOpen(Symbol(),TF,index)+iATR(Symbol(), TF, n, index+1)*Fibo,Digits) );
}
Gösterge pencerelerinin kendi kendine ölçeklenmesini kapatmayı deneyin, belki her şey düzelir.
"Üç göstergenin olduğu yerde - МА(4), МА(9), МА(14)" gösterge penceresi, bu pencereye eklenen ilk gösterge tarafından kendi kendine ölçeklenir. Senin durumunda MA(4) olabilir
2. Parametre hakkında size bir şeyler anlatabilmem için Masha'yı ayrı bir pencereye nereye koyduğunuzu bilmiyorum. Ama... Göstergeler --> Osilatörler --> Osilatörün Hareketli Ortalamalarından alırsanız, "Uygula:" seçeneğine sahiptir.
Bu nedenle, ayrı bir penceredeki bir göstergeye başka bir tane koymaya çalışırsanız, bazı durumlarda sadece ENUM_APPLIED_PRICE numaralandırmasındaki standart fiyatlara değil, aynı zamanda zaten pencerede bulunan göstergenin verilerine de uygulanabilir. Belki de tam da böyle bir durumdasın.
3. Sorun nedir? Bu üç Mashka, aynı üç Mashka'ya (ifadenize göre) tekabül etmiyor mu? Yani çözülemez değil, saçmalık. Doğru yapılırsa, eşleşmeleri gerekir. Fark nedir - kendi parametreleriyle üç ayrı MA veya aynı parametrelere sahip aynı üç MA, ancak üç tamponlu bir göstergeye itildi... Farkı görüyor musunuz? Beni değil. Ve eğer görürseniz, Mashek'in hesaplamalarında bir tutarsızlık arayın.
Bu arada... Timsah - bir göstergede üç MA, her biri kendi parametreleriyle. Parametreleri üç ayrı MA'nız ile aynı şekilde ayarlayın ve eşleşeceklerdir. Doğru, tüm bu bacchanalia'nız ayrı bir pencerede ... Şey ... örneğin
Artyom, "Uygula" - sadece bir fiyat listesi var. MA hesaplamaları doğrudur, 3MA göstergesinin bulunduğu pencereye 4, ardından 9, ardından 14 periyodu olan tek bir gösterge eklenerek üç satırın tümü doğrulanır.Her durumda, tek gösterge 3MA göstergesinin karşılık gelen satırıyla çakışır.
Lütfen bana yerleşik göstergenin değerini üst zaman çerçevesinden, ancak bu zaman çerçevesinin içinde fonksiyondan geçirmenin yapısını söyleyin.
Onlar. mevcut grafik 15 dakika, günlere göre hesaplanan göstergenin değerini almanız gerekiyor, ancak 45 dakika önce nasıl yapılır?
Gösterge değerini döndüren, ancak yalnızca geçerli çubuk için zor olmayan bir algoritma.
double iDelta(int Variant,int n,int TF,int index)
{
double Fibo=0;
if(Variant==1) Fibo=0.236;
if(Variant==2) Fibo=0.382;
if(Variant==3) Fibo=0.5;
if(Variant==4) Fibo=0.618;
if(Variant==5) Fibo=0.764;
if(Variant==6) Fibo=1;
if(Variant==7) Fibo=1.236;
if(Variant==8) Fibo=1.382;
if(Variant==9) Fibo=1.5;
if(Variant==10) Fibo=1.618;
if(Variant==11) Fibo=2.0;
if(Variant==12) Fibo=2.236;
if(Variant==-1) Fibo=-0.236;
if(Variant==-2) Fibo=-0.382;
if(Variant==-3) Fibo=-0.5;
if(Variant==-4) Fibo=-0.618;
if(Variant==-5) Fibo=-0.764;
if(Variant==-6) Fibo=-1;
if(Variant==-7) Fibo=-1.236;
if(Variant==-8) Fibo=-1.382;
if(Variant==-9) Fibo=-1.5;
if(Variant==-10) Fibo=-1.618;
if(Variant==-11) Fibo=-2.0;
if(Variant==-12) Fibo=-2.236;
return ( NormalizeDouble(iOpen(Symbol(),TF,index)+iATR(Symbol(), TF, n, index+1)*Fibo,Digits) );
}
Soruyu cevaplayamam, ancak işlev basitleştirilebilir ve önemli ölçüde hızlandırılabilir.
Göstergeyi başlatırken, statik bir dizi oluşturun
double arrFibo[13] = {0.0, 0.236, 0.382, ..., 2.236};
ve iDelta() içindeki tüm if aşağıdakilerle değiştirilebilir:
if (Variant>0)
Fibo = arrFibo[ Variant];
else
Fibo = -arrFibo[- Variant];
Soruyu cevaplayamam, ancak işlev basitleştirilebilir ve önemli ölçüde hızlandırılabilir.
Göstergeyi başlatırken, statik bir dizi oluşturun
double arrFibo[13] = {0.0, 0.236, 0.382, ..., 2.236};
ve iDelta() içindeki tüm if aşağıdakilerle değiştirilebilir:
if (Variant>0)
Fibo = arrFibo[ Variant];
else
Fibo = -arrFibo[- Variant];
Teşekkürler, deneyeceğim, belki daha iyi olur.
Soruyu cevaplayamam, ancak işlev basitleştirilebilir ve önemli ölçüde hızlandırılabilir.
Göstergeyi başlatırken, statik bir dizi oluşturun
double arrFibo[13] = {0.0, 0.236, 0.382, ..., 2.236};
ve iDelta() içindeki tüm if aşağıdakilerle değiştirilebilir:
if (Variant>0)
Fibo = arrFibo[ Variant];
else
Fibo = -arrFibo[- Variant];
Yapılmış. yazdığınız gibi, ama olması gerektiği gibi olmadı - henüz tam olarak neyin yanlış olduğunu bilmiyorum - yazdırmam gerekiyor ....
hattı anlamadım
else Fibo = -arrFibo[-Variant];
Yapılmış. yazdığınız gibi, ama olması gerektiği gibi olmadı - henüz tam olarak neyin yanlış olduğunu bilmiyorum - yazdırmam gerekiyor ....
hattı anlamadım
else Fibo = -arrFibo[-Variant];
Aynı durumda, negatif Fibo değerlerine ihtiyaç vardır, yani -arrFibo.