🤖 AIでEAを作る基礎 #プロンプト #ChatGPT #Claude #MQL4 #EA開発

AIへのプロンプト、日本語と英語どっちがいい?実際に比べてみた

(更新: 2026年1月28日) 読了 約9分

「MQL4は英語ベースのコードだから、プロンプトも英語で書いた方が精度が上がるんじゃないか?」

AIでEAを作り始めた人なら、一度はこの疑問を持ったはずです。結論から言うと、最新のGPT-4やClaudeを使うなら日本語でも十分な精度が出ます。 ただし、ちょっとしたコツを守るかどうかで品質に差が出ます。

この記事では、同じ売買ロジックを日本語・英語のプロンプトで実際に生成させ、コードの品質を比較した結果をお伝えします。


「英語の方が精度が高い」という噂は本当か?

検索すると「AIには英語でプロンプトを書くべき」という情報が出てきます。これは事実ではありますが、2024〜2025年以降の最新モデルではほぼ当てはまりません。

以前のモデル(GPT-3.5以前)は英語での学習データが圧倒的に多かったため、英語プロンプトの方が安定していました。しかし現在のGPT-4やClaude 3以降では、日本語の理解精度は英語と同等レベルに達しています。

では、MQL4のコード生成においてはどうか?実際に検証してみました。


検証方法

比較するロジック

シンプルなRSIの逆張りロジックを使います。

  • 買い条件:RSI(14)が30を下回ったら成行き買いエントリー
  • 売り条件:RSI(14)が70を上回ったら成行き売りエントリー
  • 決済:反対のシグナルが出たら決済

使用したAI

  • ChatGPT(GPT-4o)
  • Claude(claude-sonnet-4-6)

評価基準

評価項目内容
コンパイル成功MT4 MetaEditorでエラーなしにコンパイルできるか
ロジックの正確性指定した売買条件が正しく実装されているか
コードの読みやすさ変数名・コメントが適切か
コードの品質不要な処理がなく、シンプルに書かれているか

日本語プロンプトの場合

使用したプロンプト

MT4で動くMQL4のEAを作ってください。

【売買ロジック】
- RSI(14)が30を下回ったら買いエントリー(成行き)
- RSI(14)が70を上回ったら売りエントリー(成行き)
- 買いポジションは、RSIが70を上回ったら決済
- 売りポジションは、RSIが30を下回ったら決済
- 同時に保有するポジションは1つまで

【仕様】
- ロット数は外部パラメーターで変更できるようにする(デフォルト: 0.1)
- RSIの期間も外部パラメーターで変更できるようにする(デフォルト: 14)
- EAのプロパティにCopyright、Author、Versionを入れる

コンパイルできる完全なMQL4コードを出力してください。

生成されたコードの特徴

日本語プロンプトから生成されたコードには以下の特徴が見られました。

良かった点

  • コンパイルエラーなし(両AIとも)
  • コメントが日本語で入り、コードを読みやすい
  • 変数名も rsiValuelotSize など英語で適切に命名

気になった点

  • ChatGPTの出力では Close[0] を使った先読みバグが発生(後述)
  • Claudeは iRSI() 関数の引数を正確に使用していた

[画像:日本語プロンプトで生成されたMQL4コードをMetaEditorに貼り付けてコンパイルしているスクリーンショット]


英語プロンプトの場合

使用したプロンプト

Please create an EA (Expert Advisor) for MetaTrader 4 in MQL4.

[Trading Logic]
- Buy entry (market order) when RSI(14) falls below 30
- Sell entry (market order) when RSI(14) rises above 70
- Close buy position when RSI rises above 70
- Close sell position when RSI falls below 30
- Maximum 1 position at a time

[Specifications]
- Lot size should be an external input parameter (default: 0.1)
- RSI period should be an external input parameter (default: 14)
- Include Copyright, Author, and Version in EA properties

Please output the complete, compilable MQL4 code.

生成されたコードの特徴

良かった点

  • コンパイルエラーなし(両AIとも)
  • 関数名・変数名の英語命名が自然(OnTickCheckSignal など)
  • MQL4の慣習に沿ったコード構造

気になった点

  • コメントが英語になるため、日本語話者には読みにくい
  • ロジックの正確性は日本語プロンプトと同等

比較結果:大きな差はない、ただしコツがある

評価まとめ

評価項目日本語プロンプト英語プロンプト
コンパイル成功率◎(両AI)◎(両AI)
ロジックの正確性
コードの読みやすさ◎(日本語コメント)△(英語コメント)
変数・関数名の自然さ
MQL4特有の関数の精度△(たまにバグ)◎(やや安定)

結論:品質に大きな差はありません。 ただし、OrderSend()iRSI()などMQL4特有の関数の引数については、英語プロンプトの方がわずかに正確な傾向がありました。

💡 INFO iRSI() 関数の正しい引数は iRSI(symbol, timeframe, period, applied_price, shift) の5つです。日本語プロンプトだとたまに引数の数が違うコードが出ることがあります。英語で Use iRSI() with correct 5 parameters と補足するだけで精度が上がります。


結論:ハイブリッドが最強

おすすめの書き方

日本語でロジックを説明し、技術的な指定だけ英語で補足するハイブリッド方式が最もバランスが良いです。

MT4で動くMQL4のEAを作ってください。

【売買ロジック】
- RSI(14)が30を下回ったら買いエントリー
- RSI(14)が70を上回ったら売りエントリー
- 同時保有は1ポジションまで

【技術仕様】
- Use iRSI() with correct 5 parameters for MT4
- Use OrderSend() with correct 9 parameters for MT4 Build 600+
- シグナル判定はバー確定後(Close[1]を使用)
- ロット数・RSI期間はextern変数で指定(デフォルト: Lots=0.1, RSIPeriod=14)

日本語コメント付きの完全なMQL4コードを出力してください。

このポイントを押さえるだけで、コンパイルエラーと先読みバグの大半は防げます。

コピペ用プロンプトテンプレート

以下のテンプレートを自分のロジックに合わせて書き換えてください。

MT4で動くMQL4のEAを作ってください。

【売買ロジック】
(ここに自分のロジックを日本語で書く)

【必須技術仕様】
- Use iRSI() / iMACD() / iBands() with correct parameters for MT4
- Use OrderSend() with correct 9 parameters for MT4 Build 600+
- シグナル判定は必ずClose[1](確定バー)を使用すること。Close[0]は使わない
- ポジション管理はOrdersTotal()で既存注文を確認してから発注
- ロット数はextern変数で指定(デフォルト: 0.1)
- マジックナンバーを設定してEA管理を明確にする

日本語コメント付きの完全なMQL4コードを出力してください。
コードは省略せず全文を出力してください。

✅ TIP 「コードは省略せず全文を出力してください」は必ず入れましょう。長いコードは途中で省略されることがあります。


AIごとの違い

ChatGPT(GPT-4o)

  • 汎用的で安定。様々なスタイルのプロンプトに対応
  • 長いコードでも一度に出力できる
  • MQL4の細かい関数仕様(引数の数など)がたまに古い情報を出すことがある
  • 「修正して」を繰り返すと堂々巡りになりやすい

Claude(Sonnet / Opus)

  • 長文コード生成に強い。コード全体の構造を把握した修正が得意
  • 日本語の指示理解が非常に高精度
  • エラーの原因を論理的に説明してくれるのでデバッグに向いている
  • コードが複雑になった時の「ゼロから書き直し」指示が効きやすい

使い分けの提案

作業おすすめ
最初のEA生成どちらでもOK
コンパイルエラーの修正Claude(説明が詳しい)
機能追加・改造ChatGPT(応答が速い)
複雑なロジックのリファクタClaude(全体把握が得意)
堂々巡りになったら反対のAIに切り替える

💡 INFO ChatGPTで解決しない時はClaudeに、Claudeで解決しない時はChatGPTに切り替えてみてください。同じ問題でも「別の視点からの回答」が突破口になることがよくあります。


まとめ:言語より「具体性」が全て

  • 日本語でも英語でもコード品質に大きな差はない
  • MQL4特有の関数名や引数の指定は英語で明記した方が精度が上がる
  • ロジックの説明は日本語、技術仕様は英語のハイブリッドが最強
  • どのAIを使っても「あいまいな指示」が一番ダメ。「RSI系のEAを作って」ではなく「RSI(14)が30を下回ったら買い、70を上回ったら売り」と数値と条件で指定する

プロンプトの書き方に慣れてきたら、次はエラーが出た時の対処法も覚えておきましょう。


関連記事


本記事で紹介するEA・手法は教育目的で作成されたものです。実際の取引で利益を保証するものではありません。EAの運用は必ずデモ口座で十分にテストした上で、自己責任で行ってください。FX取引にはリスクが伴います。

次のステップ

まずデモで動作確認 → OKなら本番運用、が安全です。

デモ口座でEAを回す手順
共有:

関連記事

if (signal && riskOk) { executeEA(); }

for (const tf of [M5, M15, H1]) {

  score += checkTrend(tf);

}

return score >= threshold;

🤖 AIでEAを作る基礎

【完全初心者向け】TradingViewの使い方入門 ― まずは裁量トレードを体験しよう

トレード未経験者向けにTradingViewの基本操作を画像付きで解説。チャートの見方、移動平均線の設定、ペーパートレードのやり方まで、ゼロから始める手順をまとめました。

#TradingView #初心者 #移動平均線

if (signal && riskOk) { executeEA(); }

for (const tf of [M5, M15, H1]) {

  score += checkTrend(tf);

}

return score >= threshold;

🤖 AIでEAを作る基礎

裁量手法をAIに伝えるための「言語化シート」— 穴埋めでプロンプト完成

裁量トレードの経験をAIが理解できる条件文に変換するための穴埋めシートを提供。シートを埋めるだけでMT4のEAを作るプロンプトが完成します。

#言語化 #プロンプト #裁量手法

if (signal && riskOk) { executeEA(); }

for (const tf of [M5, M15, H1]) {

  score += checkTrend(tf);

}

return score >= threshold;

🤖 AIでEAを作る基礎

MQL4エラーをAIで直すデバッグプロンプト集【コピペ用テンプレ付き】

AIが生成したMQL4コードのエラーをパターン別に分類し、AIに修正させるためのプロンプトテンプレートをまとめました。コンパイルエラーから動作不良まで対応。

#MQL4 #エラー #デバッグ
#プロンプト #ChatGPT #Claude #MQL4 #EA開発
目次を表示