
週末オーダーストップの需要
長期トレードでないならば、週末越しのポジション持ちは、危険です。週末の相場がお休み中に、大きな事件が起きた場合、週明けの開始値が急激に変動していることがあります。週末の終値では、利益が出ていても、週明けにいきなり、ロスカットなんてことが、何度もありました。そんな痛手から私が作成したEAでは、週末の終了間近に保持しているポジションをクローズして、新規ポジションは持たないようにしています。また、週明けの開始直後もポジションを持たないようにしています。週末の終値と週明けの開始値は、一致していませんし連続してもいません。週末は、FX取引自体が中断しているため、決済注文も出せません。
MT4で週末の特定時間以降は、持っているポジションをクローズして新規ポジションを持たないオーダーストップ機能をご紹介します。
サンプルソース
extern string WEEK_END_STOP_Partition="--週末オーダーストップ--";
extern bool WEEK_END_STOP = true;//trueなら週末にStopする
extern int START_DAY_OF_WEEK = 1;//(0:日曜日 1:月曜日 2:火曜日 3:水曜日 4:木曜日 5:金曜日 6:土曜日)
extern int START_HOURS = 2;//何時からスタートさせるか。指定時間はサーバー時刻
extern int STOP_DAY_OF_WEEK = 5;//(0:日曜日 1:月曜日 2:火曜日 3:水曜日 4:木曜日 5:金曜日 6:土曜日)
extern int STOP_HOURS = 22;//何時からストップさせるか。指定時間はサーバー時刻
//--------------------------------------------
// ◎週末オーダーストップ
//--------------------------------------------
int NowTime = TimeHour(TimeCurrent());
if(WEEK_END_STOP==true
&& ((DayOfWeek()== STOP_DAY_OF_WEEK && NowTime>=STOP_HOURS) || (DayOfWeek()== START_DAY_OF_WEEK && NowTime<=START_HOURS))){
if(type != OP_NONE){
MyOrderClose();
}
return;
}