2026年10月6日から21日までの約2週間で、4年前に口座をほぼ失ったトラップ型EAを、AI(Claude)と一緒にMT5用に作り直しました。作った版は18、バックテストは88回、最適化は28回です。コードはAIがすぐ書いてくれました。いちばん時間がかかったのは、ルールを言葉で1つずつ決めて、AIと意味をすり合わせるところでした。

この記事を書いた背景

私は4年前の2022年9月、自作のトラップ型EAで口座をほぼ失いました。そのいきさつは自作トラップ型EAで300万→1,000万超、1週間の円安でほぼ全ロストした話に書いています。当時のEAはMT4で動かしていました。

作り直すにあたって、今回はMT5(MQL5)で作ることにし、プログラムはAIに書いてもらいました。私の仕事は、どう動いてほしいかを言葉で決めることと、動かした結果を確かめることです。

進め方:コードの前に、ルールを言葉で決める

最初の日に作ったのは、プログラムではなく開発と検証の計画書でした。それをAIと読み合わせて、トラップのルールを1つずつ言葉で決めていきました。

AIとEAを作った進め方。1 ルールを言葉で決める、2 具体例で確かめ合う、3 AIが書く、4 テスターで回す、5 画面とログで確かめて数字をAIに渡す。ずれていたら1に戻る。時間がかかったのは1と21つの決め事ごとに、この順でくり返した1 ルールを言葉で1つずつ決める2 値段の動きの具体例で確かめ合う3 AIがMQL5で書く(私はMT5に入れて動かす)4 ストラテジーテスターで回す5 画面・ログ・レポートで確かめ、数字をAIに渡すずれていたら1に戻る
図1 AIとEAを作った進め方(考え方の図)。時間がかかったのは1と2

たとえば、売るルールだけでも次のようなことを1つずつ決めました。

  • 前に売った価格から20pips上がったら売る。急に上がって何段も飛び越えても、売りは1つだけ
  • 利確されたら、その時点の価格ですぐに売り直す
  • 持っている札との距離が20pips「未満」なら売らない(ちょうど20pipsなら売る)
  • スプレッドが広い間は見送り、戻った時点の価格で売る

「未満」か「以下」かのような細かいところまで決めておかないと、AIはそれらしい方を選んで書きます。決めきれないところは、値段の動きの具体例を並べて「このときは売る?売らない?」と確かめ合いました。

いちばん大きな行き違い:「決まった枠」と「売れた価格から数える」

ルールを決めたあと、AIのまとめを読むと、私の意図と違うところがありました。AIは「150.00円、150.20円、150.40円…と、決まった枠で売る」形にまとめていました。私が考えていたのは「実際に売れた価格から20pipsずつ数える」形です。前のEAと同じ感覚で動かしたかったからです。

売る位置の数え方の違い。間隔20pipsで、150.20円はスプレッドが広くて見送り、150.23円で売れた例。固定の枠なら次は150.40円、約定した価格から数えるなら次は150.43円150.00150.10150.20150.30150.40150.50値段(円)固定の枠(AIのまとめ)売り見送り次はここ約定した価格から数える(私)売り見送り150.23で売れた次はここ150.20円のときスプレッドが広く、150.23円で売れた例(間隔20pips)
図2 売る位置の数え方の違い(考え方の図。数字は例)

ふだんは同じ動きですが、スプレッドが広くて売りを見送ったときに差が出ます。150.20円で見送り、150.23円で売れたとすると、決まった枠なら次は150.40円、私の考えでは150.43円です。数pipsの違いでも、そこから先の売る位置が全部ずれていきます。言葉だけでは気づけず、具体例を並べて初めて分かりました。

AIが説明のために作った例のほうが間違っていたこともありました(飛び越えた段の数え方など)。これも、具体例で1つずつ確かめ直して直しました。

ほかにも起きた行き違い

2週間のあいだに、ほかにもAIと私の理解がずれていたことがありました。

AIの理解私の意図・実際
売る位置決まった枠(150.20円、150.40円…)で売る実際に売れた価格から20pipsずつ数える
買いのトラップ売りの上下逆。下がるたびに買い、上がったら利確上がるほど買いを足して、持ち続けるつもりだった
口座の種類「EAが動いているからヘッジング口座」と言い切ったその直後、再起動したら「ヘッジング口座ではありません」と出てEAが止まった

買いのトラップは、テストの結果を見てから、思っていた動きと違うことに気づきました。話がかみ合っていないと感じたので、AIに「小学生でも分かる言い換え」で整理してもらうと、どこがずれているのか(下がるたびに買う形では、上げの間に買いの札がたまらない)が見えました。

口座の種類のほうは、MT5を開いた直後はまだ口座の情報が届いておらず、EAが口座の種類を取り違えていたのが原因でした。情報が届いてから確かめるように直しています(v2.01)。AIの説明も、そのまま信じずに画面やログで確かめることが大事だと思いました。

設定のミスも、画面とログで見つけた

AIとの言葉のずれだけでなく、私の操作や設定のミスもたくさんありました。どれも、画面やレポートを見て気づいたものです。

  • ストラテジーテスターが10分以上進まない:MT5がFX業者のサーバーにつながっていなかった。MT5は使う業者のサイトから入れ、その業者の口座でログインするようにした
  • スワップが利益の約4倍かかっていた:スワップのかかる銘柄でテストしていた。口座の種類と銘柄名をセットで確かめるようにした
  • 設定を変えても結果が変わらない:テスターは「パラメータ」タブの値で動く。プログラムの初期値を変えても反映されなかった
  • 比べるつもりが、同じレポートを2回渡していた:レポートのファイル名に設定を入れるようにした
  • テスターの時間足が1分足のまま、サンプルの数量が初期値のまま:レポートの期間の欄と、最初の取引の数量を毎回見るようにした

2週間で回したテストの数

結果は毎回AIに渡して、数字の読み取りと次の一手を一緒に考えました。1日ごとの回数を並べると次のとおりです。

1日ごとのバックテストと最適化の回数。10月13日から21日で、バックテスト88回、最適化28回。一番多かったのは10月14日のバックテスト30回と最適化4回10203040010月13日 バックテスト 11回1110/1310月14日 バックテスト 30回10月14日 最適化 4回3410/1410月15日 バックテスト 5回10月15日 最適化 5回1010/1510月16日 バックテスト 7回10月16日 最適化 3回1010/1610/1710月18日 最適化 1回110/1810月19日 バックテスト 6回10月19日 最適化 4回1010/1910月20日 バックテスト 19回10月20日 最適化 3回2210/2010月21日 バックテスト 10回10月21日 最適化 8回1810/21バックテスト(88回)最適化(28回)最適化は1回で数十〜数百通りの設定をまとめて回す
図3 1日ごとのバックテストと最適化の回数(私の検証記録の実施日から数えたもの)

いちばん多かったのは10月14日で、バックテスト30回と最適化4回を回し、EAもv2.01からv3.40まで7つの版を作りました。作った18の版のうち、v3.40(損の大きい札だけを切る)、v3.50(流れの判定のだましを減らす)、v3.80(値動きが小さいときの細かいトラップ)、v3.90(一度に切りすぎない)は、どれも試して成績が悪くなったので使っていません。コードを書く手間が小さいので、思いついた案をすぐ試し、悪ければやめる、をくり返せました。

まとめ

AIと約2週間でEAを作り直してみて、コードを書く速さには困りませんでした。時間をかけたのは、ルールを言葉で決めること、具体例で意味をすり合わせること、結果を画面とログで確かめることです。

実際の口座で動かすのは、18番目の版(v3.83)です。どんな設定にしたのか、何を試してやめたのかは、このサイトで1つずつ記録していきます。これは私がこう作ったという記録で、この作り方で勝てると約束するものではありません。

よくある質問

EAのコードは、全部AIに書いてもらったのですか?

はい。MQL5のコードはAI(Claude)に書いてもらいました。私が受け持ったのは、ルールを言葉で決めること、MT5に入れてストラテジーテスターで回すこと、画面やログで結果を確かめて数字をAIに渡すことです。

AIとのやり取りで、いちばん時間がかかったのは何ですか?

ルールの言葉合わせです。「決まった枠で売る」のか「実際に売れた価格から数える」のかのように、言葉では同じように聞こえても動きが違うところがありました。値段の動きの具体例を並べて確かめ合うと、ずれに気づけました。

2週間で、どれくらいテストしましたか?

10月13日から21日に、バックテストを88回、最適化を28回回しました。EAの版は18作り、実際の口座で使うのは最後のv3.83です。試して悪くなった版は使っていません。

AIの説明が間違っていたことはありましたか?

ありました。「EAが動いているからヘッジング口座」と言い切った直後に、パソコンを再起動したら口座の種類を取り違えてEAが止まりました。今は、AIの説明も画面やログで確かめてから進めています。