チャートを見るとろうそくに常に張り付いているだけでなく、なめらかさもすばらしい平均線です。
ろうそくに張り付いている → 価格との乖離が少ない
なめらか → トレンドの方向性のだましが少ない
この様なイメージです。
HMAは期間をPとすると
期間1/2PのLWMAの値の2倍 から期間 PのLWMAの値を引いた数字の配列を
もう一度期間√PのLWMAで平均化しています。
現在に近い期間1/2Pの平均を2倍して期間Pを引くと1/2Pの平均よりさらに最近の影響を受けます。過去の期間1/2Pをマイナスするイメージです。
この平均の値はろうそく足にべったり張り付きますが、
もう一度LWMAで平均化する事でさらになめらかになっています。
この中ででてくる期間は3つ 期間P 期間1/2P 期間√Pです。
期間は整数でなければなりません。 期間Pが奇数の時は誤差が出ます。(とくに小さい期間では大きく出ます。)
もう一つ平方根についても同様です。
太字のところは誤差の無いところです。
2で割り切れて平方根に誤差が無い数字は4と16ですね。
このあたりのゴールデンクロスや乖離を探求してみたいと思います。
その中で疑問が一つ!
ろうそく足の中にどれくらいの確率でHMAはいるのでしょうか
高値と安値の間にどれくらいいるかを見てみます。
datetime OldTime;
int Total,Win[17];
double I(int period=13,int shift=0)
{
double pHMA[];
ArrayResize(pHMA,period+2);
for(int i=period+1;i>=0;i--)
{
pHMA[i]= iMA(Symbol(),PERIOD_CURRENT,(period/2),0,MODE_LWMA,PRICE_CLOSE,shift)*2
- iMA(Symbol(),PERIOD_CURRENT,period ,0,MODE_LWMA,PRICE_CLOSE,shift);
}
return (iMAOnArray(pHMA,0,(int)MathSqrt(period),0,MODE_LWMA,shift));
}
void OnTick()
{
string txt=NULL;
if(Time[0]!=OldTime)
{
OldTime=Time[0];
Total++;
for(int i=1;i<=16;i++)
{
double HMA=I(i,1);
if(HMA<High[1]&&HMA>Low[1])Win[i]++;
txt+="# "+i+" "+Win[i]+" / "+Total+" "+(double)Win[i]/(double)Total*100+" % \n";
}
Comment(txt);
}
}
期間1は計算できていないようです。 1/2P→期間0の平均は算出できないからでしょうか
期間3,5,7,9は前後に比べ%低くなっています。1/2Pに誤差が出るからかもしれません。
偶数期間をみると期間P=6を頂点に推移しています。
P=6では80%が高値と安値の間にHMAがあるようです。
なかなかすごい事です。
HMAが上昇していてHMAよりBidが一定値低い時にはロングでエントリ-してHMAまで戻ればクローズ こんなシンプルなもので80%取れるかもしれませんね
高速EA万歳です!
0 件のコメント:
コメントを投稿