本文へスキップ
EA開発・自作

生成AIでEAを作る手順と限界|ChatGPTで書けること・書けないこと

生成AIにMQL5のEAを書かせる実務手順と、出てきたコードで必ず確認すべき7項目を整理しました。プロンプトの雛形つきで、AIが短縮できる工程と、どうしても短縮できない工程を切り分けます。

執筆: Redington 公開: 最終更新:

PR当ページにはプロモーション(アフィリエイト広告)が含まれます。順位・評価は公開の評価基準に基づき編集部が独立して決定しています。EAの成績はすべて過去の検証結果であり、将来の利益を保証するものではありません。海外FX業者は金融庁未登録です。

この記事の目次
  1. AIが得意な工程・苦手な工程
  2. 実務手順:5ステップ
    1. ステップ1:仕様を先に文章で確定する
    2. ステップ2:役割と制約を明示してプロンプトを組む
    3. ステップ3:出力されたコードを自分で読む
    4. ステップ4:デモ口座で挙動を確認する
    5. ステップ5:検証はAIに任せず自分でやる
  3. AIが特に役立つ3つの使い方
    1. 1. エラーの原因調査
    2. 2. 既存コードの解説
    3. 3. 部分的な機能の追加
  4. AIでは解決しない3つのこと
    1. 優位性は生まれない
    2. 検証の責任は移らない
    3. 「AI」というラベルは品質を保証しない
  5. 販売を考える場合の注意
  6. よくある失敗
  7. まとめ

生成AIにMQL5のコードを書かせること自体は、2026年時点ですでに実用的な水準にあります。問題は、そこで短縮できる工程が全体のどこなのかが理解されていないことです。EA自作の工程のうちAIが肩代わりできるのは実装部分だけで、ロジックの発見も、検証も、資金設計も、依然として人間の仕事として残ります。この記事では、実際に使える手順と、出てきたコードで必ず確認すべき項目を整理します。

✅ 結論

生成AIは「仕様をコードに翻訳する」工程で強く、「優位性のあるロジックを考える」工程では役に立ちません。したがって仕様が文章で固まっている人ほど恩恵が大きく、固まっていない人には何も起きません。出てきたコードは必ず自分で読み、ロット丸め・ストップレベル・配列の並び順・MQL4混入の4点を確認してからデモで検証してください。

AIが得意な工程・苦手な工程

工程

AIの適性

補足

ロジックを考える

低

一般論は返ってくるが、優位性は生まれない

仕様を文章に整える

中

曖昧な点を質問させる使い方は有効

MQL5のコードを書く

高

定型的なロジックほど精度が高い

既存コードの解説

高

買ったEAのソースを読む助けになる

バグの原因調査

高

エラーコードとログを渡すと切り分けが早い

MQL4→MQL5の書き換え

中

下書きとしては有効。そのままでは通らない

バックテストの設計

低

設定の意味は説明できるが、判断は人間

過剰最適化の判定

低

数字の良し悪しをAIに聞いても意味がない

資金・ロットの設計

低

計算は手伝えるが、許容リスクは本人の問題

「低」が並んでいる工程は、 EA自作の完全ロードマップ でいうステップ2・5・7にあたります。ここは短縮できません。

実務手順:5ステップ

ステップ1:仕様を先に文章で確定する

AIに投げる前に、自分で次の6項目を埋めます。ここが曖昧なままだと、AIは「それらしい」コードを返しますが、あなたの意図とは別物になります。

  • 通貨ペアと時間足(1つずつ固定する)
  • エントリー条件(参照する足と価格まで指定)
  • 利確条件
  • 損切り条件(必ず数値で)
  • ロットの決め方
  • 動かさない時間帯

ステップ2:役割と制約を明示してプロンプトを組む

短い指示より、制約を並べたほうが精度が上がります。次のテンプレートをコピーして使ってください。

あなたはMQL5のEA開発者です。以下の仕様でMT5用のEAを書いてください。

【厳守】
- MQL5のみを使用。MQL4の関数(OrderSend の旧形式、OrderSelect など)は使わない
- 発注は #include <Trade\Trade.mqh> の CTrade クラスを使う
- 判定は「確定足」で行う。形成中の足(index 0)で判断しない
- 配列は必ず ArraySetAsSeries で時系列順に設定する
- ロットは SYMBOL_VOLUME_MIN / _STEP / _MAX で丸める
- SL/TP は SYMBOL_TRADE_STOPS_LEVEL を確認し、NormalizeDouble で桁を揃える
- マジックナンバーで自分のポジションだけを判定する
- 発注結果のリターンコードを Print で出力する
- 調整したい値はすべて input 変数にする

【仕様】
- 通貨ペア : USDJPY / 時間足 : H1
- 買い : EMA(12) が EMA(48) を上抜けた次の確定足の始値で成行買い
- 売り : EMA(12) が EMA(48) を下抜けた次の確定足の始値で成行売り
- 損切り : 300ポイント固定
- 利確   : 600ポイント固定
- 同時保有 : 最大1ポジション
- ナンピン・マーチンゲールは使わない

【出力】
- 完全な .mq5 のソースコード1ファイル
- 各関数の先頭に日本語のコメントを付ける
- 仕様に書かれていない挙動を勝手に追加しない。
  不明な点はコードを書く前に質問してください

💡 ポイント

最後の「不明な点は質問してください」が効きます。これを入れないと、AIは曖昧な箇所を自分の判断で埋めてしまいます。逆に入れておくと、自分でも気づいていなかった仕様の穴が質問という形で返ってきます。

ステップ3:出力されたコードを自分で読む

ここを飛ばすと、AIを使う意味の大半が失われます。最低限、次の7項目を自分の目で確認してください。

#

確認項目

よくある誤りの症状

1

MQL4の関数が混ざっていないか

OrderSelect() や旧形式の OrderSend() が出てくる。コンパイルエラーになる

2

iMA() の戻り値をハンドルとして扱っているか

数値として直接比較している。MQL4の記憶が混入した典型例

3

ArraySetAsSeries() が入っているか

抜けると配列の並び順が逆になり、判定が反転する

4

確定足で判定しているか

index 0(形成中の足)を見ていると、同じ足で何度もシグナルが出る

5

ロットを丸めているか

最小値・刻み値に合わず 10014(Invalid volume)で弾かれる

6

SL/TPのストップレベルを確認しているか

近すぎて 10016(Invalid stops)で弾かれる

7

発注結果を記録しているか

全件失敗していても気づけない

⚠️ 注意

1〜4はコンパイルが通るのに意図通りに動かない類型を含みます。「エラーが出なかったから正しい」という判断はできません。各項目が何を意味するかはMQL5の基本構造で解説しています。

ステップ4:デモ口座で挙動を確認する

コンパイルが通ったら、まずデモで動かします。確認するのは成績ではなく挙動です。

  • 想定した条件でエントリーしているか(ログにエントリー理由を出力させる)
  • 同じ足で重複エントリーしていないか
  • SL/TPが意図した価格に設定されているか
  • 「エキスパート」タブにエラーが溜まっていないか
  • サーバー時刻のずれで時間フィルタがずれていないか( サーバー時間とGMTオフセット )

ステップ5:検証はAIに任せず自分でやる

バックテストの結果をAIに読ませて「良いですか?」と聞くのは意味がありません。判断基準は数字ではなく、その数字がどう作られたかにあるからです。期間を分割した検証、パラメータ感度の確認、ウォークフォワードまで自分で回してください( ウォークフォワード分析 、 カーブフィッティングの見抜き方 )。

AIが特に役立つ3つの使い方

生成AIの最も現実的な用途は、実はゼロからのEA生成ではありません。

1. エラーの原因調査

MT5のエラーコードとログの該当行を貼り付けて原因を聞く使い方です。10030(Invalid fill)、10014(Invalid volume)、10016(Invalid stops)のような頻出コードは、切り分けが早く済みます( 注文エラーの原因と対処 )。

2. 既存コードの解説

ソース付きで配布されているEAや、自分が昔書いたコードを読む助けになります。「この関数は何をしているか」「この条件が真になるのはどういう相場か」を聞きながら読むと、理解が速く進みます。

3. 部分的な機能の追加

すでに動いているEAに、時間帯フィルタやスプレッドフィルターを足す作業です。全体を書かせるより、変更範囲が限定されるぶん検証しやすく、失敗しても切り戻しが容易です。

AIでは解決しない3つのこと

優位性は生まれない

AIは既存の情報からもっともらしい回答を構成します。「勝てるロジックを教えて」という問いに返ってくるのは、公開情報として流通している一般論です。それが市場で機能するなら、すでに機能していません。

検証の責任は移らない

コードの出どころが何であれ、実口座に入れる判断をするのは自分です。AIが書いたことは、損失が出たときの理由になりません。

「AI」というラベルは品質を保証しない

市販EAの世界では、2026年時点で「AI搭載」を謳う商品が多数流通しています。しかし当編集部が調査した範囲では、ラベルと実績が一致しない例も確認されています。たとえば「ニューラルネット+ChatGPT-4 Turbo統合のAIスキャルピング」と説明されるEAが、MQL5 Market上の評価で★3.58(62件)にとどまり、ライブシグナルが削除されている例がありました(MQL5 Market製品ページ、2026年9月24日確認)。

📊 データ

2026年、日本の金融庁の無登録業者リストには、「AI」を冠した投資ソフトの販売事業者が複数掲載されています。行為類型はいずれも「投資顧問契約に基づき、SNS等を通じて、投資助言業務を行っていたもの」です(出典: 金融庁「無登録で金融商品取引業を行う者の名称等について」、2026年8月27日更新版、2026年9月24日確認)。対象は株式のAIソフトが中心ですが、「ソフトの形をしていても、継続的に売買判断を提供すれば投資助言業」という当局の見方が読み取れます。

販売を考える場合の注意

AIに書かせたコードを販売する場合、確認すべきは3点です。

確認先

内容

利用しているAIサービスの規約

生成物の商用利用が認められているか

販売プラットフォームの規約

MQL5 Marketは審査あり、GogoJungleはフォワード実績の記録が必須

金融商品取引法上の位置づけ

売り切り販売か、継続的な情報提供を伴うか

「ソフトを売り切りで販売する」ことと、「購入者ごとにパラメータを調整して渡す」「売買判断を継続的に配信する」「口座情報を預かる」ことの間には、法的な意味で大きな差があります。詳しくは 作ったEAを販売するには と EA販売は違法になるのか で整理しています。

よくある失敗

  1. 仕様を決めずにAIに丸投げする。 返ってくるのは「一般的なEA」であって、あなたのEAではありません。
  2. コードを読まずにコンパイルだけ確認する。 前述の1〜4の誤りは、コンパイルでは検出できません。
  3. AIの説明を検証せずに信じる。 MQL5の仕様については、必ず MQL5公式リファレンス で裏を取ってください。
  4. バックテストの良し悪しをAIに判断させる。 過剰最適化かどうかは、数字ではなく作り方の問題です。
  5. MQL4のコードを貼って「MQL5に直して」で済ませる。 下書きにはなりますが、注文APIの設計が違うため、そのままでは動きません。
  6. デモを飛ばして実口座に入れる。 最も高い授業料になります。

まとめ

生成AIは、EA自作の実装工程を大幅に短縮します。一方で、ロジックの発見・検証・資金設計という本体部分には触れません。**結果として、AIの恩恵を最も受けるのは「仕様を書ける人」**です。逆に言えば、AIを使いこなすための準備は、AIの使い方を学ぶことではなく、自分のルールを言葉にする訓練になります。

次に読むべき記事として、コードを読めるようになりたい方は MQL5の基本構造 へ、コードを書かない選択肢を比べたい方は ノーコードEA作成ツールの比較 へ、実装だけを他人に任せたい方は EA開発の外注費用と発注テンプレート へ進んでください。全体像は EA自作の完全ロードマップ にまとめています。

よくある質問

Q.ChatGPTでEAを作れますか?どこまでできますか?
仕様が文章で固まっていれば、MQL5のコードを書かせること自体はできます。移動平均クロスのような定型的なロジックなら、コンパイルが通るコードが出てくることも珍しくありません。できないのは「勝てるロジックを考えること」と「そのEAを検証して実運用の判断をすること」です。AIが短縮するのは実装工程だけで、全体の2〜3割にとどまります。
Q.生成AIが書いたコードはそのまま使えますか?
使わないでください。実務で頻出する誤りは、MQL4とMQL5の記法が混ざる、iMA()の戻り値を数値として扱う、ArraySetAsSeries()を忘れて配列の並び順が逆になる、ロットの丸めとストップレベルの確認が抜ける、の4つです。いずれもコンパイルは通るのに意図通りに動かない種類の不具合です。本記事のチェックリストで確認してください。
Q.AI搭載と書かれた市販EAは、生成AIで作られているのですか?
別の話です。販売ページの「AI搭載」は多くの場合、EAの内部で機械学習モデルやニューラルネットワークを使っているという主張であり、開発に生成AIを使ったという意味ではありません。どちらにせよ、実装手段が何であれ評価軸は変わりません。フォワード実績、最大ドローダウン、取引回数で判断してください(AI搭載EAの実態)。
Q.AIに書かせたEAを販売してもいいですか?
利用しているAIサービスの利用規約と、販売先プラットフォームの規約を両方確認してください。加えて、EAの販売形態によっては金融商品取引法上の論点が生じます。2026年にはAIを前面に出した投資ソフトの販売事業者が、無登録の投資助言業として金融庁の警告リストに複数掲載されています(出典: 金融庁 国内業者リスト、2026年9月24日確認)。詳しくは作ったEAを販売するにはをご覧ください。
Q.プログラミングを学ばずにAIだけで完結できますか?
完結しません。AIが出したコードが意図通りかを判断するには、最低限コードを読める必要があります。読めないまま実口座で動かすことは、中身のわからない市販EAを買うのと同じ状態です。むしろAIは「学習の伴走者」として使うほうが効果的で、生成されたコードの各行の意味を説明させる使い方が最も実りがあります。

関連記事