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
İstenen göstergeyi ekliyorum.
Gösterge örnekleriyle birlikte klasördeki Özel Hareketli Ortalamaya göre.
SMA hesaplama işlevi değişmedi.
GMA ayrı bir fonksiyon olarak kabul edilir.
Sonunda farklarını hesaplıyoruz.
İstenen göstergeyi ekliyorum.
Gösterge örnekleriyle birlikte klasördeki Özel Hareketli Ortalamaya dayalıdır.
SMA hesaplama işlevi değişmedi.
GMA ayrı bir fonksiyon olarak kabul edilir.
Sonunda farklarını hesaplıyoruz.
İstenen göstergeyi ekliyorum.
Gösterge örnekleriyle birlikte klasördeki Özel Hareketli Ortalamaya dayalıdır.
SMA hesaplama işlevi değişmedi.
GMA ayrı bir fonksiyon olarak kabul edilir.
Sonunda farklarını hesaplıyoruz.
Sayesinde! Göstergenin işlevini yerine getirdiği yukarıdaki grafikten görülebilir. Ya da değil? Daha iyi anlamak için daha yapılacak çok iş var.
Soru: Hangi dönem kullanılır?
Göstergeler olmadan görülebilenler dışında hiçbir şey görmüyorum.
Dönem M1. sol köşeye yazılır.)
Göstergeler olmadan görülebilenler dışında hiçbir şey görmüyorum.
Sayesinde! Göstergenin işlevini yerine getirdiği yukarıdaki grafikten görülebilir. Ya da değil?
Bu arada, GMA'nın doğru olup olmadığını kontrol etmenizi rica ediyorum.
void CalculateGeometricalMA(int rates_total,int prev_calculated,int begin,const double &price[])
{
int i,limit;
//--- first calculation or number of bars was changed
double powr=1/(double)InpMAPeriod;
if(prev_calculated==0)// first calculation
{
limit=InpMAPeriod+begin;
//--- set empty value for first limit bars
for(i=0;i<limit-1;i++) gma[i]=1.0;
//--- calculate first visible value
double firstValue=1;
for(i=begin;i<limit;i++)
firstValue*=price[i];
firstValue=MathPow(firstValue, powr);
gma[limit-1]=firstValue;
}
else limit=prev_calculated-1;
//--- main loop
for(i=limit;i<rates_total && !IsStopped();i++){
gma[i]=gma[i-1] * (MathPow(price[i], powr) / MathPow(price[i-InpMAPeriod], powr));
}
//---
}
Göstergeler olmadan görülebilenler dışında hiçbir şey görmüyorum.
Dönem M1. sol köşeye yazılır.)
Çünkü görmek istemiyorsun. Göstergenin, fiyatın gerçekte düştüğünden bile daha erken (yukarı yönde) bir düşüşü kesin olarak öngördüğünü görüyorum.
Bu mu?
Hatta tekrar baktım.
Tehdit Mashka'nın türevi de aynı şeyi verirdi. Hatta yönü tahmin etti.)
Gösterge, formülde kendisine verileni hesaplar. Ancak sonuçları yorumlamak çok daha zor bir iştir.
Bu arada, GMA'nın doğru olup olmadığını kontrol etmenizi rica ediyorum.
void CalculateGeometricalMA(int rates_total,int prev_calculated,int begin,const double &price[])
{
int i,limit;
//--- first calculation or number of bars was changed
double powr=1/(double)InpMAPeriod;
if(prev_calculated==0)// first calculation
{
limit=InpMAPeriod+begin;
//--- set empty value for first limit bars
for(i=0;i<limit-1;i++) gma[i]=1.0;
//--- calculate first visible value
double firstValue=1;
for(i=begin;i<limit;i++)
firstValue*=price[i];
firstValue=MathPow(firstValue, powr);
gma[limit-1]=firstValue;
}
else limit=prev_calculated-1;
//--- main loop
for(i=limit;i<rates_total && !IsStopped();i++){
gma[i]=gma[i-1] * (MathPow(price[i], powr) / MathPow(price[i-InpMAPeriod], powr));
}
//---
}