EA(エキスパートアドバイザー)とは:MetaTraderの自動売買プログラムを解説
EA(エキスパートアドバイザー)とは、MetaQuotes社のMQL言語で書かれたプログラムです。MetaTraderのターミナルの中で動き、キーボードの前に誰もいなくても、注文の発注・変更・決済ができます。1つのチャートに設定され、そのチャートに届く価格のティックに反応して、コンパイルされたときのルールを実行します。EAは戦略を実行する手段であって、それ自体が勝てる戦略というわけではありません。
仕組み
コードをコンパイルしてチャートに載せると、相場が動くたびにターミナルがEAを呼び出します。
チャートに価格のティックが届く
→ EAのティック処理が動く
→ 価格・インジケーター・保有ポジションをもとにルールを判定
→ マジックナンバー付きで注文を送信
→ ブローカーの取引サーバーが受け付ける、拒否する、または再度キューに入れる
3つの条件が同時にそろっている必要があります。ターミナルが起動してログインしていること、自動売買が許可されていること、ブローカーが注文を受け付けること。どれか1つでも欠けると、EAは何も言わずに動き続けたまま、注文を1件も出さなくなります。
ここで大事なのは、EAがクライアント側で動くという点です。自分のマシンで動いているプログラムの中に間借りしているプロセスにすぎません。ブローカーのサーバーには、保有ポジションにすでに設定された損切りや利確を除けば、EAに関するものは何も置かれていません。ターミナルを閉じれば、コードはそこから消えてしまいます。人が見ていない間も戦略を動かし続けるなら、スリープするノートPCではなくVPSに置くべきなのはこのためです。
EAが送る注文には、1件ごとにマジックナンバーが付きます。この整数があるおかげで、複数のEAが1つの口座を共有していても、あとから区別して読み取れます。
なぜ重要か
EAは、迷いも疲れも、深夜3時の問題もなくしてくれます。同時に、EAを止めるはずだった判断力もなくしてしまいます。EAは自分の優位性が通用しなくなったことに気づきません。うまくいっていたときとまったく同じ規律で、壊れたルールを実行し続けます。
EAがもたらすのは、執行の一貫性です。一貫性は収益性とは違います。そしてこの2つの差こそ、自動売買で資金の大半が失われる場所です。テスターで完璧に見える戦略は、たいていテストに使ったサンプルに合わせ込まれています(カーブフィッティングを参照)。ブローカーと同期した口座が、どんなバックテストレポートよりも重く見られるのはこのためです。テスターが示すのは、コードが過去のデータに対して何をしたか。口座が示すのは、コードとブローカーとマシンが一緒になって、実際のお金に対して何をしたかです。
実データから見えること
ここでは自動売買は少数派どころか、むしろ当たり前です。ShowMyTradesで取引履歴のある公開口座(2026年8月時点)では、自動売買の割合の中央値は99%です。53.9%の口座は90%以上が自動化されていて、42.2%の口座は10%未満です。2つのかたまりがあって、その間はほとんど空っぽ。ここの口座は、すべてコードで動かすか、すべて手で動かすかのどちらかです。
自動化しても、結果がそろったわけではありません。同じ母集団で、プロフィットファクターの中央値は1.28、最大ドローダウンの中央値は9.7%です。そして左側には長い裾が伸びていて、38.2%の口座がピークを20%以上、17.6%の口座が50%以上下回った経験があります。戦略をコードで動かして変わるのはボタンを押す人であって、戦略の価値ではありません。
ShowMyTradesには守っている一線が1つあります。ある口座でどの市販EAが動いているかを推測することは、決してしません。同じ製品でも、購入した口座ごとに違うマジックナンバーでインストールされるため、ブローカーから届くデータにはソフトウェアを特定できるものが何もありません。推測を事実のように公開するくらいなら、答えないほうがましです。
ShowMyTradesで確認できる場所
口座ヘッダーには、自動売買と裁量の割合を示すバッジがあり、たとえば「自動売買99%」と表示されます。これは自己申告ではありません。マジックナンバーが0以外の取引を自動売買として数えているので、このバッジは、注文の流れに残ったEA自身の指紋を集計したものです。
EAで連携している口座では、ターミナルと開いているチャートモジュール(MT4ではチャートの一覧が送られないため、ターミナルのみ)に、コードが動いている環境が表示されます。その中の自動売買は許可か禁止のどちらかを示します。ほかに問題のないEAでも、これ1つで何も発注できなくなるスイッチです。タイルの下にある開いているチャートの表には、チャートごとに読み込まれているエキスパートアドバイザーが、銘柄、時間足、インジケーターと一緒に表示されます。主張ではなく、実際に動いているものがわかります。パスワードだけで連携する直接連携は自分のマシンに一切触れないため、これらの情報は何も表示されません。
戦略ごとの成績は項目別統計モジュールのマジックナンバー別タブにあり、EAごとに取引数、損益、勝ち・負けの内訳が1行で表示されます。カスタム分析のサイドパネルを使うと、ページ上のすべての統計を1つのマジックナンバーに絞り込み、1つのEAだけを切り出せます。
よくある誤解
- 「EAが戦略そのものだ」:EAは実行役です。同じルールを実装した2つのEAは、同じ取引をします。価値があるのはルールのほうです。
- 「バックテストが優秀ならEAも優秀だ」:それはコードと過去のデータの辻褄が合っているというだけです。最低限の条件であって、証拠ではありません。
- 「自動売買がオンだから取引している」:許可されていることと、実際に取引していることは別です。自動売買(AutoTrading)ボタンがオフでも、EAは読み込まれて動いています。ただ注文を送れないだけです。こうして何週間も取引が止まったままの口座があります。
- 「PCの電源を切っていても動いている」:動いていません。ターミナルが止まっている間に残るのは、サーバー側に置かれた損切りと利確だけです。
本物の自動売買の記録と作り物を見分ける具体的なサインは、偽のEA成績を見抜く方法で解説しています。
関連用語
マジックナンバー (Magic Number)
マジックナンバーとは、EA(エキスパートアドバイザー)が出すすべての注文に付ける整数のこと。1つの口座で複数の戦略を動かしても、1つずつ分けて読み取れます。
仮想専用サーバー (VPS)
VPSは24時間動き続けるレンタルサーバーです。自分のPCがスリープしても、再起動しても、回線が切れても、取引ターミナルを動かしたまま接続を保ちます。
バックテスト (Backtesting)
バックテストは、過去の価格データで売買手法をシミュレーションすることです。何を証明でき、何を証明できないのか、そしてブローカーと同期した実運用の結果がほぼ必ず食い違う理由を解説します。
MetaTrader(メタトレーダー)
MetaTraderは個人向けFX口座の大半で使われている取引プラットフォームです。MT4とMT5の違い、投資家パスワードの役割、当サイトで実際に見えるプラットフォームの内訳を解説します。