EAのマジックナンバーとは?使い方・重複・変更時の注意点
EAのマジックナンバー(Magic Number)は、EAが注文・ポジションを自分の管理対象として識別するために使う番号です。MT4/MT5で複数EAを同じ口座に入れる時、同じEAを複数チャートで動かす時、コピーEAや決済補助ツールで対象を絞る時に確認します。
ただし、Magic Numberだけで管理対象のすべてが決まるわけではありません。EAによっては銘柄、売買方向、ticket、コメント、内部Logic ID、バスケット範囲などを組み合わせて対象を判定します。MT5ではネッティング/ヘッジという口座方式の違いもあるため、番号だけを見て「EAごとに完全に独立している」と判断しないでください。
この記事では、Magic Numberの基本、注文・ポジション・ticketとの違い、手動注文、複数EA・複数ロジック、コピーEA、決済補助、変更時の注意、setファイル、ログ、バックテスト・デモ確認までを一つに整理します。統合元P1494で扱っていた稼働中のMagic変更、古いsetの再読込、include/exclude、Logic ID、basket scope、識別ログも本記事へ保全しています。
この記事はMT4/MT5の設定確認、ポジション管理、コピー・決済対象の整理、ログ確認を目的とした技術記事です。特定の売買判断、利益、勝率、損失回避、推奨ロットを案内するものではありません。
- この記事で確認すること
- マジックナンバーとは
- Magic・ticket・position・Logic IDを混同しない
- 手動注文とEA注文の違い
- MT5ではネッティング/ヘッジも確認する
- 複数EA運用でMagic Numberを確認する
- 複数ロジックとbasket scopeを確認する
- コピーEAでMagic Numberを確認する
- 決済・注文補助ツールでMagicを使う場合
- マジックナンバーを変更する前に確認すること
- Magic Number関連のトラブルを切り分ける
- Experts・Journal・履歴で確認すること
- バックテスト・デモ環境で確認すること
- 問い合わせ前に整理すること
- 実務チェック表
- よくある質問
- 関連ページ
- 確認に使える公式資料
- まとめ
- お問い合わせはEAFC公式LINEへ
この記事で確認すること
- Magic Numberが何を識別する番号なのか
- 注文番号・ポジション番号・コメント・Logic IDとの違い
- Magic 0や手動注文を番号だけで断定しない理由
- 複数EA・複数ロジックで管理対象を分ける時の確認
- コピーEAのinclude / exclude Magicとコピー先Magic
- 決済補助ツールの対象Magic・銘柄・方向・手動注文の扱い
- Magicを変更する前に保有中ポジションと旧setを確認する理由
- Experts / Journal / 履歴で確認する識別情報
- バックテスト・デモ環境で記録しておく内容
- 問い合わせ前に共有する情報と伏せる情報
マジックナンバーとは
EAが注文に付ける識別用ID
MQL5の取引リクエストにはmagicフィールドがあり、公式リファレンスではEAのIDとして説明されています。注文にはORDER_MAGIC、ポジションにはPOSITION_MAGICというプロパティがあり、EAが自分の取引を識別する材料として使えます。(公式資料[1][2][3])
| 項目 | 役割 | Magicとの違い |
|---|---|---|
| Magic Number | EAが注文・ポジションを識別するためのID | EA側の管理条件に使われる。利益や勝率を表す番号ではない |
| order ticket | 個別注文を識別する番号 | 同じMagicでも注文ごとにticketは異なる |
| position ticket / identifier | ポジションやその履歴関係を追う識別情報 | MT5では注文・約定・ポジションを別記録として確認する |
| symbol | 取引対象の銘柄 | 同じMagicでも銘柄を分けて管理するEAがある |
| comment | 注文・ポジションに付く補助文字列 | Magicと併用する場合があるが仕様依存 |
| Logic ID | EA内部でロジックを区別する独自ID | プラットフォーム標準のMagicと同一とは限らない |
Magic Numberは利益を判断する番号ではない
番号が大きい・小さい、特定の番号であること自体に、利益・勝率・安全性の意味はありません。確認するのは「どのEA、どのロジック、どのコピー・決済対象に属するか」です。
EA・MT4/MT5の用語全体を確認したい場合は、FX用語辞典を参照できます。
Magic・ticket・position・Logic IDを混同しない
不具合確認では「Magicが同じだから同じ取引」「ticketが違うから別EA」といった単純な判断を避けます。EAがどの項目を管理キーとして使っているかは実装によって異なります。
| 識別情報 | 主に確認する場面 | 確認例 |
|---|---|---|
| Magic | EA・ロジック・コピー対象の切り分け | Inputs、注文履歴、EAログ |
| ticket | 個別注文・ポジションの追跡 | 該当時刻のExperts / Journalと照合 |
| position identifier | MT5で注文・deal・positionを関連付ける | 履歴を連続して追う場合 |
| symbol / direction | 銘柄・BUY/SELLの対象範囲 | 決済補助、basket集計、コピー条件 |
| Logic ID | EA内部ロジックの分類 | Logic1 / Logic2などの内部ログ |
| basket scope | 平均建値・合計損益・一括決済に含める集合 | symbol / magic / direction / groupなどの条件 |
MagicとLogic IDを同じ数値にしているEAもあれば、別管理しているEAもあります。原文P1494の「Logic IDとの違い」は、Magicをプラットフォーム側の識別情報、Logic IDを製品内部の分類として分けて確認する形で保全します。
手動注文とEA注文の違い
Magic 0だけで手動注文と断定しない
MQL4のOrderSendではmagic引数の既定値が0です。そのため、Magic 0という値だけで手動注文の証拠とは扱えません。EAがmagicを指定せず発注すれば0になる可能性があります。(公式資料[5])
MT5では注文やポジションに、発注元・生成理由を示すORDER_REASONやPOSITION_REASONもあります。手動・EA・モバイル・Webなどの区分を確認できるため、Magicと発注元は別の情報として扱います。(公式資料[2][3])
| 対象 | 確認すること | 注意点 |
|---|---|---|
| EA注文 | 設定Magic、symbol、ticket、comment | EAが管理対象に含める条件を確認 |
| 手動注文 | 注文元とEA側のmanual扱い | Magic 0だけで断定しない |
| コピー注文 | コピー元識別とコピー先Magic | コピー元Magicをそのまま維持するとは限らない |
| 補助ツール注文 | ツールが付与するMagic・comment | 別EAと同じ番号になる場合は対象条件を確認 |
手動ポジションをEAが管理するか、無視するか、一括決済対象へ含めるかは製品仕様に依存します。Magicだけではなく対象条件の説明とログを確認してください。
MT5ではネッティング/ヘッジも確認する
MT5は口座ごとにネッティングまたはヘッジのポジション管理方式を使います。ネッティングでは同一銘柄のポジションは1つに集約され、ヘッジでは同一銘柄に複数ポジションを持てます。(公式資料[4])
| 口座方式 | 同一銘柄のポジション | Magic確認で注意すること |
|---|---|---|
| ネッティング | 同一銘柄は1つの共通ポジション | Magicを分けてもEA別の独立ポジションが作られるとは限らない。注文・deal・positionを関連付けて確認 |
| ヘッジ | 同一銘柄に複数ポジションを保有可能 | Magicで絞る設計でも、symbol・ticket・direction等の追加条件を確認 |
口座方式の違いは、MQL5 Hedging / Netting口座の違いで詳しく確認できます。Magicの設定と口座方式は別の論点として確認してください。
複数EA運用でMagic Numberを確認する
分けたい管理対象を先に決める
同じ口座で複数EAを使う場合は、EAごとにMagic一覧を作り、EA名、バージョン、銘柄、時間足、Magic、用途、コピー対象の有無を記録しておくと切り分けやすくなります。
| 運用状態 | Magicの確認 | 追加で確認すること |
|---|---|---|
| 別EAを同じ口座で稼働 | 別管理するならMagicを分ける | symbol、決済対象、最大保有数、口座方式 |
| 同じEAを複数チャートで稼働 | チャート単位で分けるか仕様確認 | 銘柄、時間足、set、重複Entry |
| 複数ロジックEA | Logic別Magicの有無を確認 | Logic ID、entry/exit、basket scope |
| コピーEA併用 | include / exclude Magicを確認 | 手動注文、コピー先Magic、ロット調整 |
| 決済補助併用 | 対象Magicの範囲を確認 | symbol、BUY/SELL、手動含むか |
複数EA全体の設置・ロット・VPS・ログまで確認する場合は、MT5で複数EAを同じ口座で使う前に確認することへ進んでください。本記事はMagic Numberの専門確認に絞ります。
複数ロジックとbasket scopeを確認する
1つのEAにLogic1、Logic2、Logic3のような複数ロジックがある場合、ロジックごとにMagicを分ける設計もあれば、1つのMagicで内部Logic IDを分ける設計もあります。
| 項目 | 意味 | 確認すること |
|---|---|---|
| Logic ID | EA内部のロジック番号・名称 | Magicと同一値か別管理か |
| Logic別Magic | ロジックごとの注文識別ID | 各ロジックで重複しないか |
| entry scope | 新規発注の対象範囲 | symbol / direction / Magic / Logic条件 |
| exit scope | 決済・SL/TP変更の対象範囲 | ticket / Magic / symbol / direction |
| basket scope | 平均建値・合計損益・一括決済の集計範囲 | どのポジションを同じbasketへ含めるか |
平均建値や合計損益を「同じMagicだけ」で集計するとは限りません。symbolやdirection、独自groupを含める設計もあるため、ログにbasket_scope等の独自項目がある場合はその意味を製品仕様と照合してください。
実装側の考え方は、MQL5 Multi-Logic EA設計を実コードで解説で確認できます。
コピーEAでMagic Numberを確認する
コピーEAでは、コピー元口座のすべてを対象にするか、特定Magicだけを対象にするか、特定Magicを除外するかを設定する場合があります。対象条件の意味を確認してから稼働させます。
| コピー設定 | 確認する内容 | 注意点 |
|---|---|---|
| 全コピー | 対象口座の注文を広く対象にする | 手動注文や不要EAまで含まれないか |
| include Magic | 指定Magicだけコピー | 区切り形式、空白、複数値の扱い |
| exclude Magic | 指定Magicを除外 | includeとの優先順位や空欄時の意味 |
| 手動注文コピー | 手動注文を対象にするか | Magic 0だけで手動と断定しない |
| コピー先Magic | コピー先で付与される識別番号 | コピー元と同じとは限らない |
| ロット調整 | Magic別に倍率・固定ロットを使うか | 最小ロット・lot stepも別確認 |
| 決済同期 | コピー元のどの決済を反映するか | 対象識別がズレると同期対象が変わる |
コピー元AはMagic 1001~1003、コピー元Bは2001~2003、といった番号例は管理方法の一例です。安全な番号帯や推奨値を意味するものではありません。実際の番号は、既存EAとの重複、コピーEAの入力仕様、保有中ポジションとの関係を確認して決めます。
コピーEA全体の確認は、MT5コピーEA完全ガイドを参照してください。
決済・注文補助ツールでMagicを使う場合
決済補助ツールや注文補助ツールでは、特定Magicだけを操作する、複数Magicを対象にする、手動注文を含める、symbolとMagicを組み合わせる、といった対象指定があります。
| 指定方法 | 対象の考え方 | 確認ポイント |
|---|---|---|
| 全ポジション | Magicに関係なく対象 | 別EAや手動注文まで含まれるか |
| 特定Magic | 指定番号だけ対象 | 保有中ポジションのMagicと一致するか |
| 複数Magic | 複数番号を対象 | 入力区切りと空白の扱い |
| 手動注文のみ | 手動由来を対象 | Magic 0だけを唯一条件にしていないか |
| symbol + Magic | 銘柄と番号で絞る | チャート銘柄だけか全銘柄か |
| BUY / SELL + Magic | 方向も含めて対象を限定 | 片方向の誤指定がないか |
対象範囲が曖昧なまま一括決済・変更を行うと、別EAのポジションまで操作する可能性があります。操作前に対象件数やログ表示がある場合は、その結果と保有一覧を照合してください。
注文・決済補助ツールの考え方は、注文補助ツールで確認することで確認できます。
マジックナンバーを変更する前に確認すること
保有中ポジションがある状態で変更しない
Magicを変更する前に、変更前Magicのポジション・注文が残っていないか確認してください。EAがMagic一致を管理条件にしている場合、変更後に既存ポジションを見つけられなくなる可能性があります。
| 確認項目 | 変更前に確認する内容 | 起こり得ること |
|---|---|---|
| 保有中ポジション | 旧Magicのポジションが残っていないか | 決済・トレーリング・ナンピン等の対象外になる可能性 |
| pending order | 旧Magicの指値・逆指値が残っていないか | 約定後に管理対象が分かれる可能性 |
| コピーEA設定 | include / excludeが旧Magicのままではないか | コピー対象が変わる可能性 |
| 決済補助設定 | 対象Magicが旧値のままではないか | 想定したポジションを操作できない可能性 |
| ログ・履歴 | 変更時刻と旧/新Magicを記録したか | 後でどちらの設定だったか分からなくなる |
古いsetファイルの再読込に注意する
MagicがEAのinputとしてsetファイルに保存されている場合、古いsetを読み込むとMagicも保存時の値へ戻る可能性があります。setを読み込んだ後は、ファイル名だけで判断せずInputs画面の実値を確認してください。
- 変更前のsetを別名で保存する
- 変更後のMagicを記録する
- コピーEA・決済補助の対象Magicも同時に確認する
- 再起動やEA再セット後に値が維持されているか確認する
- 変更前後のログ時刻を残す
Magic Number関連のトラブルを切り分ける
| 症状 | 確認すること | 主な確認場所 |
|---|---|---|
| 既存ポジションを管理しない | ポジションMagicと現在のEA設定、変更履歴 | Inputs、保有一覧、Experts |
| 別EAのポジションを決済する | Magic重複、symbol/方向の絞り込み | Inputs、決済ログ、履歴 |
| コピーされない | include Magicに含まれるか、コピー元注文のMagic | コピー元ログ、コピーEA設定 |
| 余計な注文までコピーされる | 対象が全コピーになっていないか、exclude条件 | コピー対象設定、コピー元履歴 |
| 決済補助の対象が違う | Magic、symbol、direction、manual条件 | 補助ツール設定、対象一覧 |
| 同じEAの複数チャートで混ざる | チャート別Magic、symbol、時間足、set | Inputs、set、ログ |
| Magic変更後に挙動が変わる | 旧ポジション・旧set・copy/exclude設定 | 履歴、set、変更記録 |
Magic Numberが原因に見えても、注文拒否、EA停止、通信エラー、口座方式、銘柄仕様など別原因の場合があります。Magicだけに絞り込まず、発生時刻とログを基準に確認してください。
Experts・Journal・履歴で確認すること
ログ確認では、Magicだけでなくticket、symbol、direction、volume、発生時刻をセットで記録します。コピーやbasket管理があるEAでは、独自のcopy_filter、entry_reason、close_reason、basket_scopeのような識別ログがあれば併せて確認します。
| ログ・履歴項目 | 確認目的 |
|---|---|
| magic | EA・ロジック・コピー対象の識別 |
| ticket / position id | 個別注文・ポジションの追跡 |
| symbol | 対象銘柄の確認 |
| direction | BUY / SELLの対象確認 |
| volume | ロット調整やコピー結果の確認 |
| entry_reason | どの条件・ロジックで発注したか |
| close_reason | どの条件で決済したか |
| copy_filter | コピー対象に含めた/除外した理由 |
| basket_scope | 平均建値・合計損益に含めた範囲 |
| timestamp | Experts / Journal / 取引履歴の突合 |
ログ項目名はEAごとの実装です。上記の名称が必ず出るわけではありません。製品ログにない項目を「出ているはず」と仮定せず、実際のログ形式を確認してください。
バックテスト・デモ環境で確認すること
Magic設定を変更した場合や複数EA・複数ロジックの構成を変えた場合は、いきなり実運用へ移さず、検証環境で識別結果を確認します。
| 記録項目 | 確認内容 |
|---|---|
| EA名・バージョン | どの版の仕様か |
| Magic | 設定した番号 |
| symbol / timeframe | どのチャート条件で動かしたか |
| setファイル | 実際に読み込んだ設定 |
| 注文履歴 | 注文ごとのMagic・ticket・symbol |
| 決済履歴 | 決済対象と理由 |
| ログ | entry / close / copy / basket等の識別情報 |
| 口座方式 | MT5のnetting / hedging |
| 変更履歴 | 旧Magic→新Magic、変更時刻、保有有無 |
バックテスト上でMagicが想定どおりでも、コピーEA・外部連携・別EAとの同居条件まで同じとは限りません。確認した環境と実運用環境の差を記録してください。
問い合わせ前に整理すること
送ると確認しやすい情報
| 情報 | 理由 |
|---|---|
| EA名・バージョン | 対象仕様を特定するため |
| 現在と変更前のsetファイル | Magicや対象条件の差分を確認するため |
| 対象Magic | 確認したい番号を明確にするため |
| 対象ポジション・注文の履歴 | ticket、symbol、direction、volume、日時を確認するため |
| Experts / Journal | EA側判断と端末・サーバー処理を照合するため |
| コピー元・コピー先構成 | include / exclude / コピー先Magicを確認するため |
| 決済補助設定 | 対象範囲を確認するため |
| 再現手順と発生時刻 | 該当ログを絞るため |
そのまま送らない情報
| 情報 | 注意点 |
|---|---|
| MT4/MT5ログインパスワード | 送信しない |
| 投資家パスワード | 閲覧用でも共有不要なら送らない |
| VPSログイン情報 | リモート接続情報を送らない |
| 認証キー・ライセンスキー | 伏せる |
| Webhook URL / APIキー | 外部連携ログや画面への映り込みに注意 |
| 口座番号・個人情報 | 確認に不要な部分は伏せる |
実務チェック表
- EAのInputsで現在のMagic Numberを確認した
- 古いsetを読み込んだ後にMagicが戻っていないか確認した
- 複数EA・複数ロジックで分けたい管理対象を整理した
- MagicとLogic IDを同じものとして扱っていない
- basket scopeがどのsymbol・direction・Magicを含むか確認した
- MT5のnetting / hedging口座方式を確認した
- Magic 0だけで手動注文と断定していない
- コピーEAのinclude / exclude Magicとコピー先Magicを確認した
- 決済補助ツールの対象Magic・symbol・BUY/SELL・manual条件を確認した
- Magic変更前に旧Magicの保有ポジション・pending orderを確認した
- Experts / Journal / 履歴でMagic・ticket・symbol・時刻を照合した
- バックテスト/デモで設定Magicと実際の注文識別を確認した
- 問い合わせ前に秘密情報を伏せ、set・履歴・ログを整理した
よくある質問
マジックナンバーとは何ですか?
EAが注文やポジションを識別するために使うIDです。MQL5では取引リクエストのmagic、注文のORDER_MAGIC、ポジションのPOSITION_MAGICとして確認できます。
EAごとに必ず違うMagicにする必要がありますか?
必ずしも全て異なる必要はありません。同じ管理対象として意図的に共有する設計もあります。ただし、別EA・別ロジック・別コピー対象・別決済対象として分けたい場合は、重複させない方が切り分けやすくなります。
Magic 0は手動注文ですか?
0だけでは断定できません。MQL4のOrderSendはmagicの既定値が0なので、EAが0で注文することも可能です。MT5では注文元を示すreasonも確認できます。
コピーEAでMagicはどこを確認しますか?
コピー元注文のMagic、コピーEA側のinclude / exclude、手動注文の扱い、コピー先に付与されるMagicを分けて確認します。コピー元とコピー先で同じ番号になるとは限りません。
Magicを変更しても大丈夫ですか?
保有中ポジションやpending orderがある場合は注意してください。EAがMagic一致で管理していると、旧Magicのポジションを変更後に管理できなくなる可能性があります。旧setの再読込にも注意します。
Logic IDとMagic Numberは同じですか?
同じとは限りません。Logic IDはEA内部の分類、Magicは取引注文・ポジションの識別に使う値として分けて設計される場合があります。対象EAのログと仕様で対応関係を確認してください。
Magicを分ければMT5のポジションもEAごとに分かれますか?
ネッティング口座では同一銘柄のポジションは1つに集約されるため、Magicを分けただけでEA別ポジションになるとは限りません。口座方式とEAの管理方法を確認してください。
basket scopeはMagicだけで決まりますか?
EAの仕様によります。Magicのほか、symbol、direction、独自groupやLogic IDを組み合わせる場合があります。平均建値・合計損益・一括決済の対象条件を確認してください。
Magic関連の不具合では何を送ればよいですか?
EA名・バージョン、現在と変更前のset、対象Magic、注文・ポジション履歴、Experts / Journal、コピー・決済補助設定、発生時刻と再現手順を整理してください。秘密情報は伏せてください。
関連ページ
Magic Numberは、複数EA、コピーEA、補助ツール、マルチロジック、口座方式と関係します。今回のR8主要導線で役割を分けて確認できます。
| 確認したい内容 | 関連ページ |
|---|---|
| 複数EAの配置・ロット・VPS・ログまで確認する | MT5で複数EAを同じ口座で使う前に確認すること |
| コピー元・コピー先・決済同期まで確認する | MT5コピーEA完全ガイド |
| 決済・注文補助の対象範囲を確認する | 注文補助ツールで確認すること |
| 複数ロジックとMagicの実装設計を確認する | MQL5 Multi-Logic EA設計を実コードで解説 |
| ネッティング/ヘッジの違いを確認する | MQL5 Hedging / Netting口座の違い |
| EA・MT4/MT5の基本用語を確認する | FX用語辞典 |
| 技術辞典から関連用語・関数を探す | EA・MT5・MQL5 技術辞典 |
確認に使える公式資料
Magic Numberの標準プロパティとMT5の口座方式は、MetaQuotesの公式資料で確認できます。EA固有のinclude / exclude、Logic ID、basket scope、決済対象の仕様は製品ごとに異なるため、EAのマニュアル・Inputs・ログと照合してください。
| 参照 | 公式資料 | 確認できる内容 |
|---|---|---|
| [1] | MQL5 Reference:MqlTradeRequest | 取引リクエストのmagicフィールドとEA ID |
| [2] | MQL5 Reference:Order Properties | ORDER_MAGIC、ORDER_REASON、ORDER_POSITION_ID |
| [3] | MQL5 Reference:Position Properties | POSITION_MAGIC、POSITION_IDENTIFIER、POSITION_REASON |
| [4] | MetaTrader 5 Help:Basic Principles | ネッティング/ヘッジのポジション管理方式 |
| [5] | MQL4 Reference:OrderSend | MQL4のmagic引数と既定値0 |
| [6] | MQL5 Reference:CTrade::SetExpertMagicNumber | CTradeでEA IDを設定する方法 |
まとめ
EAのマジックナンバーは、EAが注文・ポジションを識別するためのIDです。複数EA、複数ロジック、コピーEA、決済補助ツールを併用する時は、どの対象を分けたいのかを先に決め、Magic、symbol、direction、ticket、Logic ID、basket scopeを必要に応じて組み合わせて確認します。
Magic 0だけで手動注文と断定せず、MT5ではORDER_REASON / POSITION_REASONも確認します。ネッティング口座では同一銘柄のポジションが共通化されるため、Magicを分けただけでEA別の独立ポジションになるとは限りません。
Magicを変更する時は、旧Magicの保有ポジション・pending order、コピーEAや決済補助の対象設定、古いsetの再読込を確認してください。変更前後のsetと時刻を残し、Experts / Journal / 履歴で識別情報を照合すると切り分けやすくなります。
お問い合わせはEAFC公式LINEへ
Magic Numberの設定、複数EA・コピーEAの対象整理、決済補助ツールの対象、ログ確認、開発・改修前の仕様整理について相談する際は、EA名・バージョン、現在と変更前のset、対象Magic、発生時刻、履歴、Experts / Journalを整理してください。
※投資助言、売買指示、利益保証、推奨ロット、推奨銘柄の案内は行っておりません。
口座番号、認証情報、Webhook URL、GAS URL、APIキーなどの機密情報は送信しないでください。
