
MT4 / MT5 ・ 運用中
MT4のバックテストを、データの取得から結果の保存まで自動で回す道具を作った
過去データの準備からテストの実行、結果の読み取りまでを、スクリプトが順に進めます。
こんなことで困っていませんか?
- テストのたびに、画面で同じ設定を繰り返し入力している
- 過去データの一部が欠けたまま、テストが進んでしまうことがある
- 結果の数字を読み取って、表に書き写す手間がかかる
そこで、MT4 のテストを手順どおりに自動で回す道具を作り、受託の MT4 案件でも活用しています。
この道具なら、こうなります
- スクリプトを実行するだけで、テストの一連の流れが自動で進む
- 取得に失敗した日は、再実行するだけで取り直せる
- 結果が CSV にまとまり、あとで比較しやすい
どんな仕組みか
公開されている 1分足(1分ごとの値動きデータ) を取得し、MT4 が読める形式(.hst)に変換して配置します。
これまで
- EA(自動売買)を用意
- プログラム変換
- 画面で設定して実行
- 手作業で操作
- 結果を表に書き写す
同じ手順を、毎回手作業で繰り返す
いま
- EA(自動売買)を指定
- スクリプトを実行
- 自動でテストを実行
- レポート読み取り
- 結果を CSV に保存
手順を一度決めれば、同じ流れで自動で進む
休場の時間に入っている、値動きのないデータは 除きます。取引量は、MT4 のテストが読める ティック数(値動きの回数) として記録します。
自動売買プログラム(EA)を準備し、テスト用の設定ファイルを作ってから、MT4 を自動で起動します。
終わったら、日本語のレポートを読み取り、結果を CSV にまとめます。

手順が多くて間違えやすい作業を、スクリプトに任せました。どんな条件でテストを実行したかが、あとから見ても分かるようにしています。
安心して使えるようにした工夫
欠けたデータを、そのまま使わない
データの取得では、サーバーが混み合っているとエラー画面が返ってくることがあります。そのエラー画面を誤ってデータとして保存すると、次回から「取得済み」と判断され、データが欠けたままテストが進んでしまいます。
そこで、取得したファイルは中身を確かめてから保存します。正しく確認できなかった日は、データが欠けていることを画面に表示します。
欠けた日は、もう一度実行するだけで取り直せます。
テストの条件を、ファイルに残す
テストの設定は、テスト用のファイル(.set)に書き出してから使います。どのような条件で実行したかが、ファイルとして手元に残ります。
テストが時間内に終わらないときや、プログラムの変換(コンパイル)に失敗したときは、画面に理由を表示して止まります。
日本語のレポートを、そのまま読み取る
日本語版の MT4 が出力するレポートは、文字コード(文字データの形式)が Shift-JIS です。スクリプトは、この文字コードを指定して読み取ります。
レポート内の項目名は、日本語と英語のどちらでも読み取れるようにしています。

毎日の「ちょっとした二度手間」ほど、仕組みにすると楽になります。小さな作業でも、気軽に相談してください。
How it works
頼んだ後の流れ
ご相談
ぼんやりした段階でも大丈夫
ヒアリング
今の作業と困りごとを伺います
お見積もり
範囲と費用を決めます
開発
動くものを見ながら進めます
納品・運用
手順書つきで納品します
設計とレビューは人、実装とテストは AI と分担しています。
「うちの場合は?」から聞いてください。
似た作業の自動化、同じやり方でお手伝いできます。まずは AI に聞いてみるのも手です。