MT4・MT5のマジックナンバーとは
マジックナンバーとは、EA(エキスパートアドバイザー)が送るすべての注文に書き込む整数です。MetaTraderは、取引が続く間ずっとこの値を持ち続けます。複数の戦略で1つの口座を共有しても、あとから見分けられるようにするための仕組みです。手動で出した注文には0が入ります。
仕組み
この番号は注文を送る関数の引数の1つで、ブローカーやプラットフォームではなく、コードが設定します。
MT4: OrderSend(symbol, cmd, lots, price, slip, sl, tp, comment, magic, ...)
MT5: request.magic = 55566; → ポジションとすべての約定に引き継がれる
手動でクリック: magic = 0
ここから3つの性質が生まれ、そのどれもが落とし穴になります。
- 誰も値をチェックしない。値が重複していないか、意味があるかを確認する仕組みはどこにもありません。同じ整数を設定した2つのEAは記録の上で永久に混ざり合い、しかもそれぞれが相手のポジションを自分のものとして管理しようとします。
- 0は空欄ではなく、れっきとした値。手動クリックで入るのも0、マジックナンバーの入力値を初期値から変えていないEAが付けるのも0です。そのため、この2つは同じものになってしまいます。
- あとから付けることはできない。値は注文がターミナルを出た瞬間に決まり、取引と一緒に保存されます。0として届いた履歴は、ずっと0のままです。
ほかのプラットフォームでは、同じ考え方が別の項目で表されています。cTraderのcBotはテキストのラベルを書き込み、TradeLockerは注文に戦略IDを付けます。数値の戦略IDは、ShowMyTradesではマジックナンバーとして読み取ります。実際には、戦略ごとに分けて見る使い方は、ほぼMT4とMT5のものです。
なぜ重要か
1つの口座で3つの戦略を動かすと、ページに並ぶ主要な数字はすべて混ざり合ったものになります。プロフィットファクター、勝率、ドローダウン、エクイティカーブはどれも合算された取引の流れで計算されるため、じわじわ負け続けている戦略が、勝っている合計の中に何か月も紛れ込み、どのチャートにも線として現れません。口座は健全に見えます。合算すれば、実際に健全だからです。
この合算をくぐり抜けて残る項目は、マジックナンバーだけです。きちんと設定しておけば、履歴は最初から別々の運用実績に分かれて届き、比べたり、ロット数を変えたり、1つずつ止めたりできます。いいかげんに設定すると、あとからどんな分析をしても元には戻せません。
実データから見えること
この1つの項目は、多くの所有者が思っているより大きな役割を担っています。すべての口座ページに表示される自動売買の割合は、この値から計算されているからです。マジックナンバーが0以外の取引、またはマジックナンバーの代わりに戦略ラベルを使うプラットフォームではラベル付きの取引を、自動売買として数えています。ShowMyTradesで取引履歴のある公開口座(2026年8月時点)では、自動売買の割合の中央値は99%、53.9%の口座は自動売買の割合が90%超です。言い換えれば、それらの口座のほぼすべての注文が、最初からタグ付きで届いているということです。
早めにラベルを付けるべき理由は、サンプル数です。口座の決済済み取引数の中央値は171件です。3つの戦略に分ければ1つあたり約57件で、勝率やプロフィットファクターが意味を持つ水準に届きません。最初の注文からタグを付けておけば、判断を迫られる前に、それぞれの戦略が読み取れるだけのサンプルに届きます。もう1つの方法である戦略ごとに口座を分けるやり方も、ここではよく使われています。複数の口座を運用しているユーザーは699人、複数のブローカーにまたがって運用しているユーザーは429人です。
ShowMyTradesで確認できる場所
項目別統計モジュール(口座設定では通貨ペア別統計と表示)には、銘柄別の隣にマジックナンバー別タブがあり、口座に分析できる決済済み取引ができた時点で表示されます。各行にはEA/戦略、生のマジックナンバー、取引数、損益、勝ち・負けの件数と割合が並びます。マジックナンバー0の行は裁量と表示され、名前を変更できないのはこの行だけです。これは戦略ではなく、タグなしで届いたすべての取引の受け皿です。
EA/戦略のセルはその場で編集できます。55566という数字を、半年後に見てもわかる名前に変えるのはここです。付けた名前はデータについて回ります。取引履歴と残高推移の下にある決済済み取引テーブルには、注文ごとに生の整数を表示するマジックナンバー列があり、カスタム分析のサイドパネルにはマジックナンバーフィルターがあります。そのチップには「裁量 (0)」「ラベル - 55566」のように表示されます。1つ選ぶと、ページ上のすべての統計がその戦略だけで計算し直されます。
よくある誤解
- 「マジックナンバーはあとで設定する」:「あとで」はありません。この項目は注文の時点で書き込まれ、過去の取引にタグを付け直すことはできません。
- 「EAが自動でやってくれる」:入力値を変更した場合に限ります。初期値が0のEAはよくあり、気づかないうちに裁量取引と混ざってしまいます。
- 「裁量の行は手で取引した分だけ」:裁量の行は、タグのない取引をまとめた受け皿です。手で出した取引に加えて、0のまま放置されたすべてのEAの取引が入ります。
- 「マジックナンバーを見ればどのロボットかわかる」:何もわかりません。55566は、作者が入力した数字というだけです。
戦略に名前を付けるところから、ひそかに損を出し続けている戦略を見つけるところまで、一連の流れはマジックナンバーと戦略ラベルで解説しています。
関連用語
プロフィットファクター (Profit Factor)
プロフィットファクターは総利益を総損失で割った値です。1.0を下回る口座は、計算の仕組み上かならず損をしています。目安となる区分と、数千口座の中央値1.28を紹介します。
エキスパートアドバイザー (Expert Advisor)
EA(エキスパートアドバイザー)は、トレーダーの代わりにMetaTraderの中で取引するプログラムです。できること、できないこと、そしてここで公開されている口座がどれだけ自動化されているかを解説します。
バックテスト (Backtesting)
バックテストは、過去の価格データで売買手法をシミュレーションすることです。何を証明でき、何を証明できないのか、そしてブローカーと同期した実運用の結果がほぼ必ず食い違う理由を解説します。
MetaTrader(メタトレーダー)
MetaTraderは個人向けFX口座の大半で使われている取引プラットフォームです。MT4とMT5の違い、投資家パスワードの役割、当サイトで実際に見えるプラットフォームの内訳を解説します。