📉

短期・長期MAクロスEAの実装/評価

2025/01/06に公開

MQL4でのEA作成手順を把握するため、シンプルな売買ルールのEAを実装し、バックテスト評価を行った。
バックテストには、Tick data suite からダウンロードしたヒストリカルデータを利用。

ロジック仕様

通貨ペア:制限なし

時間足:制限なし

使用するテクニカル指標

  • 短期MA:周期5、SMA
  • 長期MA:周期25、SMA

エントリー

  • ろうそく足確定のタイミングでエントリーする。
  • 短期MAが長期MAを上抜いたら買い。
  • 短期MAが長期MAを下抜いたら売り。
  • ポジション保有中はエントリーしない。

決済

  • エントリー後(または30分足確定時にTP/SL未設定だった場合)にTP・SLを固定(100pips)で設定する。
  • 保有ポジションと逆方向のエントリーサインが発生した場合、ろうそく足確定で決済する。

その他

  • ロット数固定(最低ロット数、0.01)

実装

作成したソースコードは以下。
https://github.com/yyosshu/mql/blob/master/MQL4/Experts/MACrossEA.mq4

バックテスト評価

ヒストリカルデータは、Tick data suite の Dukascopy を利用。
MT4ストラテジーテスターで「ティックデータを使う」にチェック入れてバックテストを実施。
バックテスト期間は直近6年(2019/1/1~2024/12/31)。

レポート結果

バックテストのレポート結果

チャート表示

バックテストのチャート表示

※デバッグ用にMAクロス(エントリーサイン)が発生した時の価格を黄色オブジェクトで表示。

チャート表示する際の注意点

Tick data suiteでバックテストした場合、バックテスト期間の最初から最後までチャート表示するには下記作業が必要なので注意。

バックテスト実行後に作成されるhstファイルをMT4のヒストリーデータフォルダにコピーする。

C:\Users\{ユーザーフォルダ名}\AppData\Local\Tick Data Suite\Dukascopy\{通貨ペア}\GMT2DST1\*.hst

↓ hstファイルコピー

C:\Users\{ユーザーフォルダ名}\AppData\Roaming\MetaQuotes\Terminal\{MT4データフォルダ名}\history\{証券会社サーバー名}

Discussion