コンテンツにスキップ

【コラム】MT5×Python #3 — 軽い EA でテスターと HTML

#2 までで、ヒストリカル足を Python で表にするところまで来ました。次は ストラテジーテスターです。ここからしばらく、検証の本体は MT5 の画面操作になります。Python は そのあとに出てくるファイルを扱う立場です。

この記事の3行まとめ

  • 軽い EA(EA_Smoke_LightMA_v1)でテスターを回し、HTML レポートを保存する(検証の本体は MT5)
  • 公式 Python API に テスター起動はない — Python がやるのはあくまで 保存後のファイル処理#4
  • ライブの自動売買は本記事の範囲外。まずはテスターとデータ取得に慣れる

1. 使う EA のイメージ

EA_Smoke_LightMA_v1 は、速い EMA と遅い EMA のクロスだけを組み込んだ、スモークテスト向けの軽い EA です。
Hurst や ATR フィルターは入れておらず、パラメータを極力少なくしてあります。目的は「テスター・HTML 保存の流れを通す」ことなので、損益の良し悪しはサンプル程度で構いません。

ダウンロード

以下からサンプル EA のソース(.mq5)を取得し、MetaEditor で開いてコンパイルしてください。

EA_Smoke_LightMA_v1.mq5 をダウンロード

コンパイル後、MQL5/Experts/ など所定の場所に置き、テスターの Expert に選べる状態にしておきます。


2. ストラテジーテスターの設定(例)

  1. 表示ストラテジーテスター を開く。
  2. ExpertEA_Smoke_LightMA_v1 を選ぶ。
  3. 銘柄(例: USDJPY)と 時間足(例: H1)を指定。
  4. 期間は、過去データが十分な範囲にする。
  5. モデルは、まずは 「1 分足の OHLC に基づく」 など、お使いの環境で推奨されるものから選ぶ。
  6. ロット・マジックは EA の input に従う(デフォルトのままでも可)。

最適化ではなく、単発のバックテストでよいです。まずは スタート が押せて、グラフやサマリーが出るまでを目標にします。

ストラテジーテスターの設定例(EA・銘柄・期間・モデルは環境に合わせてください)

単発バックテスト後のチャート例(サンプル EA のため損益は参考程度)


3. HTML レポートの保存

テストが終わったら、レポートを HTML で保存します。メニュー名はビルドで差がありますが、「レポートを保存」系の項目から HTML を選ぶイメージです。

  • 保存先は 分かりやすいフォルダ(あとで Python から読むときのため)にしておくとよいです。
  • ファイル名は ReportTester-xxxxxxxx.html のような形式になることが多いです。

この HTML が、#4 で Python から読む対象になります。


4. Python 側でできること・できないこと

ここが重要です。

区分 内容
できない テスターを Python だけで CLI から起動すること(公式 MetaTrader5 にその API はない)
できる(#4 以降) 保存した HTML を読む、中の JSON を抜き出す、チャート画像を再生成する、など

つまり 「テストを回す人」は MT5「結果ファイルを加工する人」は Python、という役割分担です。


次回予告

#4 では、保存した HTMLscripts\mt5_data_fetcher.py --chart-from-html などで後処理し、Balance / Equity 風の PNG を出す流れを扱います。


免責の一文

本記事は検証・学習用の技術メモであり、投資助言ではありません。FX には損失リスクがあります。最終判断はご自身の責任でお願いします。


#2 に戻る 連載マップ #4 へ

— SPONSORED —