時間で動作を制御する方法 その3 | メタトレーダー4でプログラムを作ってみよう

メタトレーダー4でプログラムを作ってみよう

無料のトレードソフトであるメタトレーダー4のプログラムを作るコツをアップします。初心者がインジケーターとEAのプログラムを作成できるのを目指します。

それでは、時間で動作を色々変える場合のプログラムをしていきます。

前回までのプログラムの start の箇所を以下のように変更します。

int TimeCheck=0;
if(StartTime<StopTime && (TimeHour(TimeLocal())<StartTime
 || StopTime<=TimeHour(TimeLocal())) ) TimeCheck=1;
if(StartTime>StopTime && (TimeHour(TimeLocal())>=StartTime
 && StopTime>TimeHour(TimeLocal())) ) TimeCheck=1;

//時間制御に関係なく実行させたい処理

if(TimeCheck==0)
{
//設定時間内で実行させたい処理
}

if(TimeCheck==1)
{
//設定時間外で実行させたい処理
}





最初に、TimeCheck という変数を宣言し、初期値で 0 を代入します。

次に時間を調べて、設定時間外の時には 1 を代入するようにします。

if分を二つ作成し、TimeCheck の状態によって、

{ } 内に希望の処理をプログラムします。

時間の設定にかかわらず処理したいものは、

if文以外の箇所にプログラムします。

例えば、

仕掛は設定時間内だけど、決済は時間にかかわらず行う場合

仕掛のプログラムは、

if(TimeCheck==0)
{
//設定時間内で実行させたい処理
}


{ }の中に書いておき、決済のプログラムは、

//時間制御に関係なく実行させたい処理

の下に書いておけばOKです。

このようにしておくと、時間帯で処理を変更することができます。

TimeCheck の使い方によって、アジア時間、ロンドン時間、NY時間を区別して、

それぞれで動作を変更するようにもできます。

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