この記事を書いた背景
私は4年前の2022年9月、自作のトラップ型EAで口座をほぼ失いました。そのいきさつは自作トラップ型EAで300万→1,000万超、1週間の円安でほぼ全ロストした話に書いています。当時のEAはMT4で動かしていました。
作り直すにあたって、今回はMT5(MQL5)で作ることにし、プログラムはAIに書いてもらいました。私の仕事は、どう動いてほしいかを言葉で決めることと、動かした結果を確かめることです。
進め方:コードの前に、ルールを言葉で決める
最初の日に作ったのは、プログラムではなく開発と検証の計画書でした。それをAIと読み合わせて、トラップのルールを1つずつ言葉で決めていきました。
たとえば、売るルールだけでも次のようなことを1つずつ決めました。
- 前に売った価格から20pips上がったら売る。急に上がって何段も飛び越えても、売りは1つだけ
- 利確されたら、その時点の価格ですぐに売り直す
- 持っている札との距離が20pips「未満」なら売らない(ちょうど20pipsなら売る)
- スプレッドが広い間は見送り、戻った時点の価格で売る
「未満」か「以下」かのような細かいところまで決めておかないと、AIはそれらしい方を選んで書きます。決めきれないところは、値段の動きの具体例を並べて「このときは売る?売らない?」と確かめ合いました。
いちばん大きな行き違い:「決まった枠」と「売れた価格から数える」
ルールを決めたあと、AIのまとめを読むと、私の意図と違うところがありました。AIは「150.00円、150.20円、150.40円…と、決まった枠で売る」形にまとめていました。私が考えていたのは「実際に売れた価格から20pipsずつ数える」形です。前のEAと同じ感覚で動かしたかったからです。
ふだんは同じ動きですが、スプレッドが広くて売りを見送ったときに差が出ます。150.20円で見送り、150.23円で売れたとすると、決まった枠なら次は150.40円、私の考えでは150.43円です。数pipsの違いでも、そこから先の売る位置が全部ずれていきます。言葉だけでは気づけず、具体例を並べて初めて分かりました。
AIが説明のために作った例のほうが間違っていたこともありました(飛び越えた段の数え方など)。これも、具体例で1つずつ確かめ直して直しました。
ほかにも起きた行き違い
2週間のあいだに、ほかにもAIと私の理解がずれていたことがありました。
買いのトラップは、テストの結果を見てから、思っていた動きと違うことに気づきました。話がかみ合っていないと感じたので、AIに「小学生でも分かる言い換え」で整理してもらうと、どこがずれているのか(下がるたびに買う形では、上げの間に買いの札がたまらない)が見えました。
口座の種類のほうは、MT5を開いた直後はまだ口座の情報が届いておらず、EAが口座の種類を取り違えていたのが原因でした。情報が届いてから確かめるように直しています(v2.01)。AIの説明も、そのまま信じずに画面やログで確かめることが大事だと思いました。
設定のミスも、画面とログで見つけた
AIとの言葉のずれだけでなく、私の操作や設定のミスもたくさんありました。どれも、画面やレポートを見て気づいたものです。
- ストラテジーテスターが10分以上進まない:MT5がFX業者のサーバーにつながっていなかった。MT5は使う業者のサイトから入れ、その業者の口座でログインするようにした
- スワップが利益の約4倍かかっていた:スワップのかかる銘柄でテストしていた。口座の種類と銘柄名をセットで確かめるようにした
- 設定を変えても結果が変わらない:テスターは「パラメータ」タブの値で動く。プログラムの初期値を変えても反映されなかった
- 比べるつもりが、同じレポートを2回渡していた:レポートのファイル名に設定を入れるようにした
- テスターの時間足が1分足のまま、サンプルの数量が初期値のまま:レポートの期間の欄と、最初の取引の数量を毎回見るようにした
2週間で回したテストの数
結果は毎回AIに渡して、数字の読み取りと次の一手を一緒に考えました。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の説明も画面やログで確かめてから進めています。