メインコンテンツへスキップ
見出し画像

EAを作ろう #4「AIでEA作成、プロンプト・ソースコード全部公開」

    プログラミング不要!AIと二人三脚で挑む「自分専用EA」の世界
    (
    今回出力されたプログラムはダウンロードいただけます。)

    いよいよEAを作っていきます


    お待たせしました。今回からいよいよEA(自動売買プログラム)の作成に入ります。


    前シリーズでは「プログラムの骨格(雛形)は自分が用意して、エントリーロジックだけAIに書かせる」という方法を取っていました。


    今回は違います。全部AIに作ってもらいます。


    画像


    初めての試みなので、正直うまくいかない可能性もゼロではありません。「失敗したらごめんなさい」と先に謝っておきます(笑)。


    でも、AIなので何度でもやり直せます。完璧な結果より、「この方法でいけるんだ」という流れを掴んでもらうことが今回の目標です。

    とはいえ、せっかくなので真剣にいいものを作りにいきます。

    使うAIはどれでもOK


    今回私が使うのは Claude(Anthropic) です。


    すでに別のAIに課金している方はそちらを使っていただいて構いません。コード生成が得意なAIを選ぶのがポイントです。ChatGPT・Gemini・Copilot・Manus・Gensparkなど、どれでも基本的な流れは同じです。


    プロンプトが命です


    AIにEAを作らせるとき、プロンプト(AIへの指示文)の質が出来上がりに直結します。


    「移動平均線のゴールデンクロスでエントリーして」と一言投げるだけでもコードは出てきますが、それだと細かい仕様が曖昧なままでEAが出来上がります。

    あとで「あれ、損切りってどこだっけ」「ロット数は?」という穴だらけの状態になりがちです。


    そこで今回は「対話形式でAIと仕様を詰めていく」方法を採用します。AIに一問一答で質問してもらいながら、自分のアイデアを整理していくスタイルです。


    画像



    以下のプロンプトをAIのチャットに貼り付けてください。

    # Role
    あなたは世界最高峰のMQL4(MetaTrader 4)エンジニアであり、FXトレーディング戦略のアーキテクトです。ユーザー(私)の抽象的なアイデアを、具体的で堅牢なEA(Expert Advisor)へと昇華させるのがあなたの任務です。
    
    # Mission
    1. 私が作りたいEAのアイデアを形にするため、「対話形式」でヒアリングを行ってください。
    2. 一度に多くの質問をせず、必ず「一つずつ」質問してください。
    3. 私の回答を分析し、エンジニアとしての視点から「より良い提案(リスク管理や論理的な矛盾の指摘)」があれば、次の質問の際に併せて提示してください。
    4. 全ての仕様(ロジック、資金管理、例外処理など)が明確になったと判断したら、その旨を確認した上で、完璧なMQL4コードを出力してください。
    
    # Initial Information Needed
    以下の要素を順番に固めていく必要があります。
    - 通貨ペア、時間足の指定
    - エントリー条件(インジケーターの使用、プライスアクション等)
    - 決済条件(利確・損切幅、トレーリングストップ等)
    - リスク管理(ロット数、資金に対する割合、最大ポジション数)
    - 特殊な機能(時間制限、週末持ち越し等)
    
    # Start
    まずは、あなたが「どのような戦略のEAを作りたいか」の概要を聞くことから始めてください。


    Claudeを使う場合は新規チャットまたは新規プロジェクトを作成してこのプロンプトを貼り付けます。
    他のAIをお使いの方も、同様に新規の会話で始めてください。



    画像


    AIが「どんな戦略を考えていますか?」と聞いてきたら、あなたのアイデアを答えるだけです。一問一答で進んでいくので、「プログラムのことは何もわからない」という方でも大丈夫。

    自分のトレードアイデアさえあれば、あとはAIがうまく引き出してくれます。


    画像



    画像


    画像


    画像


    画像


    IFO注文について(少し先の話)

    対話を進める途中でAIに対してIFO注文をリクエストしました。


    今回のEAではIFO注文を採用しています。

    💡 IFO注文とは? エントリーと同時に利確・損切の注文を一括で出す注文方式です。 MT4が起動していなくてもFX会社のサーバー側で決済処理が行われるため、 自宅PCが落ちていても注文が生きたままになります。


    今回読者の中には最初からVPSはハードルが高いという人がいるかも知れないので。「VPSなしで運用したい」という方にとっては安心できる方式です。

    ※VPS(インターネット上の仮想PC。24時間MT4を動かし続けるために使う、有料で契約が必要)


    画像



    ただし、相場の動きに合わせた柔軟な対応は難しくなります。


    やはりVPSの導入はおすすめします。VPSについては後の回で詳しく説明しますね。


    では続けます。

    画像


    画像



    画像



    画像



    AIが出力したコードをMT4に入れよう


    AIとのやり取りが完了すると、MQL4のソースコードが出力されます。それをMT4に読み込ませましょう。


    STEP 1:ファイルを保存する


    AIが出力したコードをダウンロード(またはコピーしてテキストファイルに保存)します。


    ファイルの拡張子が 「.mq4」 になっているか確認してください。下記アイコンになっていればOKです。

    画像

    AIの出力によっては拡張子がついていない場合があります。その場合はファイル名の末尾に 「.mq4」 を手動で追加してください。


    STEP 2:MT4の所定フォルダに配置する


    MT4を起動して、以下の手順でフォルダを開きます。

    • 「ファイル」メニュー →「データフォルダを開く」をクリック


    画像


    • 「MQL4」フォルダをダブルクリック


    画像


    • 「Experts」フォルダをダブルクリック


    画像


    • 保存した 「.mq4」ファイルをここにドラッグ&ドロップ


    画像



    STEP 3:メタエディターで開く


    「ツール」メニュー →「メタエディター」をクリックしてメタエディターを起動します。

    メタエディターの画面の空白部分に、さきほどExpertsフォルダに入れた 「.mq4」ファイルをドラッグ&ドロップします。

    画像


    ソースコードが表示されたら成功です!


    エラーが出ても怖くない



    コードを開いたらコンパイルしてみましょう。

    💡 コンパイルとは? 人間が読めるプログラムのソースコードを、 コンピューターが実行できる形式に変換する作業です。 MT4では「コンパイル」ボタンを押すだけでOKです。


    画像


    ……はい、エラーが出ました(笑)。

    画像


    でも全然大丈夫です。これ、普通のことです。


    エラーが出たらAIに丸投げしましょう。以下の2つをEAを作ったAIのチャットに貼り付けます。

    • ソースコードファイル

    • エラー画面のスクリーンショット


    そして一言、「エラーを修正してください」と送るだけ。


    画像



    修正済みのコードが出てきますので、ダウンロードして同じようにExpertsフォルダに入れ、メタエディターにドロップします。古い方のファイルは「×」で閉じてOKです。


    画像

    エラーが消えてコンパイル成功すれば、EAのファイルが完成です!


    一応今回こちらで作成したEAを添付しておきます。うまく出来なかったという方はこちらを参考にしてください。

    ※このEAでリアルマネーでの運用は決してしないでくださいね!


    今回はここまで


    AIとの対話でEAの仕様を決め、コードを生成して、MT4に読み込むところまで進みました。


    「エラーが出て焦った」という方もいるかと思いますが、エラーはAIが直してくれます。プログラミング経験がなくても、このサイクルを回せばEAが形になっていきます。


    実はAIの上位モデルを使っていればPCの操作も含めて全部やってくれるものもあるんですが(Claude Coworkとか)MT4の操作は自分でしたほうが身につくと思い、このような方法にしました。

    次回(#5)は、このEAをバックテストにかけて「本当に使えるか」を検証していきます。数字を見ながら一喜一憂するあの作業、ぜひ一緒に楽しみましょう!

    続きはこちら


     
     

    Sonop

     
     
    IT業界20年のエンジニアです。裁量トレードに限界を感じ、100種以上のFX自動売買(EA)を開発。バックテストの数値より、リアル口座での「再現性」を最優先に設計しています。 https://www.gogojungle.co.jp/users/600410?via=mymenu

    あなたへのおすすめ