*

第16回:EA内で日本時間を作る

公開日: : FX自動売買開発 , , , ,

サーバー時刻のEAの演算を日本時刻にする

MT4の時刻は多くの場合日本時間ではなく、
サーバーが置いてある時刻になっています。

そのため、雇用統計の時間をEAに認識させるためには時刻の修正を行わなければいけません。

MT4自体には時刻を変更する機能がないので、
EAのプログラミングで時差分を修正する必要があります。

ここでは
MT4のサーバー時刻の時間関数
Month(), DayOfWeek(), Day(), Hour(), Minute()に代わるJapanMonth,JapanDayOfWeek,JapanDay,JapanHour,JapanMinute
という変数を作ります。
※元の時間は関数ですが、これから作るのは変数なので()は不要になります。

<追記>—————————————————————-
現在はTimeGMT()というグリニッジ標準時の関数があるので、
これをもとに作成すると、簡単に作れます。

このTimeJapanが日本時間のUnixタイムになるので、
ここから日付や時間や分を取得するときには、

を使います。
———————————————————————–

まず変数を宣言します。EA全体で使うのでstaticで冒頭に宣言してください。

次にプラスする分の時間を宣言し、プラス分の時間を入れます。

サーバー時刻が標準時刻の場合日本時間は+7時間がほとんどですので、
この場合AddJapanHourという変数に7を代入します。

まずは、それぞれの変数にサーバー時刻の値を入れ、その後修正をかけます。

分が59を超えた場合は60を引き、時間を+1します。

時間が23を超えた場合、24を引きます。

足した分の時間と分が日付変更を超えた場合、
その日付に合わせて日付と曜日を加算します。

それぞれの月でMAXの日付が異なるので
月の最大の日付を超えた場合には日付を1にし、月を+1します。

これらをまとめて処理を行う1つの関数※にします。
※関数の作成についてはまだ行っていないので、それほど気にしないでください。

後はこの関数JapanTimeFunction()をOnTick,Start内に置けば完成です。これまで作ったコードに日本時間の月曜日以外にエントリーという条件を加えてまとめます。

このコメントはWEBに公開されるので、問い合わせ等はメールでお願いします。

関連記事

MQLxPHP サーバを経由するコピートレードツールを作る3

今回はトレードを受信する方のEAを作ります。 トレードデータを送信するEAと比較すると、 ト

記事を読む

EAと口座認証

EAを第3者に渡すとき、何かしらの制限をかけておかないと、 コピーされてしまう可能性があります。

記事を読む

第24回:iCustomでインジケータをEA化する

インジケータとiCustom 今回はインジケーターのシグナルを使って、EAを作ります。 iC

記事を読む

第6回:オーダーに条件をつける IF文

ここではオーダーを送信する前に条件文を挿入します。 条件の書き方 前回までには、「新規ポジシ

記事を読む

第0回:プログラミングの基本ルールと心が折れないための心得

プログラミングにはどの言語にも基本的に共通したルールがあります。 ルール1 入力は半角英数字

記事を読む

 
  • ブログ管理人の横瀬兼元(ペンネーム)です。

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽物がいるらしいので偽物にご注意ください。
no image
シンプルなニューラルネットワークに基づいたEA(の記事)

MQLの記事って、ロシア語->英語->日本語の順に訳されるんで日本語の

no image
自動売買における仮想ストップロス、仮想テイクプロフィットの概念と意味

最近の自動売買系の論文やコードを読んでいると「仮想ストップロス」、「仮

no image
[bitwallet]paypal, Netteler, Skrillの次のオンラインマネーウォレット

近頃FX業界ではbitwallet(旧:mybitwallet)という

no image
ストップレベル=0はストップレベルがないことではない

MT4/MT5では予約注文を行う際にストップレベルというものがあります

no image
私の偽者、偽ブログにご注意ください

読者の方からご連絡いただいたのですが、私のブログの内容をそのままコピー

→もっと見る

PAGE TOP ↑