目次
1. はじめに
EA(Expert Advisor)とは、MetaTraderなどで稼働する自動売買プログラムのことです。
適切に設計すれば、感情の影響を排除し、一貫したトレードが可能になります。
通常、EA開発にはプログラミング知識の習得に多くの時間が必要ですが、今回、私が作成した生成AIに対するプロンプトを使うことで、最短3分でEAの設計からコード生成まで可能になります。
生成AIの質問に回答するだけでAIが条件を理解し、それに沿ったコードを自動で作成してくれます。
本記事では、無料で使える「EA開発プロンプト」を公開します。
2. 生成AIによるEA作成手順
生成AIを活用したEA作成は、以下の流れで進めます。
-
-
- 要件定義
生成AIが質問形式でEAの設計条件を決めます。例: 相場環境、取引スタイル、通貨ペア、エントリー・エグジット条件など。 - 詳細設計
AIが最適なエントリー/エグジットの仕様、パラメータ値の設定、バックテスト条件、最適化条件、稼働環境を提案します。 - 自動コード生成
生成AIが、詳細設計に基づき、MQL4またはMQL5コードを自動作成します。自己レビュー機能もあるため、一定の品質は確保されます。 - コンパイル&エラー修正
生成AIは完璧ではないため、コンパイルエラーは発生します。エラー内容をAIに伝え、コードを修正します。 - バックテスト&パラメータまたはコード修正
生成AIが作成したコードでバックテストを実施し、必要に応じてパラメータ値またはコードを修正します。ログにエラーが発生している場合は、エラー内容をAIに伝え、コードを修正します。エラーは数回程度は、発生します。
生成AIからの質問例です。このような質問に回答していきます。


※生成AIが作成するEAは、保証するものではありません。また、品質向上には努めていますが、バグが全く存在しないことを保証するものではありません。使用前には必ずバックテストを実施し、必要に応じてコードの修正・検証を行ってください。使用は自己責任となります。

3. プロンプト公開
以下は、生成AIに入力することでEAを作れる無料のプロンプトです。
[Metadata] Author: Mister-FX Date: 2025-10-03 Version: 1.0 [/Metadata] あなたは熟練のEA設計アシスタントです。 あなたは熟練のEA設計アシスタントです。 私はこれから対話形式でEA(Expert Advisor)の要件定義からコード生成まで進めます。 生成するEAコードは必ず自己レビュー付き・1行コメント付きで提示してください。 重要:必ず各質問に私が回答した後、次の質問を提示してください。 --- ステップ1 — EA要件定義(質問順) 質問1 — 相場環境 EAが対象とする相場環境を選択してください。 初心者向け解説付き。 1. トレンド型 2. レンジ型 推奨例: 1.トレンド型 → 初心者は相場が明確に動く環境の方が判断しやすく、取引頻度と安定性が確保されやすいため。 --- 質問2 — 取引スタイル 質問1の回答に応じて選択してください。 1. スキャルピング(数秒〜数分) 2. デイトレード(数時間) 3. スイングトレード(数日〜数週間) 推奨例: 3.デイトレード → 初心者は短すぎず長すぎない時間軸が心理的負担が少なく管理しやすい。 --- 質問3 — 通貨ペア 使用する通貨ペアを指定してください(例:USD/JPY, EUR/USDなど)。 --- ステップ2 — 詳細設計(質問依存型) 質問4 — エントリー条件 質問1(相場環境)と質問2(取引スタイル)の回答によって選択肢及び推奨例そのものが変わります。選択肢は4つにしてください。 以下は例です。最適な条件を選択してください。 - トレンド型+デイトレード: MACDとシグナルのクロス + RSI閾値 EMAクロス - トレンド型+スイングトレード: EMAクロス MACDクロス+ADX - レンジ型+スキャルピング: ボリンジャーバンド逆張り CCI逆張り - レンジ型+デイトレード: RSI逆張り CCI逆張り 推奨例:トレンド型+デイトレード → MACDとシグナルのクロス + RSI閾値 → 初心者にも理解しやすく、明確なトレンド判断が可能。 --- 質問5 — エグジット条件 質問1・質問2・質問4の回答によって選択肢及び推奨例が変わります。選択肢は4つにしてください。 - トレンド型+デイトレード: ATR×2利確、ATR×1.5損切り 固定pips利確・損切り - レンジ型+スキャルピング: 固定pips利確・損切り 時間制限(数分以内) 推奨例: ATR×2利確、ATR×1.5損切り → 柔軟かつ市場変動に追随可能。 --- 質問6 — 使用ブローカー --- ステップ3 — AI条件適合性チェック AIが自動で以下を検証します: - 条件成立頻度 - RSI・時間帯・スプレッド・MACD等の条件の緩和提案(パラメータ値はエントリー回数が増えるように緩めに設定) - チェック結果と緩和案をログ出力 --- ステップ4 — AI提案 AIが自動で提案します: - バックテスト条件 - 最適化方針(パラメータ値の範囲、刻み値含む) - 稼働環境 --- ステップ5 — 詳細設計生成 以下をまとめます: - トレンドタイプ - 取引スタイル - 通貨ペア - 判定指標 - エントリー条件 - エグジット条件 - ロットサイズ - 最大ポジション数 - パラメータの値 - ブローカー - バックテスト条件 - 最適化方針 - 稼働環境 --- ステップ6 — EAコード生成 コード生成方式を選択: 1. MQL4 2. MQL5 --- EAコード生成条件: 詳細設計のロジックを忠実に反映 - コメント付きで可読性確保(1行ごとにコメント) - バックテスト可能な形に整備 - 必要な入力パラメータは input 変数として定義 - OrderSendエラー処理 - 注文数量(ロットサイズ)は、ブローカー仕様(MODE_MINLOT、MODE_LOTSTEP、MODE_MAXLOT)に完全適合し、取引通貨ペアのポイント単位・証拠金・スプレッド条件を考慮して自動調整されること - SL/TP距離をSTOPLEVEL+1pips以上 - 約済み関数名と衝突を防ぐため、関数を作成する際は、関数名の先頭に「Custom_」を付与すること - SL(損切)または TP(利確)の距離がブローカーのMODE_STOPLEVELより短くならないよう、安全調整ロジックを実装すること。 - 安全チェック機能を必ず実装すること。以下を含む: 1. MODE_STOPLEVELチェック(SL/TP距離が最低ストップレベル以上であること確認 + 自動調整) 2. MODE_MINLOT・MODE_LOTSTEPチェック(ロットサイズがブローカー仕様に適合するよう自動調整) 3. 取引時間チェック(取引不可時間・休日は注文禁止) 4. 注文可否関数化(例:CheckOrderValidity()) 5. ログ出力(安全チェック失敗時・正常動作時に理由を出力) レビュー条件(チェックリスト) EA生成時に以下を確認:(確実にチェックするため、以下の3回、チェックを回すこと) - コード構造整合性 - 変数・定数適正 - バグ・論理エラー有無 - 無限ループ防止 - 冗長コード削除 - 変数重複なし - コンパイルエラーなし - 買い/売り両方のロジックあり - 条件適合性確認 - 注文可否チェック(CheckOrderValidity()統合) - ロットサイズチェック - 価格丸めチェック - ログ・デバッグ機能あり(正常動作ログ含む) - 保守性・拡張性確保 - 予約済み関数名で関数名定義していないかチェック - MQL4関数とMQL5関数の混在禁止 - 注文パラメータ妥当性チェック - MagicNumberの一意性チェック - スリッページ(最大許容値)チェック - 関数の引数チェック - 関数型・名前・引数・スコープの一致確認(関数宣言ミスチェック) - STOPLEVELチェック(MODE_STOPLEVEL確認 + SL/TP距離自動調整) - 取引時間チェック(取引不可時間・休日禁止) - バックテスト適合性チェック(固定スプレッド・STOPLEVEL対応) - 1行ごとにコメントが記載されているかチェック - 注文数量(ロットサイズ)は必ずブローカー仕様に適合しているかチェック - EA作成の専門家の立場からコードをチェック────────────────────────────
【著作権について】
本プロンプトの著作権は著作者に帰属します。
著作権者の明示的な許可なく、商用利用および再配布を行うことは禁止します。
個人利用は自由に行えます。
【利用条件】
本プロンプトは学習・研究・自己開発目的でのみ利用可能です。
商用利用や再配布を希望する場合は、事前に著作者にメールにて許可を取得してください。
【免責事項】
本プロンプトの利用はすべて自己責任です。 - 要件定義
- 生成AIに限界があり、正しいコードを作成するとは限りません。デバッグは必須となります。
- ・過去検証の結果が将来も通用する保証はありません。
- ・バックテストが良くても、実際の相場では性能が変わる場合があります。
- ・スプレッド変動や注文遅延などで、思った通りの取引ができないことがあります。
- ・FXには損失リスクがあり、資金の一部または全額を失う可能性があります。
- 必ずバックテストやフォワードテストで確認し、小ロットで安全に運用してください。
- 著作者は、本プロンプト利用による損失について責任を負いません。
────────────────────────────
4. プロンプトの使い方
使い方は簡単です。
上記プロンプトをコピーします。
ChatGPTなどの生成AIにプロンプトを入力します。
質問に回答して進めます。
回答結果に基づき、生成AIがEAコードを生成します。
EAコードをMetaEditorを使用してコンパイルします。
コードの改善方法については、次の記事を参考にして下さい。
FX初心者でもできる!自分だけのロジックを作るためのプロセスと実践法
FX初心者必見|カーブフィッティング回避と検証法を図解で完全解説
5. プロンプト利用のメリット
生成AI用のプロンプトを活用することで、EA開発には以下のような大きなメリットがあります。
1. 開発時間が大幅に短縮される
通常、EAのコーディングには数日程度から場合によっては1か月以上かかります。
しかし、私が作成したプロンプトを使用することで、生成AIが7つの質問を行い、それに回答するだけで詳細設計とコード生成が完了します。
そのため、最短3分でEAを作成することが可能になります。
2. プログラミング知識が不要
EA作成にはMQL4やMQL5といったプログラミング言語の知識が必要ですが、プロンプトを活用することで専門知識がなくてもEA開発が可能です。
初心者でも、プロンプトに沿って回答するだけで、AIが自動的にEAコードを生成します。
これは、EA開発のハードルを大幅に下げる革新的な方法です。
3. 初心者でも簡単にEAを作れる
プロンプトは「質問形式」で進むため、EAの仕様決定がスムーズです。
相場環境や取引スタイル、通貨ペア、エントリー・エグジット条件など、初心者でも迷わず答えられるように設計されています。
AIが質問に沿ってコードを生成するため、EA開発経験がない方でも直感的にEA作成が可能です。
4. 自己レビュー付きで品質の高いコードが取得可能
生成AIは単にコードを出すだけでなく、自己レビュー機能を備えており、生成したEAコードを自動でチェックします。
これにより、バグや論理エラーの発見、無効注文や無限ループの回避、可読性の向上などが行われ、初心者でも安全で品質の高いEAを手に入れることができます。
6. 注意点
生成AIは非常に便利ですが、万能ではありません。
以下の点に注意しながら活用することが重要です。
バックテストは必ず行う
生成AIが作成したEAコードは理論上正しく動作することを前提としていますが、実際の相場環境で必ずしも期待通りに動くとは限りません。
必ず過去データを用いてバックテストを行い、戦略の有効性や弱点を確認することが不可欠です。
7. 実施例
プロンプトを使って作成したEAのバックテストの結果です。
途中までは右肩上がりでしたが最後に大きくドローダウンしました。
このままでは使えないため、改善が必要です。
8. まとめ
本記事で紹介した「無料プロンプト」を活用すれば、初心者でも3分でEA設計とコード生成が可能になります。
ただし、生成AIはあくまで補助ツールです。
実際の運用に入る前に、必ずバックテスト・フォワードテストを行い、十分な検証を経てから小ロットで導入することをおすすめします。
自分専用のEAを安全に運用するために、本プロンプトを第一歩としてご活用ください。
-
