Unified Local Copier for MT4
- ユーティリティ
- バージョン: 1.30
- アップデート済み: 6 6月 2026
Unified Local Copier (ULC) — ローカルコピートレード
Unified Local Copier は、MetaTrader 4 および MetaTrader 5 向けのローカルコピートレード用 Expert Advisor です。外部 DLL に依存せず、同一 PC 上の Master 端末と Slave 端末の間で、低遅延かつ信頼性の高い注文同期を実現します。MT4 と MT5 のクロスプラットフォーム構成にも対応しています。
現在のバージョン: v1.30(MT5 / MT4)
1. 動作原理とコピー範囲
本システムは Master-Slave(マスター・スレーブ)方式を採用しています。1 つのチャネル(Channel)で 1 つの Master と複数の Slave を運用できます。1 つの Master 口座から、複数の Slave 口座へ取引指令を同期します。
Master(マスター)
口座上のすべての取引活動をリアルタイムで監視します。対象には以下が含まれます:
- 指値・逆指値注文の発注、変更、削除(Buy/Sell Limit、Stop など)
- 成行での新規建玉
- 保有ポジションのストップロス / テイクプロフィット変更
- 決済(部分決済およびヘッジモードの Close By を含む)
Slave(スレーブ)
Master からの指令を受信し、ローカル口座上でミラー実行します。シンボルの対応付け、ロット正規化、スリッページ制御を自動で行い、Master 注文と Slave 注文を一対一で紐付け、再接続後も整合性を維持できます。
クロスプラットフォーム対応
以下の組み合わせに対応しています:
- MT5 Master → MT4 Slave
- MT4 Master → MT5 Slave
- 同一プラットフォーム内の Master → Slave
コピー範囲
Slave は以下を完全にミラーします:指値注文の発注 / 変更 / 削除、成行建玉、SL/TP 変更、決済、Close By。手動取引、EA による取引、指値の約定トリガーなど、すべてのソースに対応します。
2. 方向フィルター(InpSlaveCopySide)
Slave 側では、コピーする取引を売買方向でフィルターできます。Master 戦略の片側のみをコピーしたい場合(ロングのみ、ショートのみなど)に有用です。
選択肢:
SLAVE_COPY_BOTH(既定)— Buy と Sell の両方をコピー
SLAVE_COPY_BUY — Buy のみ
SLAVE_COPY_SELL — Sell のみ
フィルター規則:
1. 新規建玉と指値発注:選択した方向に一致する注文のみコピー(Buy/Sell Limit、Stop などの指値タイプを含む)。
2. 決済とポジション変更:選択した方向のポジションのみ処理。「Buy のみ」の場合、Master が Sell を決済しても Slave では決済されません。Master が Buy を決済した場合のみ、Slave 側の対応する Buy ポジションを決済します。
3. 指値の変更と削除:Slave が既に Master の指値をコピー済みの場合、変更と削除は引き続き同期され、残存指値を防ぎます。
注意:方向フィルターは Slave のみに適用されます。Master 側は既定値のままで問題ありません。
3. 入力パラメータ
共通パラメータ(Master / Slave 双方で設定)
パラメータ 型 / 既定値 説明
-------------------------------------------------------------------------
InpRole ROLE_MASTER 役割。ROLE_MASTER = 指令送信;
ROLE_SLAVE = 受信・コピー。
InpChannelID 8888 (int) チャネル ID。Master と Slave で
完全に一致させる必要があります。
1 台の PC で複数の独立コピーを
運用する場合は、それぞれ異なる
Channel ID を設定(例:8888、9999)。
Slave 専用パラメータ
パラメータ 型 / 既定値 説明
-------------------------------------------------------------------------
InpLotSize 0.01 (double) コピーロット。コピーする各注文に
適用する固定ロット(Master ロット
への比例スケールなし)。ブローカーの
最小 / 最大ロットおよびステップに
自動正規化されます。
InpComment "ULC" (string) コピー注文のコメント接頭辞。Master
チケット識別子を自動付与し、追跡と
重複排除に使用します。
InpSymbolSuffix "" (string) シンボル接尾辞。ブローカー間の
シンボル名差異に対応。例:Master
XAUUSD / Slave XAUUSDm — 空欄で
自動マッチ、または "m" を手動入力。
InpSlaveCopySide SLAVE_COPY_BOTH 方向フィルター。第 2 節参照。Slave のみ。
InpReplayHistoryOnStart false (bool) 起動時に過去の未処理指令を追従するか。
false(推奨):現在の同期に参加し、
起動前の旧指令をスキップ。
true:未処理の履歴を順に処理。
MT5 Slave 専用
パラメータ 型 / 既定値 説明
-------------------------------------------------------------------------
InpDeviation 30 (points) 成行注文の許容価格偏差(ポイント)。
許容範囲を超えると注文が拒否される
場合があります。
MT4 Slave 専用
パラメータ 型 / 既定値 説明
-------------------------------------------------------------------------
InpSlippage 30 (points) 成行の新規建玉および決済の許容
スリッページ(ポイント)。
Master 専用パラメータ
パラメータ 型 / 既定値 説明
-------------------------------------------------------------------------
InpClearQueueOnStart false (bool) 起動時に同期履歴をクリアするか。
false(推奨):状態を保持し、時間足
変更や EA 再読み込み後も Slave が
続行可能。
true:新規セッションとして最初から開始。
MT4 Master 専用
パラメータ 型 / 既定値 説明
-------------------------------------------------------------------------
InpMasterPollSec 1 (int) Master のチェック間隔(秒)。ティック
が少ないシンボルや H1 チャートでは
1 秒以上を推奨し、注文変更を
確実に検出します。
4. セットアップガイド
1. Master の配置
(1) シグナルを送信する MT4 または MT5 端末を開き、任意のチャートに EA を添付(シンボル・時間足は不問。常時開いておくチャートを推奨)。
(2) UnifiedLocalCopier をチャートにドラッグ。
(3) InpRole = ROLE_MASTER を設定し、InpChannelID を構成。
(4) 端末の「アルゴリズム取引 / AutoTrading」マスタースイッチを有効化。
重要:
- 同一口座・同一 Channel ID では Master EA は 1 つのみ。
- 同一口座の複数チャートで同一 Channel の Master を同時実行しないでください。競合や重複コピーの原因になります。
- Master は口座全体を監視するため、1 枚のチャートで十分です。
2. Slave の配置
(1) シグナルを受信する MT4 または MT5 端末(別クライアント・別口座可)に EA を添付。
(2) InpRole = ROLE_SLAVE を設定し、InpChannelID を Master と完全一致させる。
(3) 必要に応じて InpLotSize、InpSlaveCopySide、InpSymbolSuffix など Slave パラメータを設定。
(4) アルゴリズム取引を有効化。EA は同期待機モードに入ります。
重要:
- コピー先口座では、同一 Channel につき Slave EA は 1 つを推奨。
- シンボル名が異なる場合は InpSymbolSuffix を確認するか、Experts ログで自動マッピング結果を確認してください。
5. 製品の特長
DLL 非依存
すべての機能が EA に内蔵されています。外部コンポーネントのインストールは不要で、セットアップが簡単、互換性も広いです。
正確な重複排除
Slave は建玉前に検証を行い、遅延や繰り返しトリガーによる二重コピーを防止します。
スマートイベントフィルター
Master は成行約定後の冗長な更新をフィルターし、Slave 側への不要な変更指令を削減します。
高頻度取引時の信頼性
グリッドやマーチンゲールなど、注文が一斉に発生する場面でも、組み込みのフォールトトレランスとリトライにより、コピー漏れを低減します。
指値注文のライフサイクル完全同期
発注、変更、削除をすべて同期。Master がコピー済み指値をキャンセルした場合、Slave 側も削除され、残存しません。
一対一の注文紐付け
各コピー注文を Master 元注文と紐付け、決済・変更・削除が正しい Slave 注文を対象とします。
切断後の再開
InpClearQueueOnStart = false(推奨)の場合、EA 再読み込みやチャート変更後も、最初からやり直すことなく安全に再開できます。
6. 対応操作一覧
操作 Slave の動作
-------------------------------------------------------------------------
指値発注 Slave 側に対応する指値を発注
指値変更 Slave 指値の価格 / SL / TP を変更
指値削除 対応する Slave 指値を削除
成行建玉 Slave 側で成行 Buy / Sell を建玉
SL/TP 変更 対応ポジションの SL / TP を変更
決済 対応ポジションを決済
Close By(ヘッジ) Close By ロジックで対応ポジションを決済
7. よくある質問
Q:Slave ログに Master 待機中と表示されます。
A:先に Master EA を起動し、両端の InpChannelID が一致していることを確認してください。
Q:Slave でシンボルマッピングに失敗しました。
A:InpSymbolSuffix を確認するか、Slave 端末の「気配値表示」に該当シンボルを追加してください。
Q:「Buy のみ」設定なのに Master の Sell 指値がコピーされません。
A:想定どおりの動作です。方向フィルターは選択した方向のみコピーします。既にコピー済みの指値は、Master が変更・削除した際に引き続き同期されます。
Q:MT4 と MT5 を混在できますか?
A:はい。同一 PC 上で Channel ID を一致させれば、クロスプラットフォームコピーが可能です。
Q:Master と Slave で異なるブローカー口座を使えますか?
A:はい。InpSymbolSuffix でシンボル名の差異に対応し、InpLotSize で Slave 側のロットを独立設定できます。
Q:コピーロットは Master に比例しますか?
A:いいえ。Slave は固定の InpLotSize を使用します。Slave 口座の規模とリスクに応じて設定してください。

