【コラム】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. ストラテジーテスターの設定(例)¶
- 表示 → ストラテジーテスター を開く。
- Expert に
EA_Smoke_LightMA_v1を選ぶ。 - 銘柄(例: USDJPY)と 時間足(例: H1)を指定。
- 期間は、過去データが十分な範囲にする。
- モデルは、まずは 「1 分足の OHLC に基づく」 など、お使いの環境で推奨されるものから選ぶ。
- ロット・マジックは EA の
inputに従う(デフォルトのままでも可)。
最適化ではなく、単発のバックテストでよいです。まずは スタート が押せて、グラフやサマリーが出るまでを目標にします。


3. HTML レポートの保存¶
テストが終わったら、レポートを HTML で保存します。メニュー名はビルドで差がありますが、「レポートを保存」系の項目から HTML を選ぶイメージです。
- 保存先は 分かりやすいフォルダ(あとで Python から読むときのため)にしておくとよいです。
- ファイル名は
ReportTester-xxxxxxxx.htmlのような形式になることが多いです。
この HTML が、#4 で Python から読む対象になります。
4. Python 側でできること・できないこと¶
ここが重要です。
| 区分 | 内容 |
|---|---|
| できない | テスターを Python だけで CLI から起動すること(公式 MetaTrader5 にその API はない) |
| できる(#4 以降) | 保存した HTML を読む、中の JSON を抜き出す、チャート画像を再生成する、など |
つまり 「テストを回す人」は MT5、「結果ファイルを加工する人」は Python、という役割分担です。
次回予告¶
#4 では、保存した HTML を scripts\mt5_data_fetcher.py --chart-from-html などで後処理し、Balance / Equity 風の PNG を出す流れを扱います。
免責の一文¶
本記事は検証・学習用の技術メモであり、投資助言ではありません。FX には損失リスクがあります。最終判断はご自身の責任でお願いします。