投機家にとって最大の敵は無知、欲、そして恐怖と希望の感情である。

(ジェシー・リバモア)

top-image1

MT4の時間≠日本時間

MT4の時刻に注意

MT4の時刻は日本時間ではありません。

 

MT4を取り扱っている業者にもよりますが、一般的には週明けの月曜日のスタート時刻を起点として時刻が進みます。

つまり、月曜日の早朝4時(5時)をMT4では0時として稼働します。

 

この時刻のズレが影響するものには以下の場合があります。

・アジア時間を避ける(アジア時間を狙う)

・月曜日午前のスキャルピングを避ける

・指標発表時刻を避ける(or指標発表でスキャルピングをする)

・週末締まる直前にに両建てを行う

 

指標発表などは数時間ズレると大変なことになりますので、注意が必要です。

 


EAで時刻を修正することは可能か

自動売買において時刻を修正して演算・取引を行うことは可能です。
あらかじめ指標発表の時刻をセットしておき、その時刻が近づいたら特別な挙動をさせる EAというのもお作りすることができます。

しかし、取引時間やチャート上の時間軸の表示を変えることはできませんので、 ご注意ください。

 

MT4時刻を修正するMQL関数

参考までに時間と分をずらすための関数を掲載いたします。
//日本時間に修正する関数-----------------------------------------
int JapanMinute,JapanHour,JapanDayOfWeek,JapanMonth;
string JapanDayOfWeekStr;

AddJapanHour = 追加する時間を記入;
AddJapanMinute = 追加する分を記入;

   void JapanTimeFunction(){
         JapanHour = Hour() + AddJapanHour;
            if(JapanHour > 23 ) JapanHour -= 24 ;

         JapanMinute = Minute() + AddJapanMinute;
            if(JapanMinute > 59) JapanMinute -= 60;
   
         JapanDayOfWeek = DayOfWeek();
            if(Hour() + AddJapanHour > 23) JapanDayOfWeek++;
               if(JapanDayOfWeek == 7) JapanDayOfWeek = 0;
         
         switch(JapanDayOfWeek){
           case 0: JapanDayOfWeekStr = "日曜日";break;        
           case 1: JapanDayOfWeekStr = "月曜日";break;
           case 2: JapanDayOfWeekStr = "火曜日";break;
           case 3: JapanDayOfWeekStr = "水曜日";break;
           case 4: JapanDayOfWeekStr = "木曜日";break;
           case 5: JapanDayOfWeekStr = "金曜日";break;
           case 6: JapanDayOfWeekStr = "土曜日";break;
         }
         
         JapanDay = Day();
         JapanDayOfYear = DayOfYear();
         JapanMonth = Month();

         //日付を超えたら(今日現在までの分の合計が一日の分の合計を超えたら)
         if( 60*(Hour() + AddJapanHour)+ Minute() + AddJapanMinute > 24*60 ){
            //日付を1足す
            JapanDay++;
            JapanDayOfYear++;
            //月の日数が多くなりすぎたら、次の月の一日にする                     
            if(
               (Month() ==1 && JapanDay == 32) ||
               (Month() ==2 && JapanDay == 29 && Year()%4 != 0) || 
               (Month() ==2 && JapanDay == 30 && Year()%4 == 0) ||  //閏年
               (Month() ==3 && JapanDay == 32) ||
               (Month() ==4 && JapanDay == 31) ||
               (Month() ==5 && JapanDay == 32) ||
               (Month() ==6 && JapanDay == 31) ||
               (Month() ==7 && JapanDay == 32) ||
               (Month() ==8 && JapanDay == 32) ||
               (Month() ==9 && JapanDay == 31) ||
               (Month() ==10&& JapanDay == 32) ||
               (Month() ==11&& JapanDay == 31) ||
               (Month() ==12&& JapanDay == 32) 
               ){
                JapanDay = 1;
                JapanMonth = Month() + 1;
              }
         }
      }
      
 
 
flowchart   flowchart   flowchart   flowchart   flowchart   flowchart   flowchart

EA販売生成

Q&A