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

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

 

2011年11月01日(火)

[MQL4]サーバー時間のズレに対応したテクニカル指標(8) [MQL4]



この連載も8回目になりました。ちょっと長引いたので、最初のきっかけをご存知ない方もいらっしゃるかもしれません。

もともと、サーバー時間の違いによって日足チャートのATRの値が変わるという問題がこの連載のきっかけでした。

これまでの記事で、週明けの時刻を基準とした日足データの終値、高値、安値が求められたので、ATRの計算までもう少しです。

今回は、True Range を表示させる部分を追加してみます。

そのために指標バッファをもう一つ追加して、BufTR[]として宣言します。そして、表示させる指標バッファをBufTR[]のみにしてみます。

init()関数までの部分を以下に示します。

#property indicator_separate_window
#property
indicator_buffers 1
#property indicator_color1 Green

// 指標バッファ
double BufTR[];
double BufClose[];
double BufHigh[];
double BufLow[];

// 月曜0時に対する開始時間のズレ
extern int StartHour = 0;

// 初期化関数
int init()
{
IndicatorBuffers(4);

// 指標バッファの割り当て
SetIndexBuffer(0, BufTR);
SetIndexBuffer(1, BufClose);
SetIndexBuffer(2, BufHigh);
SetIndexBuffer(3, BufLow);

// 指標ラベルの設定
SetIndexLabel(0, "TR");

return(0);
}

ここでのポイントは、

#property indicator_buffers 1
IndicatorBuffers(4);

です。

これで指標バッファは4つ使うけど、表示させるのは最初の一つだけという設定になりました。

True Range を簡単に高値と安値の差として求めるのであれば、以下のようなfor文を追加すればOKです。

for(i=0; i<limit; i++)
{
BufTR[i] = BufHigh[i]-BufLow[i];
}

さらに、ギャップも考慮するのであれば、高値と安値の差、前日の終値と高値の差、前日の終値と安値の差の3つのうち、一番大きな値をTrue Range とします。

当日の高値、当日の安値、前日の終値をそれぞれ

double H=BufHigh[i], L=BufLow[i], C=BufClose[i+1];

のように変数に代入した場合、どのような計算をすればよいか、考えてみてください。


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




Posted at 16時32分


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

Sponsor AD

2011/11

    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.