技術辞典

EAのマジックナンバーとは?使い方・重複・変更時の注意点

EAのMagic Numberの使い方と確認を表すアイキャッチ。コピー設定画面、注文一覧、複数口座の同期画面を背景に配置しています。
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 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 NumberEAが注文・ポジションを識別するためのIDEA側の管理条件に使われる。利益や勝率を表す番号ではない
order ticket個別注文を識別する番号同じMagicでも注文ごとにticketは異なる
position ticket / identifierポジションやその履歴関係を追う識別情報MT5では注文・約定・ポジションを別記録として確認する
symbol取引対象の銘柄同じMagicでも銘柄を分けて管理するEAがある
comment注文・ポジションに付く補助文字列Magicと併用する場合があるが仕様依存
Logic IDEA内部でロジックを区別する独自IDプラットフォーム標準のMagicと同一とは限らない

Magic Numberは利益を判断する番号ではない

番号が大きい・小さい、特定の番号であること自体に、利益・勝率・安全性の意味はありません。確認するのは「どのEA、どのロジック、どのコピー・決済対象に属するか」です。

EA・MT4/MT5の用語全体を確認したい場合は、FX用語辞典を参照できます。

Magic・ticket・position・Logic IDを混同しない

不具合確認では「Magicが同じだから同じ取引」「ticketが違うから別EA」といった単純な判断を避けます。EAがどの項目を管理キーとして使っているかは実装によって異なります。

識別情報主に確認する場面確認例
MagicEA・ロジック・コピー対象の切り分けInputs、注文履歴、EAログ
ticket個別注文・ポジションの追跡該当時刻のExperts / Journalと照合
position identifierMT5で注文・deal・positionを関連付ける履歴を連続して追う場合
symbol / direction銘柄・BUY/SELLの対象範囲決済補助、basket集計、コピー条件
Logic IDEA内部ロジックの分類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、commentEAが管理対象に含める条件を確認
手動注文注文元と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
複数ロジックEALogic別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 IDEA内部のロジック番号・名称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、時間足、setInputs、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のような識別ログがあれば併せて確認します。

ログ・履歴項目確認目的
magicEA・ロジック・コピー対象の識別
ticket / position id個別注文・ポジションの追跡
symbol対象銘柄の確認
directionBUY / SELLの対象確認
volumeロット調整やコピー結果の確認
entry_reasonどの条件・ロジックで発注したか
close_reasonどの条件で決済したか
copy_filterコピー対象に含めた/除外した理由
basket_scope平均建値・合計損益に含めた範囲
timestampExperts / 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 / JournalEA側判断と端末・サーバー処理を照合するため
コピー元・コピー先構成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 PropertiesORDER_MAGIC、ORDER_REASON、ORDER_POSITION_ID
[3]MQL5 Reference:Position PropertiesPOSITION_MAGIC、POSITION_IDENTIFIER、POSITION_REASON
[4]MetaTrader 5 Help:Basic Principlesネッティング/ヘッジのポジション管理方式
[5]MQL4 Reference:OrderSendMQL4のmagic引数と既定値0
[6]MQL5 Reference:CTrade::SetExpertMagicNumberCTradeで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キーなどの機密情報は送信しないでください。

ABOUT ME
記事URLをコピーしました