基礎から学ぶシステムトレード
シストレブログ人気ランキング  

シストレ徹底攻略シストレマスターへの道ワールド・トレーディング・エッジ基礎から学ぶシステムトレードシストレニュースシストレツールシストレナビTOPへ

 

2009年09月01日(火)

移動平均MAXのプログラム [テクニカル分析]



前回紹介した移動平均MAXですが、これを標準搭載しているチャートソフトはあまりないでしょう。
こんなとき、メタトレーダーだと、カスタム指標プログラムで作れるので便利です。

と言っても、いきなりカスタム指標プログラム作るのは、大変です。

しかし、「FXメタトレーダー入門」に掲載してあるプログラムで流用できるものがあります。LWMAをプログラムした「MyLWMA.mq4」です。

一部省略しますが、指標を計算する部分は以下のように書けます。

int start()
{
int limit = Bars-IndicatorCounted();

for(int i=limit-1; i>=0; i--)
{
double sum=0;
double weight=0;
for(int k=0; k < MA_Period; k++)
{
int w = MA_Period-k;
sum += w*Close[i+k];
weight += w;
}
BufMA[i] = sum/weight;
}

return(0);
}

ここで、MA_Period は移動平均を計算する期間です。BufMA[]という配列が指標バッファに割り当てられているので、BufMA[]に求めた指標が表示されるわけです。

例えば、MA_Period=4の場合、kを0から3まで変化させると、LWMAでは、重みwが4、3、2、1と変化します。

これをMAXのプログラムにする場合、
int w = MA_Period-k;

の行を
double w = MathPow(MA_Period-k, MA_Power);

に変えるだけでOKです。ここでMA_Powerがべき乗を表すパラメータです。

MAXの場合、MathPow(x,y)がxのy乗を求める関数なので、MA_Power=2とすると、重みwは、4、3、2、1と変化するわけです。

MAXをチャートに表示させるとこうなります。

画像(450x209)・拡大画像(800x372)

この例では、移動平均を取る期間は20と共通ですが、べき乗のパラメータXを0、0.5、1、2 と変化させています。

Xが大きくなるに従い、直近の重みが大きくなるので、相場への追従性が高くなっています。

次回はMAXの応用についてみてみます。


>>“基礎から学ぶシステムトレード”全記事バックナンバーはこちらから




Posted at 15時34分


ページのトップへ ページのトップへ

Sponsor AD

2009/9

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      

プロフィール

豊嶋久道

2003年よりFX取引を始め、システムトレードの道へ。最近ではFXオプション取引も含めたトレーディングシステムの研究を行っている。システムトレードを基礎から正しく理解するための情報を発信する予定。

PHOTO

実際の相場におけるランダムウォーク

実際の相場におけるランダムウォーク

カテゴリーリスト

最近の記事

検索


当サイトコメントについて

当コメントは情報提供のみを目的として作成されたものであり、投資に関してはご自身でご判断くださいますようお願い致します。また、当資料は著作物であり著作権法により保護されております。無断で全文または一部を転載することはできません。

RSS1.0

[Login]


powered by a-blog
Copyright (C) 2008 PhiConcept,Inc. All rights reserved.