ForexBestRobots.comEAを比較 →
JA

MT4・Expert Advisor · 注文の識別

MT4のMagic Numberとは:EAが自分の取引を識別する仕組み

MT4のMagic Numberによる注文識別と、コードが管理範囲を確認することでEA戦略を区別する仕組みを解説します。

13 分で読めますForexBestRobots編集チームによるレビュー済み
複数のEAと手動取引をMagic Numberで別々の注文グループに分けるMT4図解MT4・Expert AdvisorMT4実践ガイド

ForexBestRobots.comのために制作したオリジナル図解です。

Magic Numberは、Expert Advisorが注文を発注する際に記録する整数です。EAは保有中と過去の注文を調べ、その番号から自分が管理すべきポジションを判定します。

Magic Numberの役割

Magic Numberは利益を生んだり、ドローダウンを抑えたり、口座を認証したりしません。戦略を識別し、コードが正しければ無関係な注文の変更を防ぐ運用上の番号です。

複数のEAと手動取引をMagic Numberで別々の注文グループに分けるMT4図解
Magic Numberは注文識別子であり、リスク制御や口座ライセンスではありません。
固有番号が防ぐのは混乱であり、損失ではありません

ロット、Stop Loss、相関リスク、最大ドローダウンは別途管理してください。

注文管理の流れ

独立した戦略ごとに固有の整数を割り当て、必ず記録します。MT4の再起動やVPSへの移転時も同じ値を使います。シンボルのサフィックスだけで別番号は不要ですが、独立した戦略インスタンスでは通常分けます。開発者が値を固定または非表示にしている場合はその設計に従います。

1

注文の管理方法を確認

まず開発者の説明を読みます。固定番号を使うEAもあれば、複数チャートで意図的に共有するポートフォリオEAもあります。

2

割り当てを記録

ターミナル、口座、EA、シンボル、時間足、Magic Numberを簡単な表に記録します。複数の設定を記憶に頼って管理するより確実です。

3

稼働前に設定

実口座の前にEA Inputsへ入力します。他EAが同じ番号を使っている場合、setファイルを無確認でコピーしないでください。

4

保有中は変更しない

保有中は開発元の移行手順なしに番号を変更しないでください。新しいインスタンスが既存バスケットを認識できなくなる場合があります。

よくある競合

運用例推奨する識別混同した場合のリスク
1つのEAを1チャートで使用そのインスタンス用の固定番号保有中の変更は既存ポジションを追跡できなくする
同じEAを2通貨ペアで使用特別な指示がなければシンボルごとに別番号バスケットが混ざったり、別の銘柄群を決済したりする可能性
異なる2つのEAEAごとに固有の番号同じ注文を両方が管理する可能性
手動取引通常はMagic Number 00を対象とするEAは手動注文に触れる場合がある

よくある間違い

関係のないEAで同じ番号を使う
setファイルが予定の値を上書きする
同じ口座を異なる設定の2端末で動かす
Magic Number 0の手動注文をEAの管理対象にする
バスケット保有中に番号を変える

安全な設定

識別子を選ぶ前に、EAが管理する注文の範囲を説明書で確認します。Magic Numberと銘柄を併用するプログラムもあれば、複数銘柄をまとめて管理するポートフォリオEAもあります。注文を変更・決済する前にコードが想定範囲を確認して初めて、識別子は機能します。

注文コメントを排他的な管理ロックとして使わないでください。コメントはサーバーが変更する場合があり、Magic Number 0は手動注文でよく使われます。表示コメントだけでなく、信頼できる診断スクリプトやレポートで実際のmagicフィールドを確認してください。

確認方法

ターミナル → 取引でオーダーコメントを確認します。
magic値を表示できるレポートやスクリプトで確認します。
別EAのテスト注文が変更されないことを確認します。
再起動後のExpertsとJournalに未管理注文の警告がないか見ます。
複数EAの併用はまずデモ口座で検証します。

Magic Numberは別のターミナルを締め出さない

同じ口座に接続した二つのターミナルは、同じ注文群を読み取り操作できます。共有Magic Numberはサーバー側の排他ロックを作らず、一方を所有者に指定することもありません。異なる番号でも、二つのコピーが同じシグナルを独立に検出すれば、戦略のリスクが重複して建つ場合があります。

開発者が協調動作を明示的にサポートしない限り、一つの導入環境につき予定した取引インスタンスを一つにします。VPSへ移す際は既存ポジションを認識する識別子を維持し、旧インスタンスを止め、新しい側の管理を確認します。ターミナルの二重稼働を直すために、稼働中バスケットの識別子を変更しないでください。

OrderSendの公式リファレンスはmagicをユーザー定義の識別子と説明し、注文コメントの末尾をサーバーが変更できるとしています。

独立したEAを併用する前に注文の管理範囲を確認する

提供元が識別番号11401と11402による独立した2つのデモ稼働を明示的に認めていると仮定します。口座、ブローカーサーバー、EA版、正確な銘柄、時間足を記録します。通常のテストシグナルで注文が作成されたら、実際のmagicフィールドと銘柄を調べます。再起動後も含め、各EAが仕様どおりの管理範囲だけを認識するか確認してください。番号が異なるだけではコードの正しい選別は証明できません。

無関係なポジションが変更されたり既存バスケットを認識しなかったりする場合は、新たなリスク追加を止め、証拠を保存します。実験として保有中の識別番号を変えないでください。協調動作するポートフォリオEAでは別の管理方式もあるため、この独立稼働の例より提供元の説明が優先されます。

移行時にはVPS復旧・引き継ぎの確認手順を使い、ポートフォリオ全体のエクスポージャーは別に評価します。正しい注文管理は運用上の混同を防ぎますが、相関戦略を独立させたり、市場損失を制限したりはしません。

公式リファレンス

公式ドキュメントを確認。