無料でロボットをダウンロードする方法を見る
Find us on Twitter!
Join our fan page
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
ライブラリ

YZ_Summer_Time - MetaTrader 5のためのライブラリ

ビュー:
849
評価:
(34)
パブリッシュ済み:
2016.11.02 09:56
アップデート済み:
2016.11.22 07:34
\MQL5\Include\

日付が冬時間に属するか夏時間に属するかを確認します。この関数は時間(夏または冬)を決定します。

冬時間への移行は10月の最終日曜日の夜、夏時間への移行は3月の最終日曜日の夜に行われます。

夏/冬時間を把握するより信頼性の高い方法はありません。

コードはニュースのデバッグのために開発されました。

//
// アルゴリズムは2014年10月9日に改善された
//
// YURAZ yzh@mail.ru
// この関数は夏/冬時間を決定する
// 冬時間への移行は10月の最終日曜日の夜
// 夏時間への移行は3月の最終日曜日の夜に行われる
// 夏/冬時間を把握するより信頼性の高い方法はない
// 0を戻す - 夏時間
// 1を戻す - 冬時間
//
int YZ_summer_time(datetime pdt)
  {
   MqlDateTime dt;
   TimeToStruct(pdt,dt);
   int code=1;
   if(dt.mon>=11 || dt.mon<=2) // 冬
     {
      code=1;
     }
   if(dt.mon>=4 && dt.mon<=9) // 夏
     {
      code=0;
     }
   datetime tSeek;
   MqlDateTime dtf;
   if(dt.mon==10) // 10月
     {
      if(dt.day<25) // 10月の最終日曜日の夜ー冬時間に移行
         code=0; // まだ夏
      else
        {
         TimeToStruct(pdt,dtf);
         tSeek=StringToTime(IntegerToString(dtf.year)+".10.31 02:00");  // 10月の最後の日を設定
         TimeToStruct(tSeek,dtf);
         for(int i=31; i>=25;  i--)
           {
            if(dtf.day_of_week==0 ) // 土曜から日曜にかける夜を見つけるのに必要
               break;  
            tSeek=tSeek-86400; // (朝のちょうど2時を探す。外国為替は土日にはしまっているので移行自体には意味がない)
            TimeToStruct(tSeek,dtf);
           }
         if(pdt<tSeek)
           {
            code=0; // 夏
           }
         else
            code=1; // 冬
        }
     }
   if(dt.mon==3) // 3月
     {
      if(dt.day<25) // 3月の最終日曜日の夜ー夏時間に移行
         code=1; // まだ冬
      else
        {
         TimeToStruct(pdt,dtf);
         tSeek=StringToTime(IntegerToString(dtf.day_of_year)+".03.31 03:00");  // 3月の最後の日を設定<
         for(int i=31; i>=25;  i--)
           {
            if(dtf.day_of_week==0 ) // 土曜から日曜にかける夜を見つけるのに必要
               break;  
            tSeek=tSeek-86400; // (朝のちょうど3時を探す。外国為替は土日にはしまっているので移行自体には意味がない)
            TimeToStruct(tSeek,dtf);
           }
         if(pdt>tSeek)
           {
            code=0; // 夏
           }
         else
            code=1; // 冬
        }
     }
  return( code);
  }


MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/11932

チャート設定 チャート設定

ワンクリックでの複数チャートの設定

テンプレート適用 テンプレート適用

開いているチャートのすべてにテンプレートおよび/または時間枠を適用するための簡単なスクリプト

市場分析のスクリプトとテンプレート 市場分析のスクリプトとテンプレート

すべての開かれたチャートにテンプレートを適用するスクリプト

証拠金計算 証拠金計算

MetaТrader 5 でポジションを開くために必要な証拠金を計算するためのライブラリ。