記事「時間の取扱い(第2部): 関数」についてのディスカッション

 

新しい記事「時間の取扱い(第2部): 関数」はパブリッシュされました:

証券会社のオフセットとGMTを自動で特定します。おそらく不十分な答えしかくれない(欠如した時間について説明することはいとわないでしょうが)証券会社にサポートを求める代わりに、時間が変わる週に証券会社が価格をどのように計算するかを自分で見ます。結局のところ、私たちはPCを持っているので、面倒な手作業ではなくプログラムを使用します。

インクルードファイル(DealingWithTime.mqh)で、関数の前(およびマクロ置換の後)に必要な変数をグローバル変数として宣言します。

//--- global variables for time switches
int      DST_USD=0,                             // act time shift USA
         DST_EUR=0,                             // act time shift EU
         DST_AUD=0,                             // act time shift Australia
         DST_RUS=0;                             // D'2014.10.26 02:00', -10800,

DST_USD、DST_EURなどの変数には米国、EUなどの実際の時刻のシフトが格納されます。これらは、関数によって更新および設定されます。通常時刻である冬時間では、それらはゼロです。時間はその期間にはシフトされません。

その後、次に時刻の切り替えが行われるときを示す変数があります。これらは主に、CPUリソースを節約するために新しい計算がいつ必要になるかを知るために必要です。

datetime nxtSwitch_USD,                         // date of next switch
         nxtSwitch_EUR,                         // date of next switch
         nxtSwitch_AUD,                         // date of next switch
         nxtSwitch_RUB = D'2014.10.26 02:00';   // Russia s different :(

この記事の後半ではロシアでの状況を検討します。

作者: Carl Schreiber