最終更新: 2026年06月
2026年、MQL5のEA開発の現場は2年前と様変わりしている。
筆者がEA開発を始めた頃は、OnInit・OnTick・CTradeライブラリの使い方を覚えるだけで数週間かかった。今はClaudeに戦略の仕様を渡せば、ボイラープレートを含む初期コードが数分で出てくる。バックテストで動かせるレベルまでの時間が、感覚的に5〜10分の1になった。
ただし「Claudeが代わりに稼いでくれる」は完全な誤解だ。コード生成は速くなったが、「何を作るか」の設計判断と「本当に正しいか」の検証判断は依然として人間が担う。本稿では、ClaudeエージェントをEA開発のどのフェーズでどう使うか、実際のワークフローを整理する。
EAとしてのClaudeの位置づけ:何が変わり何が変わらないか
まず認識をそろえておく。
変わったこと:
- MQL5の構文知識がなくてもコードを生成できる
- ボイラープレート(OnInit/OnTick構造・ハンドル管理・リリース処理)が自動化される
- エラーメッセージをそのまま貼って修正依頼ができる
- 1アイデアを実装するまでの時間が劇的に短くなった
変わらないこと:
- 「どういう条件でエントリーするか」という戦略設計は人間が考える
- バックテストによる検証は必須
- 過剰最適化・カーブフィッティングのリスクは変わらない
- 生成されたコードが「意図通りに動くか」の確認は人間が行う
MQL5開発者のMauricio Vellasquezが言う「ゴミを入れればゴミが出る」は本質を突いている。Claudeへの指示の質がそのままコードの質に直結する。
免責: EAは損失を生む可能性があります。Claudeが生成したコードはデモ口座で徹底検証してから使用してください。
ステップ1:マスタープロンプト——戦略の仕様を完全に言語化する
Claudeへの最初の依頼が品質を決める。「RSIとMAを使ったEAを作って」では不十分だ。筆者が使っているマスタープロンプトのテンプレートを示す。
以下の仕様でMQL5のEAを作成してください。
【基本情報】
- 対応プラットフォーム: MT5(MQL5)
- 使用ライブラリ: CTrade
【エントリー条件】
- ロング: EMA20がEMA50を上回り、かつRSI14が50以上かつ70未満
- ショート: EMA20がEMA50を下回り、かつRSI14が50以下かつ30超
- 同方向のポジションが既にある場合は新規エントリーしない
【エグジット条件】
- ストップロス: エントリー時ATR14の1.5倍
- テイクプロフィット: エントリー時ATR14の2.5倍
- トレーリングストップ: エントリーから利益がATR14の1倍に達したら、SLをATR14の0.5倍まで引き上げる
【リスク管理】
- 1トレードのリスク: 口座残高の1%
- ロット計算: ストップロス幅から逆算(自動計算)
- 同時最大ポジション数: 1
【入力パラメータ】
- MagicNumber(デフォルト: 12345)
- EMA短期期間(デフォルト: 20)
- EMA長期期間(デフォルト: 50)
- RSI期間(デフォルト: 14)
- ATR期間(デフォルト: 14)
- リスク割合(デフォルト: 1.0)
【コード要件】
- インジケータハンドルはOnInitで作成、OnDeinitでリリース
- バッファ参照は[1](前バー確定値)を基本とする
- CopyBufferの戻り値を必ずチェックする
- ポジション存在確認はPositionSelectByTicket(またはPositionsTotal)で行う
この形式で依頼すると、コンパイルが通る初期コードが出てくる確率が大幅に上がる。
ステップ2:生成コードのレビューポイント
Claudeが生成したコードをメタエディターに貼ってコンパイルする前に、以下の点を確認する。「MQL5の挙動特有の落とし穴」がここに集中している。
チェックリスト
| 確認ポイント | よくある問題 | 対処 |
|---|---|---|
| インジケータハンドル | OnTickで毎回作成している | OnInitに移動させる |
| バッファのシリーズ設定 | ArraySetAsSeriesが抜けている | CopyBuffer前に必ず呼ぶ |
| ピップスとポイント | _Pointをそのまま使っている | 5桁口座は_Point * 10が必要な場合がある |
| CopyBuffer戻り値 | チェックなし | if(CopyBuffer(...) < 0) return; |
| ポジション管理 | MagicNumber未チェックで全ポジションを操作 | PositionGetInteger(POSITION_MAGIC)で絞る |
Claudeに「シニア開発者の視点でこのコードのバグを探してください」と貼り直すと、自分で見落とした問題を指摘してくれることが多い。これを「セルフレビュー依頼」として組み込むのが効率的だ。
ステップ3:エラー修正のサイクル
コンパイルエラーや実行時エラーはそのままClaudeに投げる。
以下のエラーが出ています。修正してください。
エラーメッセージ:
'iCustom' - wrong parameters count (行: 47)
関連コード:
handle = iCustom(_Symbol, _Period, "MyIndicator", input1, input2);
(コード全文を貼る)
エラーメッセージ + 関連コード + 「コード全文」の3点セットで投げると、コードの文脈を理解した修正が返ってくる。「エラーだけ」を投げても的外れな回答になりやすい。
ステップ4:Claudeエージェントを使った継続的開発
2026年4月に公開ベータになったClaude Managed Agentsは、EAの継続的な改善フローに使える可能性がある。料金は時間あたり$0.08のセッション費用+トークン費用という従量制。
筆者が実験したのは以下のフロー:
- バックテスト結果のログをエージェントに渡す
- 「プロフィットファクターが1.2未満のパラメータ組み合わせの傾向を分析して」と依頼
- エージェントがCSVを解析して脆弱なパラメータ範囲を特定する
- 「この範囲を除外したパラメータセットで再テストするMQL5コードを修正して」
コード生成 → バックテスト → 分析 → 改善の反復が速くなる。ただし「エージェントが勝手に最適化してくれる」ではなく、各ステップの判断は人間が介在する設計にしている。
Claudeと会話しながらインジケータが作れるhedgrow-fxはこちら。
重要:コンパイル済みファイルの壁
既存のEAを改造したい場合の注意点。MQL5 MarketやGogoJungleで購入したEAは.ex5ファイル(コンパイル済み・暗号化済み)で配布されることが多い。
Claudeを含むどのAIも、.ex5ファイルの内部は読めない。
改造できるのは.mq5のソースコード形式のみ。購入時にソースコードが付属するか、または売主がソースを提供するかを確認すること。無料配布EAでも.mq5が添付されているものはClaudeで改造可能だ。
プロンプトエンジニアリングの実践的コツ
コツ1:役割を明確に指定する
あなたは10年以上のMQL5開発経験を持つシニアアルゴリズムトレーダーです。
以下の仕様でプロフェッショナル品質のEAを作成してください。
コツ2:段階的に依頼する
一度に全機能を依頼するより、「基本ロジックのみ」→「リスク管理追加」→「フィルター追加」と段階的に肉付けする方が品質が安定する。
コツ3:コードの変更範囲を指定する
以下のコードに「ロンドン時間(8:00〜16:30 GMT)のみエントリーを許可するフィルター」を追加してください。
他のロジックは変更しないでください。
「他は変更しないで」という指定は重要。Claudeは要求されていない改善を加えることがあり、意図しない挙動変化につながる。
バックテストとフォワードテスト:ここは省略できない
Claudeがコードを生成してくれても、バックテストとフォワードテストは必須だ。
- 最低バックテスト期間: 5年以上(複数の市場局面を含む)
- プロフィットファクター目安: 1.5以上(1.2〜1.5は注意圏)
- フォワードテスト期間: デモ口座で3ヶ月以上
バックテスト結果が優秀でも、それはあくまで過去のデータへの適合だ。フォワードテストで崩れた場合は過剰最適化を疑う。
よくある質問(FAQ)
Q: Claudeで作ったEAは実際に利益が出ますか?
A: AIが生成したコードは、あくまでプログラムの実装を担う。利益が出るかどうかは、戦略そのものの優位性によって決まる。「Claudeが作った=稼げる」ではない。検証なしの本番運用は行わないでください。
Q: MQL4とMQL5、どちらをClaudeに依頼する方がいいですか?
A: Claudeはどちらも対応しているが、MQL5の方が生成品質が安定している印象がある。新規開発ならMQL5、既存のMT4 EAを改造するならMQL4で依頼するのが現実的だ。
Q: 会話が長くなるとコードの品質が落ちる気がします。対処法はありますか?
A: コンテキスト長の問題。「今のコードの最終版はこれです」として完全なコードを貼り直してから依頼を続けると改善する。長い会話の中でClaudeが参照しているコードが古くなっているケースが多い。
Q: Claude Managed Agentsと通常のClaude APIの使い分けは?
A: バックテストCSVの分析・複数ファイルにまたがるリファクタリング・長期的なコード改善サイクルにはManaged Agentsが向く。単発のコード生成・デバッグには通常のAPIで十分。セッション費用が発生するため、短い作業ならAPIで十分。
Claudeと会話しながらインジケータが作れるhedgrow-fxはこちら。
免責事項: 本記事はMQL5 EA開発の技術的情報提供を目的としています。Claudeが生成したコードの動作を保証するものではなく、バックテスト結果は将来のパフォーマンスを保証しません。FX取引は元本損失リスクを伴い、すべての損益は投資家自身の責任に帰します。
