【初心者向けEA入門】サマータイムとヒストリカルデータ~日本時間を使うEAでバックテストする場合の注意事項~

日本時間や五十日(ごとうび)のEAを作ろうとしたらサマータイムでハマってしまった。結論を言うとEAで日本時間を使う場合はサマータイムの考慮が必要。バックテストの場合は使用しているヒストリカルデータにあわせてサマータイムを考慮する必要がある。基本的にヒストリカルデータは実際のチャートと同じになると思う。

注意事項

本記事はFXの自動売買に使用されるプログラムについて解説していますが内容を保証するものではありません。金銭にかかわる内容であるためご注意ください。参考にする場合は自己責任でお願いします。

注意事項(追記:2021/02/25)

サマータイムへの切り替えのタイミングはサーバー(証券会社)によって異なりますのでご注意ください。サマータイムへの切り替えタイミングは対象の証券会社のサイトで確認してください。

MT4(MT5)と日本時間

MT4を起動して時間を確認すると日本時間と異なっているのはわかる。2月の時差を確認すると。時差が7時間あるのがわかる。

サマータイムとは

サマータイムとは1年のうちで日照時間の長い月の時間帯を変更する超エキセントリックなルール。システム屋ならわかるがこんなバグの元凶になるようなもの本当にやめてほしい。FXでは3月の第2日曜日から11月の第1日曜日が夏時間となる。

先ほど2月はプラス7時間であったが、これがサマータイムになるとプラス6時間になる。例えば日本時間の朝9時にエントリーしようと思ったら冬時間はMT4時間が2時、夏時間なら3時。過去データを見る場合にサマータイムを考慮しないと1時間ずれてしまう可能性がある。

証券会社の仕様

デモで使用しているFXDDの仕様を確認する。

3. 夏時間・冬時間の変わり目はいつですか?
3月の第2日曜日に冬時間から夏時間に変わり、11月の第1日曜日に冬時間に変わります。

引用:FXDD公式ブログへようこそ » 取引時間

システム上では為替が動いていない日曜日に切り替えが行われている。

バックテストとサマータイム

バックテストをした場合にサマータイムをどう考慮すればよいのだろうか?

4. MT4でバックテストを行いたいのですが、日本時間 X時から Y時まではMT4では何時ですか?
上記の図をご参考ください。日本は夏時間のときMT4の時間より6時間進んで、冬時間の場合は7時間進んでいます。従って、MT4時間に変えるときはその時間を引いて計算してください。

引用:FXDD公式ブログへようこそ » 取引時間

FXDDを例にするとバックテストデータはサマータイムが適用されている。例えば8月の過去データは6時間、12月の過去データは7時間プラスすると日本時間となる。

ヒストリカルデータ

バックテストするためのデータをダウンロードできるがそのデータの時間がどうなっているかはそれぞれ異なる可能性がある。

FXDDを例に説明する。過去データもサマータイムが考慮されているので日本時間の補正が夏と冬で異なる。基本的にフォワードテストとバックテストで同じプログラムで対応できそうだ。

5. バックテストのデーターはそれぞれ冬時間と夏時間に調整されていますか?
日本時間とMT4時間の差が夏時間や冬時間で変わりますが、MT4時間では変化はございません。従って、夏時間や冬時間はMT4上では関係ありません。

引用:FXDD公式ブログへようこそ » 取引時間

ヒストリカルデータの信頼性

ヒストリカルデータについて調べていると信頼性について気になる情報がいくつか見つかった。本気でバックテストするならFT4買った方がいいんだろうか。

参考 朝スキャEAの評価に適したヒストリカルデータと、適さないヒストリカルデータnekonoteのFXで自動売買 参考 FXDDヒストリカルデータの時間軸について川蝉のFX自動売買

まとめ

サマータイムを考慮したタイミングで何が正しいのかわからなくなりパニくってしまった。MT4の日本時間表示も夏時間はずれているのだがはじめは気づかなかった。時差、サマータイム、ヒストリカルデータ、をちゃんと理解しないとバックテストの精度は上がらない。

MT4(冬時間) GMT+2 日本との時差-7時間
MT4(夏時間) GMT+3 日本との時差-6時間
日本時間 GMT+9
ポイント
  • MT4の時間は日本時間と差がある
  • 日本時間を使うEAはサマータイムに注意
  • ヒストリカルデータの信頼性は未知数

日本時間を使うと色々面倒です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です。入力した「コメント」、「名前」、「サイト」は一般公開されます。匿名の場合は「名前」にニックネームを使用してください。