MT4 週末オーダーストップ




週末オーダーストップの需要


長期トレードでないならば、週末越しのポジション持ちは、危険です。週末の相場がお休み中に、大きな事件が起きた場合、週明けの開始値が急激に変動していることがあります。週末の終値では、利益が出ていても、週明けにいきなり、ロスカットなんてことが、何度もありました。そんな痛手から私が作成した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;
    }