この記事でできるようになること
- EAを作るためにAIへ伝える必要がある7つの項目が分かる
- 自分のEAの仕様を「仕様シート」に書き出せる
- 「ルールを言葉にする」コツがつかめる
準備するもの
- メモ帳やスプレッドシート(記事の最後にある仕様シートを書き写す用。紙でもOKです)
- 第1章で学んだ用語(pips、ロット、移動平均線など)が不安な方は、該当記事を開いておく
手順
AIにEAを作ってもらうとき、いちばん大事なのはプログラミングの知識ではなく、「どんなルールで売買したいか」を言葉で伝えることです。この記事では、その言葉を7つの項目に分けて、ひとつずつ埋めていきます。7つ埋め終わると、次の記事でそのままプロンプト(AIへの指示文)になります。
7項目は「①通貨ペア・時間足 ②エントリー条件 ③決済条件 ④ロット数 ⑤同時ポジション数 ⑥取引時間帯 ⑦マジックナンバー等」です。手順8に、埋めるだけで使える仕様シートを用意しています。
3-2-01.png手順1 通貨ペアと時間足を決める
「どの通貨を」「どの時間足のチャートで」判断するかです。
- 通貨ペア: 最初はUSDJPY(ドル円)がおすすめです。第2章でチャートを表示したペアと同じなので、確認がしやすいです。
- 時間足: 1時間足(H1)か4時間足(H4)が扱いやすいです。1分足のような短い足は取引回数が増える分、スプレッド(売値と買値の差。実質の手数料)の影響が大きくなり、初心者には結果の判断が難しくなります。
時間足はMT4の表記(M1=1分足、M5=5分足、M15、M30、H1=1時間足、H4=4時間足、D1=日足)で書くと、AIにも正確に伝わります。
書き方の例:「USDJPY・1時間足」
3-2-02.png手順2 エントリー条件を「〜のとき」で書く
EAは「なんとなく上がりそう」では動けません。数値で判定できる条件を、買いと売りそれぞれについて「〜のとき」の形で書き切ります。
悪い例:「上昇トレンドっぽいときに買う」 良い例:「短期移動平均線(20)が長期移動平均線(50)を下から上に抜けたとき買う」
良い例には、何を(移動平均線)、どの数値で(20と50)、どうなったら(下から上に抜けた)、がすべて入っています。第1章で学んだインジケーターは、どれもこの形で書けます。
- 移動平均線: 「短期(20)が長期(50)を下から上に抜けたとき」
- RSI: 「RSI(14)が30を下から上に抜けたとき」
- ボリンジャーバンド: 「終値が上バンドを上回って確定したとき」
慣れないうちは、買いと売りを左右対称にしておくと考えやすいです(買いが「上抜け」なら売りは「下抜け」)。
3-2-03.png手順3 決済条件を3種類考える
入ったあと、いつ出るか。これを決めないと、EAはポジション(保有中の注文)を永遠に持ち続けます。次の3つを考えます。
- 利確(りかく): いくら利益が乗ったら決済するか。例:「50pips」
- 損切り(そんぎり): いくら損したら諦めて決済するか。例:「30pips」
- 時間切れ・ルール変化: エントリーの根拠が消えたときの決済。例:「反対のクロスが出たら成行で決済」「10本経過したら決済」
特に損切りは必ず入れてください。損切りがないEAは、一度の大きな逆行で口座資金を大きく減らす可能性があります。数値はあくまで例で、正解があるわけではありません。第5章のバックテストで結果を見ながら調整していきます。
3-2-04.png手順4 ロット数を決める
1回の注文量です。書き方は2通りあります。
- 固定: 「0.1ロット固定」
- 資金に対する割合: 「口座残高の2%のリスクになるようにロットを計算」
最初は固定がおすすめです。仕組みが単純で、バックテストの結果も読みやすいからです。割合方式は第6章の改善で取り入れられます。
なお、0.1ロットという数字はあくまで例です。実際にリアル口座で動かすときのロットは、第7章で改めて考えます。
3-2-05.png手順5 同時ポジション数の上限を決める
条件が連続で成立したとき、何個までポジションを持ってよいかです。
最初は「1つまで」にしてください。ポジションが増えるほど損益の動きが大きくなり、結果の分析も難しくなります。
手順6 取引時間帯の制限を決める
「東京時間だけ」「深夜は取引しない」といった制限です。最初は「制限なし」で問題ありません。バックテストで「特定の時間帯だけ成績が悪い」と分かってから、第6章で追加するのが順序としてきれいです。
もし最初から入れたい場合は、「サーバー時間の9時〜21時のみ新規エントリー」のように書きます。サーバー時間とは、MT4のチャートの目盛りに表示されている時刻のことで、日本時間とは異なります。要確認
3-2-06.png手順7 マジックナンバーとコメントを決める
マジックナンバーは、EAが「これは自分が出した注文だ」と見分けるための番号です。1つのMT4で複数のEAを動かしたとき、他のEAの注文を間違って決済しないために使います。
数字は何でもかまいません。「12345」のように覚えやすい数字で十分です。EAごとに違う番号にすることだけ守ってください。
コメントは注文に付くメモで、MT4の取引履歴にEA名が表示されるようになります。「注文のコメントにはEA名を入れてください」と書いておけばOKです。
3-2-07.png手順8 仕様シートに書き込む
7項目を実際に書き出してみましょう。下の表をメモ帳やスプレッドシートに写して、いちばん右の列を自分の言葉で埋めてください。最初は「例」をそのまま写してかまいません。この例は、第4章以降で使うサンプルEA(移動平均線クロス)と同じ内容です。
| # | 項目 | 例(サンプルEA) | あなたのEA |
|---|---|---|---|
| 1 | 通貨ペア・時間足 | USDJPY・1時間足 | |
| 2-a | 買いエントリー条件 | 短期移動平均線(20)が長期移動平均線(50)を下から上に抜けたとき | |
| 2-b | 売りエントリー条件 | 短期移動平均線(20)が長期移動平均線(50)を上から下に抜けたとき | |
| 3 | 決済条件 | 利確50pips、損切り30pips。反対のクロスが出たら成行で決済 | |
| 4 | ロット数 | 0.1ロット固定 | |
| 5 | 同時ポジション数 | 1つまで | |
| 6 | 取引時間帯 | 制限なし | |
| 7 | マジックナンバー | 12345 |
エントリー条件を買いと売りに分けているので行数は8行になりますが、中身は7項目です。次の記事で使うプロンプトの雛形も、この表と同じ並びになっています。
3-2-08.pngつまずきポイント
- 条件が思いつかない: 最初はサンプルEAの例をそのまま写してください。「自分の戦略」は、一度EAを完成させてから考えたほうがずっと楽です。
- 「良さそうなとき」と書いてしまう: AIが推測で補ってしまい、意図と違うEAになります。数値と「〜のとき」を必ず入れてください。
- 項目を欲張って増やす: 条件が多いほどコードが長くなり、エラーも増えます。最初は表の8行だけで十分です。
- 損切りを「なし」にする: バックテストでは良く見えても、実運用で大きく資金を減らす原因になります。必ず数値を入れてください。
- pipsの数え方が分からない: USDJPYなら1pips=0.01円です。詳しくは第1章を見直してください。
次の記事
次は、この仕様シートを実際のプロンプトに組み立てて、ChatGPTに送ります。