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

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

 

2008年07月25日(金)

MetaTrader4の日足チャートの補正方法 [MetaTrader4]



前回の記事でMetaTrader4の日足チャートで、ブローカーによっては余計な足ができるというお話をしました。

それが嫌な人はFXDDのMetaTrader4を使えばよいということで話は済んだのですが、他にプログラムで補正する方法はないかと気になってしまったので、今回はその方法についてお話します。

注目する点は、「余計な足は必ず日曜日にできる」ということです。

なので、チャート上のそれぞれの足が何曜日のものかがわかれば、余計な足を無視することができるわけです。

まず、MetaTrader4のプログラムでは、足の時刻を表すのに、Time[] という配列が使えます。

例えば、Time[0]最新の足の開始時刻を表します。そして、Time[1] が一つ前、Time[2]が二つ前の足の開始時刻を表します。

これは、Open[], Close[], High[], Low[] などと同じです。

次に、時刻から曜日を表すために、次の関数を使います。

TimeDayOfWeek()


この関数は、パラメータに時刻を入れることで、曜日を数値として返します。

具体的には、日曜日を0として、月火水木金土が順番に、1,2,3,4,5,6となります。

TimeDayOfWeek(Time[0]) と書くと、最新の足の曜日がわかることになります。

この値が0以外のときだけ計算するようにすれば、余計な足の影響を無視することができるわけです。

プログラムは以下のようになります。

まず、HVの計算期間のSamples は余計な足を除いた実際に計算させる足の数とします。

extern int Samples = 20;


そして、繰り返し計算部分は次のようになります。

for(i=limit-1; i>=0; i--)
{
int T = 260;
double sum = 0.0;
int n = Samples;
int j = 0;
while(n>0)
{
if(TimeDayOfWeek(Time[i+j]) != 0)
{
sum += Diff[i+j];
n--;
}
j++;
}
double average = sum/Samples;

sum = 0.0;
n = Samples;
j = 0;
while(n>0)
{
if(TimeDayOfWeek(Time[i+j]) != 0)
{
sum += (Diff[i+j] - average)*(Diff[i+j] - average);
n--;
}
j++;
}

double std_dev = MathSqrt(sum/Samples);
BufHV[i] = std_dev * MathSqrt(T)*100;
}

前回のプログラムと比べてちょっと長くなっていますが、これは、for文での繰り返しの代わりに while文で繰り返しているからです。

なぜwhile文にしているかというと、余計な足をスキップして20本の足だけを計算させるために、全体で何回の繰り返しをすればよいかが Samplesの値 や計算させる曜日によって一定ではないためです。

日曜日の足だけ無視するという考え方は簡単だったのですが、実際にプログラムにするとちょっと難しくなってしまいました。

プログラムの内容はよくわからなくても結構ですから、MetaTrader4のプログラムではこんなこともできるということがわかっていただければいいかと思います。

次回はボラティリティの話に戻る予定です。


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




Posted at 16時28分


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

Sponsor AD

2008/7

    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 31    

プロフィール

豊嶋久道

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

PHOTO

ランダムウォークとランダムトレード(6)

ランダムウォークとランダムトレード(6)

カテゴリーリスト

最近の記事

検索


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

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

RSS1.0

[Login]


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