MTFの軌跡が分かるインジケータ?
aricenn 2010/04/26 15:34
こんにちわ。いつも有用な記事を有り難うございます!
恐縮なのですが、MTFのMAについてご相談させて下さいませ。
例えば日足の10EMAを1時間足に表示させていたとして、過去チャートを見ると終値で確定後の位置しか知ることができませんが、その時々の足の確定時でMAがどの位置にあったのか軌跡を表示する事ができれば検証に非常に役立つのでは・・・と考えたのですが、そのようなインジを見つける事はできませんでした。かなり欲しい仕様のインジなので無いのであればなんとかしたい・・・と思いMetaEditorとにらめっこしている所なのですが、何分プロパティの書き換えくらいしかした事のない素人なもので、どのようにすればそれを実現できるのか見当が付きません。もし何かヒントを頂けましたらとても嬉しいのですが・・・
ちなみに使用しているのは外為男さんの所にありました#MTF_MovingAverageIGOR.mq4です。
厚かましいお願いで申し訳ございません。少しでもご興味の湧く内容でしたらどうかご検討下さいませ。
下図は、1時間足に日足のMTF移動平均を表示させたもので、最新の終値が上下するたびに、1日分の移動平均線が同時に上下します。 ですが、aricenn の言われるように、1時間毎の終値でどこにMTFがあったのかは確定しているので、その移動の軌跡を描くことも当然可能です。
…という訳で、こちらに!MTFtrace.mq4を用意してみました。
(日記公開前に古い版を入手された人は再ダウンロードをした方が良いかも..
日足MTF移動平均は、以下のデータ配列から計算されているのを、
今日の終値 | 1日前の終値 | 2日前の終値 | 3日前の終値 | ... |
!MTFtrace.mq4では、
1時間毎の終値 | 1日前の終値 | 2日前の終値 | 3日前の終値 | ... |
という変則的なデータを MTFCloseArray配列に格納して iMAOnArray で平均を求めています。
1時間足1本毎に移動平均1本分の計算をするので、、めちゃめちゃ重いです。^^;
あまりに重いので、
MTFCloseArray のサイズは、MTFCalcSize (= MAPeriod * 50;)に固定しています。
5日間の移動平均であれば、5*50=250個のデータから今日の平均値を求めています。↑ 50 という値はもっと減らしても良いかもしれません..。
MaxBars は、インジケータ自体の表示本数です。これも軽量化のために設けています。
実際の動きは見てもらえれば分かると思います。
…が、ホントに役に立ちそうですか?^^;