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

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

 

2011年11月22日(火)

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



最後に、これまで作成してきた「サーバー時間のズレに対応したATR」をEAの中で使う例について説明します。

EAの中でのATRの使い方は色々あるでしょうが、ここでは、前日のバーにおけるATRの値を利用するケースを考えてみます。例えば、前日のATRによって、売買するロット数を変えたり、損切りや利食いの値幅を調整するなどです。

まずは、MQL4の組込み関数であるiATR()を使う場合です。変数ATR1に前日のATRを求めるプログラムは、以下のように書けます。

int ATRPeriod = 14;   // ATRの期間
double ATR1 = iATR(NULL, PERIOD_D1, ATRPeriod, 1);

ATRのパラメータは期間しかないので、それをATRPeriodとします。最後のパラメータが「1」になっているのは前日のバーにおけるATRを求めるためです。

次に、この部分を前回作成したATRに差し替えてみます。ここでは、そのファイル名が「GATR.mq4」となっていると仮定します。

このようなカスタム指標プログラムをEAに組み込む場合、iCustom()という関数を使います。GATRでは、サーバータイムのズレをパラメータとして利用するので、もう一つStartHourという変数を用意して、次のように記述します。

int ATRPeriod = 14;   // ATRの期間
int StartHour = 6; // サーバータイムのズレ
double ATR1 = iCustom(NULL, PERIOD_D1, "GATR", StartHour, ATRPeriod, 0, 1);

iCustom()のパラメータは、最初の「NULL」、「PERIOD_D1」と最後の「1」は、iATR()と同じです。

3番目の「"GATR"」がカスタム指標のファイル名、4番目、5番目のStartHour, ATRPeriodがGATRに渡すパラメータで、GATR.mq4のプログラム中でextern 宣言してある順にパラメータが渡されます。

その次の「0」はGATRで表示される指標のインデックスです。GATRでは一つしかないので、単に「0」を指定します。

これで、ATRの計算にGATRで算出した値が使えるようになります。

あと、カスタム指標をEAに組み込む場合、利用する指標値は直近の数個だけなので、チャート全体で指標値を算出する必要はありません。

GATRでは、指標値を算出する範囲をlimitという変数で

int limit = 100;

としていました。ただ、実際には100個も要らないわけなので、これをもっと少なくしても構いません。

前日までのATRがわかればよいのであれば、それを求めるためには最低「ATRPeriod+2」個のデータがあれば十分です。なので、

int limit = ATRPeriod+2;

のように変えても問題ありません。

以上11回にわたって説明してきたサーバーのズレに対応したテクニカル指標ですが、その考え方は、ATRに限らず、移動平均やRSIなど様々なテクニカル指標にも適用可能です。

他人のプログラムをコピーするだけでなく、自分なりに別のプログラムに応用させることで、プログラミングの技術は上達すると思います。

色々と試してみてください。


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




Posted at 16時44分


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

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.