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;
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;
要求されたインジケータを添付します。
指標例のフォルダにあるCustomMoving Averageが ベースになっています。
SMA計算機能は変更なし。
GMAは別機能で算出されます。
最後にその差を計算します。
要求されたインジケータを添付します。
指標例のフォルダにあるCustom Moving Averageがベースになっています。
SMA計算機能は変更なし。
GMAは別機能で算出されます。
最後にその差を計算します。
要求されたインジケーターを同封します。
これは、インジケータ例のフォルダにあるカスタム移動平均をベースにしています。
SMA計算機能には変更はありません。
GMAは別機能で算出されます。
最後にその差を計算します。
ありがとうございました。上のチャートから、このインジケータがその機能を果たしていることがわかります。それとも違うのでしょうか?もっと理解するためには、まだ多くの作業が必要です。
質問:どのような期間で使用するのですか?
何も見えない、インジケータなしで見えるもの以外は。
M1期間。左隅に書いてある)。
インジケーターがなくても見えるもの以外は、何も見えません。
ありがとうございました。上のグラフから、インジケーターがその機能を果たしていることがわかります。それとも、そうなのか?
ところで、GMAが正しくカウントされているかどうか、ご確認ください。
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));
}
//---
}
何も見えない、インジケータなしで見えるもの以外は。
M1期間。左隅に書いてある)。
だって、見たくないじゃないですか。この指標は、実際に価格が下落するよりもさらに早く(上向きに)下落を明確に予測していますね。
そうなんですか?
もう一度見ることさえ。
Zy MAからの誘導体でも同じものが出てきます。それでもって方向も予測した)。
インジケータは、数式で与えられたものをカウントする。しかし、その結果を解釈するのは、もっと難しい課題です。
ちなみに、GMAが正しいかどうか確認してください。
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));
}
//---
}