EAを自作する完全ロードマップ|MQL5入門から検証・販売までの8工程
EA自作の全工程を8ステップで整理しました。環境構築、ロジックの仕様化、MQL5実装、バックテスト、フォワード検証、資金設計、販売まで。学習期間の目安と、書かずに済ませる近道も示します。
PR当ページにはプロモーション(アフィリエイト広告)が含まれます。順位・評価は公開の評価基準に基づき編集部が独立して決定しています。EAの成績はすべて過去の検証結果であり、将来の利益を保証するものではありません。海外FX業者は金融庁未登録です。
この記事の目次
EAの自作は「MQL5を覚えること」だと思われがちですが、実際に時間を取られるのはコードではありません。ロジックを言葉に落とす作業、検証の設計、そして資金とロットの決定です。コードが書けても、この3つを飛ばしたEAは実運用に耐えません。この記事では、EA自作の全工程を8つのステップに分解し、それぞれで何を決めるべきか、どこで詰まりやすいかを順に整理します。
✅ 結論
EA自作は「①判断 → ②環境 → ③仕様化 → ④実装 → ⑤バックテスト → ⑥最適化の抑制 → ⑦フォワード検証 → ⑧運用設計」の8段階です。コードを書く工程(④)は全体の2〜3割にすぎません。最も事故が起きるのは⑥と⑧です。最初の1本は「移動平均クロス+固定損切り」で十分で、複雑にするのは検証の型ができてからです。
全体像:8つのステップと成果物
| ステップ | やること | 成果物 | 目安時間 |
|---|---|---|---|
| 0 | 自作するか買うかを決める | 判断メモ | 1日 |
| 1 | 環境を用意する | MT5+MetaEditor+デモ口座 | 1〜2時間 |
| 2 | ロジックを日本語で書く | 仕様書(1〜2ページ) | 数日 |
| 3 | MQL5で最小実装する |
| 10〜40時間 |
| 4 | バックテストで検証する | レポート・エクイティ曲線 | 数日 |
| 5 | 最適化と過剰最適化の判定 | ウォークフォワード結果 | 1〜2週間 |
| 6 | フォワードテスト | デモ運用の記録 | 3〜6か月 |
| 7 | 運用設計(資金・ロット・停止条件) | 運用ルール書 | 1日 |
| 8 | 販売するかを決める(任意) | 出品 or 自家用 | — |
ステップ6が最も長い工程です。「作る時間より待つ時間のほうが長い」ことを最初に織り込んでおくと、途中で焦って実口座に投入する事故を避けられます。
ステップ0:そもそも自作すべきか
自作は万能ではありません。目的によっては市販EAを買うほうが合理的です。
| あなたの状況 | 向いている選択 | 理由 |
|---|---|---|
| 自分の裁量ルールがすでに言語化されている | 自作 | 仕様化の工程を半分スキップできる |
| ロジックの中身を把握したい | 自作 | 市販EAはブラックボックスであることが多い |
| すぐに運用を始めたい | 市販EA | 自作は最短でも半年かかる |
| 検証の経験がまったくない | どちらでも(ただし検証を先に学ぶ) | 自作でも購入でも評価軸は同じ |
| 「勝てるロジックを探す」のが目的 | 自作は近道にならない | 実装は手段で、ロジックの発見は別問題 |
⚠️ 注意
「自作すれば市販EAより勝てる」という前提は成り立ちません。自作の利点は中身が見えることといつでも直せることであって、期待リターンが高くなることではありません。自作か購入かに関わらず、EAの評価軸は同じです(EAの選び方)。
ステップ1:環境を用意する
必要なものは3つだけです。
- MetaTrader 5(MT5) — 業者から配布されるインストーラを使います。これから学ぶならMT5一択です。MetaQuotes社はMT4の新規ライセンス販売を終了しており(出典: MetaTrader 4 for brokers 、2026年9月24日確認)、国内でもMT4提供を終える業者が出ています。
- MetaEditor — MT5に同梱されるエディタ兼コンパイラです。MT5から F4 で起動します。別途インストールは不要です。
- デモ口座 — 検証と動作確認に使います。最初からリアル口座を使う理由はありません。
ファイルの置き場所は、MT5の「ファイル」→「データフォルダを開く」から辿った MQL5\Experts\ です。インストール先のフォルダに置いても認識されません。導入まわりの詳細は EAの導入手順 にまとめています。
💡 ポイント
バックテストの精度は業者のヒストリカルデータに依存します。検証専用の口座と、実運用の口座を分けて考えてください。両者のスプレッドが違えば、同じEAでも結果は変わります。
ステップ2:ロジックを日本語で書く
ここを飛ばすと、実装中に仕様が揺れて必ず作り直しになります。最低限、次の6項目を紙に書き出してください。
| 項目 | 書くこと | 悪い例 |
|---|---|---|
| 対象 | 通貨ペア・時間足を1つずつ固定する | 「全ペア対応」 |
| エントリー条件 | 「12EMAが48EMAを上抜けた確定足の始値で買う」 | 「上昇トレンドで買う」 |
| 決済条件(利確) | 固定pips/指標到達/時間経過のいずれか | 「伸びたら利確」 |
| 決済条件(損切り) | 必ず数値で定義する | 「状況次第」 |
| ロット | 固定ロットか、残高に対する比率か | 「様子を見て増やす」 |
| 動かさない時間帯 | 指標発表・ロールオーバー・週明けなど | (未定義) |
コツは、「判断に迷う余地が残っていないか」を自分で読み返すことです。曖昧な表現が1つでも残っていれば、それはまだコードにできません。この仕様書は、後で外注する場合にもそのまま使えます( EA開発の外注費用と発注テンプレート )。
最初の1本に向くロジック、向かないロジック
| 向いている | 向いていない |
|---|---|
| 移動平均クロス | ナンピン・マーチンゲール |
| ブレイクアウト(前日高安の更新など) | グリッド(等間隔の自動積み増し) |
| 時間帯限定のレンジ戦略 | 複数EAの協調動作 |
| RSI・ボリンジャーバンドの単純な逆張り | ニューラルネットによる価格予測 |
ナンピン系を最初に選ばないでください。バックテストの見た目が最も良くなるにもかかわらず、破綻の構造が数式で説明できてしまう類型です( ナンピンマーチンのリスク 、 ナンピンマーチン破綻シミュレーター )。
ステップ3:MQL5で最小実装する
MQL5のEAは、覚えるべき骨格が小さい言語です。
| 要素 | 役割 |
|---|---|
|
| 起動時に1回。インジケーターのハンドル生成、パラメータ検証 |
|
| ティックごと。判定と発注 |
|
| 終了時に1回。後片付け |
|
|
|
公式リファレンスは CTrade を「取引関数へ簡単にアクセスするためのクラス」と説明しています(出典: MQL5 Reference - CTrade 、2026年9月24日確認)。低レベルの MqlTradeRequest 構造体を直接組む方法もありますが、最初は CTrade から入るほうが挫折しにくい構成です。
動く最小コードと、初学者がつまずく箇所(配列の並び順、確定足の参照、マジックナンバーの扱い)は MQL5の基本構造 にまとめました。
実装で必ず入れるべき安全装置
- マジックナンバーを必ず設定し、自分のポジションだけを数える( マジックナンバーの決め方 )
- ロットを銘柄の最小値・刻み値に丸める(丸めないと注文が弾かれます)
- SL/TPがストップレベル以内になっていないか確認する
- 発注の戻り値・リターンコードをログに出す( 注文エラーの原因と対処 )
- 最大ポジション数の上限をEA側に持たせる
ステップ4:バックテストで検証する
MT5のストラテジーテスターで動かします。ここで見るべきは「利益額」ではなく、次の項目です。
| 指標 | 一般に語られる目安 | 補足 |
|---|---|---|
| プロフィットファクター(PF) | 実運用で1.2〜1.5が実用圏 | バックテストで3を超えるなら過剰最適化を疑う |
| 最大ドローダウン | 選定時の目安は20%以下 | 残高DDではなく有効証拠金DDを見る |
| 取引回数 | 1,500〜2,000回以上 | 少ないと統計的に意味を持たない |
| 検証期間 | 3年以上(理想は10年) | 相場環境が異なる局面を跨ぐこと |
| リカバリーファクター | 年1.0以上 | 総利益 ÷ 最大DD |
※上記はEA販売各社・解説媒体の主張が収束している水準であり、公的な基準ではありません。
📊 データ
MetaQuotes社自身がシグナル選定ガイドで「高収益かつ低リスクのトレーディングシグナルは存在しない」と明記し、低リスクの目安として「最大ドローダウン20%以内」「最低3か月以上の稼働歴」を挙げています(出典: MQL5公式記事、2026年9月24日確認)。自作EAの自己評価にもそのまま使える基準です。
テストの設定次第で結果は大きく変わります。特にスプレッドを固定の最小値にしたまま検証すると、スキャルピング系は現実離れした好成績になります。設定の詳細は バックテストの正しいやり方 と モデリング品質の意味 を参照してください。
ステップ5:最適化と、過剰最適化の抑制
MT5のテスターはパラメータを総当たりで探索できます。便利ですが、ここがEA自作で最も事故が起きる工程です。
過去データに最もよく合う組み合わせは必ず見つかります。しかしそれは「過去を説明する数字」であって、「将来を予測する数字」ではありません。判別のための実務手順は次の通りです。
- 期間を分割する。 例:2015〜2021年で最適化し、2022〜2026年では一切触らずに検証する。
- パラメータ感度を見る。 最適値の前後をずらしても成績がなだらかなら健全。最適値だけが突出しているなら、それは偶然です。
- パラメータの数を数える。 調整項目が多いほど過去に合わせやすくなります。5個を超えたら赤信号と考えてください。
- ウォークフォワードまで回す。 最適化と検証を時間軸に沿って繰り返します( ウォークフォワード分析 )。
🚨 危険
「バックテストの成績が良くなるまでパラメータを探す」作業は、検証ではなく結果の選択です。カーブフィッティングの典型的な症状と見分け方はカーブフィッティングの見抜き方にまとめています。市販EAの販売ページを評価するときにも同じ視点が使えます。
ステップ6:フォワードテストで待つ
バックテストが通ったEAを、デモ口座で最低3〜6か月動かします。ここで確認するのは成績だけではありません。
- 想定した時間帯・頻度で本当にエントリーしているか
- サーバー時刻のずれで時間フィルタが1時間ずれていないか( サーバー時間とGMTオフセット )
- 指標発表時やロールオーバー時に異常な約定をしていないか
- 週末をまたいだとき、月曜のギャップで想定外の損失が出ていないか
- ログにエラーが蓄積していないか
バックテストとライブが乖離する要因は、スプレッド差、スリッページ、約定遅延、業者ごとの価格フィード差など複数あります。テスターは完璧に約定しますが、実際はEAが条件を検知してからサーバーに届くまでに時間がかかります。 バックテストとリアルの差 で要因を分解しています。
フォワードの設計そのものは フォワードテストの設計 にまとめました。
ステップ7:運用設計(ここを飛ばすと全部無駄になる)
「良いEA」を「悪い運用」で動かせば結果は悪くなります。実口座に入れる前に、次の3つを数値で決めてください。
7-1. 推奨初期資金を逆算する
バックテストの最大ドローダウン(金額ベース、有効証拠金基準)から必要資金を出します。
C_dd = 最大Equity DD × (実運用ロット ÷ テスト時ロット) × k ÷ 許容DD率
C_margin = 最大必要証拠金 ÷ 0.30
推奨初期資金 = max(C_dd, C_margin) k は安全係数で、1.5〜2.0 が目安です。過去最大DDは「たまたま観測された最大値」であって将来の上限ではないため、余裕を持たせます。
計算例:最大Equity DDが12万円、ロットはテストと同じ、k = 2.0、許容DD率40%、最大必要証拠金3万円の場合。
C_dd = 120,000 × 1.0 × 2.0 ÷ 0.40 = 600,000円
C_margin = 30,000 ÷ 0.30 = 100,000円
推奨初期資金 = 600,000円 0.1ロット固定でこの金額です。「10万円から始められます」という宣伝文句との距離を実感できるはずです。数値を入れて試す場合は 必要資金・許容DD計算機 が使えます。
7-2. ロットを決める
残高に対するリスク率から逆算します。1トレードあたりのリスクは1〜2%が一般的な出発点です。
ロット = (口座残高 × リスク率) ÷ (損切り幅[pips] × 1pipsあたりの価値) ロット・必要証拠金計算機 で確認できます。複利で増やす設計は、ドローダウン局面で最大ロットを持つという構造的な弱点を抱えます。最初は固定ロットから始めてください。
7-3. 止める条件を先に決める
走り出してから決めると、必ず「もう少しだけ」になります。最低限、次の5つを数値で書き出しておきます。
| # | トリガー | しきい値の例 |
|---|---|---|
| 1 | 口座全体のDD | 初期資金比 −20%でロット半減 |
| 2 | 口座全体のDD | 初期資金比 −30〜40%で完全停止 |
| 3 | 連敗数 | 想定最大連敗数の1.5倍を超過 |
| 4 | 連続マイナス月 | 3か月連続で停止・再検証 |
| 5 | 取引頻度の異常 | 月間取引数がテスト平均の2倍超/3分の1未満 |
ドローダウンからの回復に必要なリターンは、DD30%で+42.9%、DD50%で+100%です。DD50%を超えた時点で実質的に再起不能と考えるのが、停止ラインを30〜40%に置く根拠です。詳しい作り方は 運用停止ルールの作り方 にまとめました。
ステップ8:販売という選択肢
自家用にとどめる選択もありますが、販売を検討する場合は販路ごとに条件が大きく異なります。
| 販路 | 手数料 | 最低価格 | 出品の条件 |
|---|---|---|---|
| MQL5 Market | 売上の**20%**を自動徴収 | 30ドル | 審査あり。購入者はアクティベーション5〜20回 |
| GogoJungle | システムトレードの販売手数料35%+アフィリエイト報酬最低10% | 規定なし | バックテスト10年以上・期間中の損益プラスが基準。2026年9月10日発表でフォワード実績記録の連携が必須化 |
(出典: MQL5 Market Rules / GogoJungle 出品ガイド・プレスリリース、いずれも2026年9月24日確認)
販売形態によっては金融商品取引法上の論点が生じます。「ソフトを売り切りで販売する」ことと、「購入者ごとにパラメータを調整して渡す」「売買判断を継続的に配信する」「口座情報を預かる」ことの間には大きな差があります。詳細は 作ったEAを販売するには と EA販売は違法になるのか で整理しています。
コードを書かない3つの近道
自作=フルスクラッチとは限りません。目的に応じて次の選択肢があります。
| 手段 | 向いている場面 | 限界 |
|---|---|---|
| 生成AIに書かせる | 定型的な処理、既存コードの修正、エラーの原因調査 | 相場の優位性は生まれない。検証の責任は自分に残る |
| ノーコードツール | ロジックが単純で、コードを学ぶ時間がない場合 | 表現できるロジックに制約がある。ツール依存が残る |
| 外注する | 仕様が明文化できていて、実装だけが障壁の場合 | 仕様が曖昧だと費用も期間も膨らむ |
それぞれ 生成AIでEAを作る手順と限界 、 ノーコードEA作成ツールの比較 、 EA開発の外注費用と発注テンプレート で詳しく扱っています。
ℹ️ 補足
どの手段を選んでも、検証と運用設計(ステップ4〜7)は省略できません。コードの出どころが変わるだけで、そのEAを実口座に入れる判断の責任は自分に残ります。
よくある失敗
- 仕様書を書かずにコードから入る。 途中で条件が変わり、何度も作り直すことになります。
- 最初のEAを複雑にしすぎる。 不調の原因を切り分けられなくなります。移動平均クロスで十分です。
- バックテストの数字を成果と誤解する。 過去に合わせた数字であって、将来の期待値ではありません。
- 損切りを入れない。 含み損を抱え続ける設計はバックテストの見た目が良くなりますが、想定外の相場で一度に飛びます。
- フォワードを省略する。 実装バグと時間フィルタのずれは、デモ運用でしか見つかりません。
- 必要資金を計算せずに入金額を決める。 ステップ7-1の逆算をしないと、想定の半分のDDで強制ロスカットになります。
- 止める条件を決めずに始める。 判断が必要な局面では、必ず楽観側に判断が歪みます。
- 他人のEAをデコンパイルして流用する。 著作権とプラットフォームの利用規約の両面で問題があります。行うべきではありません。
学習スケジュールの目安
| 期間 | 到達目標 |
|---|---|
| 1〜2週目 | MT5・MetaEditorの操作、 |
| 3〜4週目 | 移動平均クロスEAが動く。デモでエントリーから決済まで通る |
| 2か月目 | バックテストが回る。レポートの各指標の意味がわかる |
| 3か月目 | 期間分割・ウォークフォワードで検証できる |
| 4〜9か月目 | デモでフォワードテスト。並行してロジックの改良 |
| 10か月目以降 | 資金設計・停止ルールを決めて小ロットで実運用の判断 |
週5時間の学習を前提にした目安です。急ぐ理由は何もありません。 EAは急いで作るほど、検証を省いた分だけ後から費用として戻ってきます。
まとめ
EA自作の本体は、コードではなく検証と運用設計です。最初の1本は単純なロジックで構いません。むしろ単純なほうが、検証の型を身につけるには適しています。
次に読むべき記事として、実際にコードを書き始める方は MQL5の基本構造 へ、検証の手順を固めたい方は バックテストの正しいやり方 へ進んでください。作る前に初心者が踏む地雷を把握しておきたい方は EA初心者がやりがちな失敗10個 が参考になります。
よくある質問
Q.プログラミング未経験でもEAは作れますか?
Q.EAを自作すれば市販EAより有利になりますか?
Q.自作EAのバックテストはどれくらいの期間やれば十分ですか?
Q.作ったEAはどこで販売できますか?
Q.自作にどれくらい時間がかかりますか?
Q.MQL4とMQL5のどちらを学ぶべきですか?
関連記事
生成AIでEAを作る手順と限界|ChatGPTで書けること・書けないこと
更新: 2026年9月24日
EA開発・自作MQL5の基本構造|OnInit・OnTick・注文関数を最小コードで理解
更新: 2026年9月24日
EA開発・自作ノーコードのEA作成ツール比較|料金・出力形式・日本語対応の違い
更新: 2026年9月24日
EA開発・自作EA開発の外注費用の相場|依頼先5種の比較と発注仕様書テンプレート
更新: 2026年9月24日
EA開発・自作自作EAを販売する方法|MQL5・GogoJungleの手数料と法的な注意点
更新: 2026年9月24日
国内EAEA販売サイト比較5社|GogoJungle・MQL5・EA-BANKの手数料と成績開示
更新: 2026年9月24日