MT4/MT5 コピートレードEA
ユーザーマニュアル
1. はじめに
本EAは、MT4およびMT5間でトレードを超高速で同期するコピートレードツールです。Windowsの内部通信を使用しており、高い約定力と多彩な資金管理・リスク管理機能を備えています。
このマニュアルの内容をQ&Aチャットボットに読み込ませています。ピンポイントな質問に柔軟に回答できますので、ぜひご活用ください。トラブル時はログファイルを添付すると、AIが原因を解析して解決策を提示します。
Q&Aチャットボットを開く(ご利用にはGoogleアカウントでのログインが必要です)
2. ご利用前の重要確認事項
システムの仕様上、以下の運用には対応しておりません。あらかじめご了承ください。
- 遠隔PC間でのコピー:必ず「同じPC」または「同じVPS内」でMasterとSlaveのMT4/5を起動してください。
- MT5のネッティング口座:一般的な「ヘッジング(Hedging)口座」でのみ稼働します。
- Mac、スマホ、Webブラウザでの稼働:Windows環境(またはWindows Server VPS)が必須です。
- 待機注文のコピー:マスタースレーブ間のレート差により、スレーブのみポジションを取得する可能性があるため、あえて実装していません。
3. ファイル説明
| ファイル名 | 対象 | 説明 |
|---|---|---|
MT4_Master_vX.XX.ex4 | MT4 | コピー元に設置するMaster EAです。 |
MT4_Slave_vX.XX.ex4 | MT4 | コピー先に設置するSlave EAです。 |
MT5_Master_vX.XX.ex5 | MT5 | コピー元に設置するMaster EAです。 |
MT5_Slave_vX.XX.ex5 | MT5 | コピー先に設置するSlave EAです。 |
4. ファイルの配置
ダウンロードしたファイルを、MT4/MT5のデータフォルダ内の指定場所に保存してください。
※ データフォルダは、MT4/MT5のメニュー「ファイル」→「データフォルダを開く」で開けます。
MT4
MQL4/Experts フォルダに下記を配置します(ファイル → データフォルダを開く → MQL4 → Experts)。
MT4_Master_vX.XX.ex4MT4_Slave_vX.XX.ex4
MT5
MQL5/Experts フォルダに下記を配置します(ファイル → データフォルダを開く → MQL5 → Experts)。
MT5_Master_vX.XX.ex5MT5_Slave_vX.XX.ex5
5. 初期設定と稼働手順
Step 1:MT4 / MT5の設定(DLLの許可)
本EAはWindowsの内部通信を使用するため、DLLの使用許可が必須です。
- MT4/MT5の上部メニューから「ツール」>「オプション」を開きます。
- 「エキスパートアドバイザ」タブを開きます。
- 「自動売買を許可する(MT4)」「アルゴリズム取引を許可する(MT5)」と「DLLの使用を許可する」の両方にチェックを入れて「OK」を押します。
Step 2:Master(送信側)のセット
- 送信元となる口座のMT4/MT5を開きます。
- 任意のチャートを1つ開き、
Master_EAをドラッグドロップします。
推奨は、EURUSD、USDJPYなどの値動きが止まりにくいメジャー通貨です。理由は、サーバー時間の取得が頻繁になることにより、コピー有効時間のカウント精度が上昇するためです。なお、時間足の指定は一切ありません。


セットするのは1つのみです。
MT4の場合で、他のチャートに高負荷なEAやインジケータがあるときは、別のMT4をインストールし、そちらにMaster EAのみをセットしてください。他のEAの処理にリソースを取られて、ポジションの送信が遅れることがあります。これはMT4がマルチスレッドに対応しておらず、一つのスレッドで全ての処理を行うことが原因です。MT5はマルチスレッドに対応していますので、この対応は通常不要です。
- 設定画面の「パラメータの入力(MT4)」「インプット(MT5)」を確認し、「OK」を押します。
※ パラメータの設定については 6. パラメータ設定ガイド(Master EA) を参照してください。 - DLLの使用許可、自動売買の許可の設定
- MT4:「全般」を確認し、「DLLの使用を許可する」と「自動売買を許可する」にチェックを入れてください。
- MT5:「仕様」を確認し「DLLの使用を許可する」に、「共有」を確認し「アルゴリズム取引を許可」にチェックを入れてください。



- チャートに「稼働状況:正常稼働中」と表示されれば準備完了です。
Step 3:Slave(受信側)のセット
- 受信先となる口座のMT4/MT5を開きます。
- 任意のチャートを1つ開き、
Slave_EAをドラッグドロップします。推奨通貨ペアは特にありません。時間足の指定もありません。


MT4の場合で、他のチャートに高負荷なEAやインジケータがあるときは、別のMT4をインストールし、そちらにSlave EAのみをセットしてください。理由はMaster側と同じです。
- DLLの使用許可、自動売買の許可の設定
- MT4:「全般」を確認し、「DLLの使用を許可する」と「自動売買を許可する」にチェックを入れてください。
- MT5:「仕様」を確認し「DLLの使用を許可する」に、「共有」を確認し「アルゴリズム取引を許可」にチェックを入れてください。



- パラメータの設定を確認し、「OK」を押します。
※ パラメータの設定については 6. パラメータ設定ガイド(Slave EA) を参照してください。 - チャートのパネルに「稼働状況:正常稼働中」と表示されればコピー稼働開始です。


チャートの通貨ペアは、通貨ペア気配値を右クリック →「すべて表示」を推奨します。なお、コピー対象通貨ペアが分かっている場合は、その通貨ペアだけを表示してください。PC負荷を軽減できます。
6. パラメータ設定ガイド
Master EA
ポジションの状態を確認する間隔です。初期値は 10 です。Windowsの制約で内部的には10〜20ms程度が限界となります。一般的なスペックのPC(VPS)であれば初期値で問題ありませんが、タスクマネージャーでCPU負荷をチェックし、高負荷に貼り付くようであれば値を大きくしてください。
※ ご利用の環境で初期値10msのタイマーが設定できない場合は、EAが自動的に動作可能な間隔(20ms等)へ調整して起動し、その旨を起動時のログとポップアップでお知らせします。
チャート左上の情報パネルを「自動非表示/常に表示/常に非表示」から選択します。推奨は自動非表示です。非表示になることでCPU負荷が低下します。
パネル表示モードで自動非表示を選択した場合に、非表示になるまでの秒数です。非表示になった後は、チャート左上の【+】パネル表示をクリックすると再度表示されます。


エキスパートタブに表示されるログの種類を設定できます。初期値の「通常の情報+警告+エラー」のままで結構です。
Slave EA
1. 認証
EAを利用するためのパスワードを入力します(デモ口座の場合は不要です)。1口座限定版の場合は当方が発行したパスワードをご入力ください。口座制限解除版の場合は入力不要です。
2. 基本設定
コピー元(Master)の口座番号を半角数字で入力します。
初期値は 10 です。Windowsの制約で内部的には10〜20ms程度が限界となります。高負荷に貼り付くようであれば値を大きくしてください。
※ 初期値10msのタイマーが設定できない環境では、EAが自動的に動作可能な間隔へ調整して起動し、その旨をログとポップアップでお知らせします。
初期値は「自動判定(推奨)」です。自動で正しいフィルポリシーを取得します。稀にブローカーが誤ったフィルポリシーを返す場合がありますが、自動で修正して正しいフィルポリシーで注文します。万が一、以下のアラートやパネル表示にエラーメッセージが出てしまう場合は、手動で IOC / FOK / RETURN を選択します。


許容するスリッページ幅を指定します。
Slave側で発注する際のマジックナンバーです。
同じ口座で複数のSlaveを稼働させる場合は、必ず別の番号にしてください。
Slave側の注文につける独自のコメントを指定できます(空欄可)。
3. コピー対象設定
何をコピーの対象にするかを「全て/指定通貨ペアのみ/指定マジックナンバーのみ」から選択します。
「指定通貨ペアのみ」を選択した場合に適用されます。対象の銘柄をカンマ区切りで入力します(例:USDJPY,EURUSD)。
通貨ペア名称は、マスター側の名称を入力してください。
「指定マジックナンバーのみ」を選択した場合に適用されます(例:1111,2222)。
マジックナンバーは、マスター側で取得されるポジションのマジックナンバーを入力します。
4. コピーフィルター
Masterの約定価格から不利な方向に指定した値以上ズレていた場合、コピーを見送ります。0で無効。正の値を入力します。
値を小さくしすぎると、ポジションが取得できない場合があります。0を推奨します。
Masterの約定価格より、さらに指定した値だけ「有利」になるまでエントリーを待機します。0で無効。正の値を入力します。
マスターがポジションを保有している間に、スレーブ側が有利な価格に到達しなかった場合はコピーできません。
MT4/5の仕様上、1 pip の基準は通貨ペアやブローカーによって異なりますが、当システムでは世界標準である「1 pip = 10 ポイント」で自動計算されるように設計されています。ポイントとは価格表示の最小単位です(例:USDJPY = 150.001 であれば、最後の 1 の部分が 1 ポイント)。
| 銘柄 | 1.0 pip | 例 |
|---|---|---|
| クロス円 (USDJPY, EURJPY など) | 0.01円(1銭) | USDJPYが150.000のとき、2.0(2 pips)と入力すると「0.02円(2銭)」 |
| ドルストレート (EURUSD, GBPUSD など) | 0.0001ドル | EURUSDが1.10500のとき、2.0(2 pips)と入力すると「0.00020ドル」 |
| ゴールド (XAUUSD / GOLD) | 0.1ドル(10セント) | ゴールドが2000.50のとき、5.0(5 pips)と入力すると「0.5ドル」 |
| 日経225 (JP225 / NIKKEI225 など) | 小数点なしの表示:10円 小数点1桁の表示:1円 | 価格が「38000」か「38000.0」かで基準が変わります |
ブローカーによっては、クロス円の小数点以下が2桁、ドルストレートの小数点以下が4桁の場合があります。この場合、1 pips の値が上記の10倍になります。
ゴールドも一部のブローカー(例:Exness)では小数点以下が3桁です。この場合、5.0(5 pips)と入力すると「0.05ドル」となり、小数点2桁のブローカーに対して値が 1/10 になります。
CFDはボラティリティが非常に大きいため、FXと同じ感覚で 1.0 などと設定すると、すぐに許容範囲を超えてコピーが弾かれてしまいます。CFDをメインにする場合は 10.0 や 50.0 など、少し大きめの数値を設定してテスト稼働することをおすすめします。
Masterのエントリーから指定秒数以上経過した古い注文はコピーしません。
「有利な価格でのみエントリーする」に0以外を設定した場合、この有効期限は無視されます。マスターが対象ポジションを保有している限り、有利な価格になるまで待つためです。
Master側のロットが指定値より大きい(または小さい)場合、その注文を無視します。0で上限/下限設定なし。
ナンピンマーチンの途中からポジションを取得する場合(下限を設定)や、マスターの暴走による大ロット注文のキャンセル(上限を設定)などの用途を想定しています。
「なし(売り買い両方コピー)/買いのみコピー/売りのみコピー」の3種類から選択可能です。強気の相場で売りの勝率が悪い場合は、買いのみコピーを選択してリスクを下げるなどの運用が可能です。初期値は「なし」です。
例:売買方向指定を「買いのみコピー」、反転コピーを「ON」に設定した場合 —— マスターが買いでエントリーすると、マスターは買いなのでコピーを行いますが、反転コピーがONのためスレーブは売りでエントリーします。「買いのみコピー」であるにもかかわらずスレーブは売りでエントリーすることになりますが、あくまでマスター側の売買方向で判定するため、このような動作となります。
5. ロット設定
- 倍率(マスター側に対する倍率):Masterのロットに対する「倍率」でエントリーします。
- 固定ロット:常に固定ロットでエントリーします。
- 資金連動(残高+クレジット比率):MasterとSlaveの資金(残高+クレジット)の比率に応じて、自動でロットを計算します。
- 複利(残高+クレジット比例):Slaveの口座資金の増加に比例してロットを徐々に増やします。
ロット計算モードで固定ロット以外を選んだ場合に共通で使用されるパラメータです。
倍率モードのとき:入力した数字がそのまま「マスターに対するロットの掛け率」になります。
注文ロット = マスターの注文ロット × ロット倍率
資金連動モードのとき:基本は 1.0(資金に合わせた等倍コピー)に設定します。資金に対してリスクを半分に抑えたい場合は 0.5、リスクを2倍取りたい場合は 2.0 を入力してください。
注文ロット = マスターの注文ロット × (スレーブ残高+クレジット) ÷ (マスター残高+クレジット) × ロット倍率
口座の通貨が違う場合は、そのままの値で計算されます。
マスター(残高+クレジット)$100、スレーブ(残高+クレジット)¥10,000 のとき、マスターが1.0ロット注文すると、スレーブは 100ロット注文となります(1.0ロット × (10000 ÷ 100))。
複利モードのとき:後述の「複利計算の基準資金」に対する倍率として機能します。
固定ロットモード時のロット数です。
ロット計算モードで複利を選んだ場合の、複利計算の基準となる資金(残高+クレジット)です。
注文ロット = マスターの注文ロット × (スレーブ残高+クレジット) ÷ 複利計算の基準資金 × ロット倍率
ロット倍率:1.0/複利計算の基準資金:100000(10万円)とした場合
- Slaveの資金が 1万円 のとき … マスターの 0.1倍 でコピー
- Slaveの資金が 10万円 のとき … マスターの 1.0倍 でコピー
- Slaveの資金が 15万円 のとき … マスターの 1.5倍 でコピー
計算が複雑ですので、ロット計算をシミュレートできる「ロット計算シミュレータ.html」を同梱しています。なお、最終的なマスターのロットに対する倍率の計算結果は、チャート上の表示パネルで確認できます。
倍率や資金連動モードを選択した場合、算出されたロット数はご利用のブローカーの規定に合わせて自動的に補正されて発注されます。
- 最小ロットを下回った場合:ブローカーが定める「最小ロット」に引き上げられます。
- 端数が出た場合:ブローカーが定める「ロット刻み(ステップ)」に合わせて四捨五入されます。
- 最大ロットを超えた場合:ブローカーが定める「最大発注ロット」に引き下げられます。
(補正の具体例 ※最小ロット・ロット刻みが共に 0.01 の場合)計算結果が 0.001 → 0.01ロットで発注/計算結果が 0.125 → 0.13ロットで発注
6. 特殊機能
マスターが決済した時に、スレーブも連動して決済するかどうかを「する/しない」で選択します。決済のみ手動で行いたい場合や、7. SL/TP設定で独自の設定を適用したい場合は「しない」に設定します。
独自のSL/TPを適用した状態で「する」に設定した場合は、マスターの決済か、独自のSL/TPへの到達による決済か、どちらか早い方で決済されます。
ONに設定すると、マスターが「買い」の場合は「売り」でエントリーというように、逆方向にエントリーします。初期値はOFFです。
マスターまたはスレーブにポジションがある状態で、このパラメータを変更することは避けてください。他のパラメータの設定によっては、即時決済や意図しないコピーが行われる可能性があります。
7. SL/TP設定
モード選択:以下より選択します。
SLやTPを設定しません。この設定にする場合は、6. 特殊機能の「決済のコピー」をするに設定することを推奨します。「しない」に設定している場合はいつまでも決済されませんので、手動での決済もしくはSL/TP入力が必要となります。
マスターにSL/TPが設定されている場合、その値をコピーします。「決済のコピー」は する/しない どちらでも動作します。「する」にした場合は、マスターの決済かSL/TPへの到達か、どちらか早い方で決済されます。
「反転コピー」をONに設定している場合は、SL/TPも逆にコピーされ、マスターのSLがスレーブのTPに、マスターのTPがスレーブのSLとなります。
マスターのSL/TP設定有無にかかわらず、スレーブ側で指定した独自のSL/TPを設定します。「決済のコピー」は する/しない どちらでも動作します。
- 損切 (pips / 0=無効):損切pipsです。0で損切設定なしとなります。
- 利確 (pips / 0=無効):利確pipsです。0で利確設定なしとなります。
一定の利益が乗った段階で、損切りラインを引き上げるモードです。
初期の動き:エントリー直後は指定した損切と利確を設定します。
発動後:含み益が「発動条件となる利益(pips)」に到達すると、損切りラインを一気に「建値 + 確保利益(pips)」の位置へ引き上げます。
- 損切 (pips / 0=無効):エントリー直後に設定する初期損切値です(建値移動するまでの保険)。0で初期損切値なし(建値移動するまで無防備のため非推奨)。
- 利確 (pips / 0=無効):利確pipsです。0で利確設定なしとなります。
- 発動条件となる利益 (pips):含み益がこのpipsに達した瞬間、損切位置を建値方向に移動します。値が小さいほど早く損失リスクが消えますが、その分「ちょっとの逆行ですぐ建値決済」になる可能性が上がります。
- 確保利益 (pips):建値移動後の損切位置を「エントリー価格 + ここで指定したpips」にセットします。0は完全に建値です。
買いポジション/エントリー100円/損切30pips・利確30pips・発動条件となる利益15pips・確保利益1pips の場合
100.00円エントリー → 損切 99.70(−30pips)、利確 100.30 を設定
100.15円到達 → 損切を 100.01円 に自動移動(建値+1pips確定)
一定の利益が乗った段階で損切りラインを引き上げ、利益方向へ進んだ場合に損切りラインも追従するモードです。
初期の動き:エントリー直後は指定した損切のみを設定します。
発動後:含み益が「発動条件となる利益(pips)」に到達すると、現在価格からトレール幅(pips)分だけ下の位置に損切りラインを引き上げます。その後は「トレール更新ステップ(pips)」分、価格が更新されるごとに損切りラインが相場に追従して上昇し続けます。
- 損切 (pips / 0=無効):エントリー直後に設定する初期損切値です。0で初期損切値なし(非推奨)。
- 発動条件となる利益 (pips):含み益がこのpipsに達した瞬間、トレール追従を開始します。値を小さくすると早く追従を開始しますが、序盤の逆行で早期決済されやすくなります。
- トレール幅 (pips):「現在価格から何pips後方にSLを置くか」の距離です。小さいほど利益を強く守りますが、些細な値動きで決済されやすくなります。大きいほど利益は伸ばせますが、反転時の戻し幅が大きくなります。
- トレール更新ステップ (pips):「価格がこのpips進むごとにSLを更新する」ステップです。大きくすると更新頻度が下がり、ブローカーへの注文負荷とサーバー拒否率が下がります。
トレール更新ステップを小さくしすぎると頻繁に modify 注文が走るため、ブローカーからの警告や、最悪の場合は口座凍結も考えられます。
買いポジション/エントリー100円/損切30pips・発動条件となる利益15pips・トレール幅10pips・トレール更新ステップ2pips の場合
100.00円エントリー → 初期SL 99.70(−30pips)
100.15円到達 → トレール発動、SLを 100.05 に移動(現在価格−10pips)
100.17円到達 → SLを 100.07 に更新(2pips進んだので更新)
100.16円に下落 → SLは 100.07 のまま(後退しない)
100.07円到達 → 決済(+7pips 利益確定)
ブローカーの最低距離規制:現在価格に近すぎるSL/TP(一般に2〜10pips以内)はブローカーが拒否する場合があるため、ブローカー規定の最低SL/TPよりも大きな値を設定してください。拒否が10回連続するとログにアラート通知が出ますが、リトライは継続します。
virtualClose 機能:SL/TP設定試行時、すでに価格が指定ラインを越えていた場合は即時成行決済します(無防備ポジションの放置を防ぐ安全機構)。
ポジション保有中のモード変更は非推奨です。以下のように挙動が複雑になります。
- エントリー時に1回だけ設定する系(固定の初期SL/TP、ブレークイーブンとトレールの初期SL):既存ポジションには反映されません。
- 価格に応じて継続的に動く系(ブレークイーブン発動、トレール追従、マスターのSL/TP同期):新モードに従って動作します。
- 「設定しない」「マスターのSL/TPをコピー」「固定SL/TP」からブレークイーブンまたはトレールへ切替えた場合:EA内部で記録している最高利益記録は現在値から再度カウントが開始されるため、過去の最高益分のトレールは引き継がれません。
- 「マスターのSL/TPをコピー」から他のモードへ切替えた場合:その時点以降、マスター側のSL/TPの“変更”はスレーブに反映されなくなり、スレーブのSL/TPはマスターから独立した動作になります。
8. 利益/損失による停止
「固定金額で指定/資金に対する%で指定」から選択します。
1日の合計利益(確定損益+含み損益)がこの金額を超えた場合、強制的に全決済を行い、その日の稼働を停止します。
- 固定金額で指定:
10000を入力すると、利益が1万円(円口座の場合)に到達すると停止します。 - 資金に対する%で指定:
50を入力すると、利益が1日の始まり資金(残高+クレジット)の50%に到達すると停止します。
1日の合計損失(確定損益+含み損益)がこの金額を超えた場合、強制的に全決済を行い、その日の稼働を停止します。指定方法は目標利益と同じです。
停止が発動した場合でも、翌日になったら自動で損益をリセットして再稼働します。再稼働時にマスターがポジションを保有していた場合、コピーフィルターの条件によっては(有効期限を長時間に設定している場合や、有利な価格でのみエントリーするを有効にしていてその条件を満たしている場合)、日付変更と同時に即座にコピーします。
損益の合計は、スレーブEAがコピーしたポジションのみを計算対象とします。基本設定の「マジックナンバー(スレーブ用)」で指定したマジックナンバーを持つポジションが計算対象です。裁量や他のEAの損益は無視されます。
1日の損益を「0」にリセットし、停止が発動していた場合は稼働を再開する時刻を指定します。この時刻の基準は、タイムフィルターの「基準とする時刻」の設定(MT4/5サーバー時刻 or Windows時刻)と同じです。0〜23の整数、もしくはコロン付きの分指定で入力してください。
| 入力値 | 意味 | 備考 |
|---|---|---|
8 | 8:00にリセット | 数字単体 |
8:30 | 8:30にリセット | コロン付きで分まで指定 |
8:45:00 | 入力エラー | 秒を入力するとエラー |
なお、損益の現在値、目標利益、許容損失、次回損益リセットの時刻はパネル表示で確認できます。
MT4下部の「ターミナル」ウィンドウの「口座履歴」タブを開き、タブ内で右クリック →「先月」または「直近3ヶ月」を選択してください(または「期間のカスタム設定」で直近1ヶ月程度の範囲を指定)。これだけで日次損益の計算対象が必要な範囲に絞られ、動作が軽く保たれます。
なお、「期間のカスタム設定」で終了日を当日より前にしないでください(当日の取引が計算対象から外れます)。「先月」「直近3ヶ月」を選べば常に当日が含まれるため安全です。MT5は自動的に直近数日のみを参照する設計のため、この設定は不要です。
9. タイムフィルター(曜日別)
「MT4/MT5サーバー時刻/Windows時刻」から選択します。PCやVPSのWindows時刻を日本時間に設定することで、日本時間を基準とすることができます。
各曜日の稼働時間を設定します。カンマで区切って複数の時間帯を入力可能です。
制限されるのは新規エントリーのみです。決済は時間外でもコピーされます。
| 入力値 | 稼働時間 | 備考 |
|---|---|---|
ALL | フル稼働(時間制限なし) | all や * でも可 |
| (空欄) | 稼働停止 | 文字を消して空欄にすると、その曜日は1日中コピーを停止 |
8 | 8:00:00 〜 8:59:59 | 数字単体入力 |
5-13 | 5:00:00 〜 13:00:00 | ハイフンによる範囲指定(前後にスペース不要) |
5:10-13:30 | 5:10:00 〜 13:30:00 | コロンを使用し分まで指定した範囲指定 |
5:10:30-13:30:30 | 5:10:30 〜 13:30:30 | 秒まで指定した範囲指定 |
5-13:30:00 | 5:00:00 〜 13:30:00 | 組み合わせ入力 |
3,4,5,7-12,13:30-18 | 3:00:00 〜 5:59:59 7:00:00 〜 12:00:00 13:30:00 〜 18:00:00 | カンマ区切りで複数入力(最大10個) |
時間が逆行する設定はNG(日またぎ不可)
❌ 21-8(21時から翌朝8時)のように時間が逆行する入力はエラーでEAが停止します。
⭕ 日またぎしたい場合は、2つの曜日に分けて 21-24 と 0-8 のように設定してください。
コロンを含む数字の「単体入力」はNG
❌ 5:00 や 9:30 のように、ハイフンを使わずにコロン付きの時間を単体で入力するとエラーになります。
⭕ 5(数字単体、5:00〜5:59)または 5:00-6:00(範囲指定)としてください。
10. 時間外の特殊制御
タイムフィルター(稼働時間)の範囲外になった際の、特殊な注文ルールを設定します。ナンピン(買い下がり・売り上がり)を行うマスターEAをコピーする場合に非常に重要な設定です。
- しない:一切の新規エントリーをコピーしません。
- する:すでにポジションを持っている通貨ペアに限り、時間外でも新規エントリーをコピーします。時間外にナンピンの追撃が継続された場合を想定しています。
ナンピンかどうかの判定は、同一通貨ペアかどうかのみで判定しています。よって、マスターがナンピンとは別で同一通貨ペアのエントリーを行った場合、そのポジションもコピーします。逆に、ナンピンとは別に同一通貨ペアを保持していた場合、新規ナンピンのコピーも行います。
11. 通貨ペア変換設定
自動変換ロジックによる推測変換を行う場合、「する」に設定します。もし誤った通貨に変換される場合は「しない」に変更します。
自動通貨ペア変換で対応できない特殊な銘柄名を強制的に紐づけたい場合に「する」に設定し、変換ルール1〜5に記載します。自動変換を「する」に設定し、手動変換ルールの適用も「する」に設定している場合は、変換ルール1〜5が優先して適用されます。
Master側銘柄,Slave側銘柄 の形式で入力します(例:NIKKEI225,JP225)。
※ 一般的な銘柄や接尾辞(.pro、#、.s、-cd など)はEAが自動で判別するため、基本的には設定不要です。
変換ができない場合は、画面下のエキスパートタブに「通貨ペアが見つかりません」というメッセージが表示されますので、強制変換ルールを設定してください。
自動変換ロジックの説明
以下の場合は強制変換設定は不要です。自動変換機能で変換が可能です。1行に記載している全ての通貨名が相互に自動変換されます。
| FX(例) | 相互変換される表記 |
|---|---|
USDJPY | USDJPY# / USDJPYmicro / USDJPYz / USDJPY.raw / USDJPY.s / USDJPYm / USDJPYp / USDJPY-cd / USD/JPY |
変換ロジック:接尾語と区切り文字「/」を切り捨て、その先頭6文字を比較します。文字が一致し、かつ取引可能となっている通貨が相互変換されます。ただし、接尾語と区切り文字の切り捨て後の文字数が5文字以下となった場合は自動変換は適用されません(OIL → OIL-Cash などの誤変換防止のため)。
| CFD(例) | 相互変換される表記 |
|---|---|
XAUUSD | GOLD / GOLD# / GOLDmicro / GOLDm / XAUUSDz / XAUUSD.raw / XAUUSD.s / XAUUSDm / XAUUSDp / XAUUSD-cd |
XAGUSD | SILVER / SILVER# / SILVERmicro / SILVERm / XAGUSDz / XAGUSD.raw / XAGUSD.x / XAGUSDm / XAGUSDp / XAGUSD-cd |
変換ロジック:FXの変換ロジックに加え、GOLD で始まる通貨と XAUUSD で始まる通貨を相互変換、SILVER で始まる通貨と XAGUSD で始まる通貨を相互変換します。
12. パネル表示設定
チャート左上の情報パネルを「自動非表示/常に表示/常に非表示」から選択します。推奨は自動非表示です。非表示になることでCPU負荷が低下します。
自動非表示を選択した場合に、非表示になるまでの秒数です。非表示になった後は、チャート左上の【+】パネル表示をクリックすると再度表示されます。


なお、稼働状況のエラー発生時、パラメータ入力エラー時、目標利益/許容損失に到達した場合の稼働停止時には、強制的にパネルが表示されます。
13. ログ出力設定
エキスパートタブに表示されるログの種類を設定できます。初期値の「通常の情報+警告+エラー」のままで結構です。
7. メッセージ一覧
⚠ ポップアップアラート(警告画面)の発生条件と対処法
EAの適用時や設定変更の際にアラートが表示された場合、システムはリスク回避のため動作を強制停止(待機状態)しています。以下の項目を確認し、適宜パラメータを修正してください(※「5. 稼働中の警告」のみ例外的に動作を継続します)。
1. 🔑 認証エラー(Slave EA専用)
- 表示例:「認証エラー:パスワードが正しくありません」等
- 原因:パスワードの誤入力、または口座番号とパスワードの不一致です。パスワードは指定口座ごとに発行されるため、他口座のものは利用できません。
- 対策:発行されたパスワードが正確に入力されているか再確認してください。デモ口座の場合は空欄で問題ありません。
2. 🚫 二重起動エラー(Master / Slave 共通)
- 表示例:「同じ口座番号のMaster EAが既に別のチャートで起動しています!」等
- 原因:単一のターミナル内で、EAを複数のチャートに同時に適用しています。意図しない多重発注や通信の混信を防ぐための保護機能です。
- 対策:EAを稼働させるチャートは各ターミナルにつき1枚のみに絞り、不要なチャートからEAを削除してください(※Slaveで複数起動する場合はマジックナンバーを重複させないでください)。
3. 🔄 無限ループ防止エラー(Slave EA専用)
- 表示例:「設定エラー:マスター口座に自分自身の口座番号が指定されています」
- 原因:Slave側の設定に、そのターミナル自身の口座番号が入力されています。自分の注文を自分でコピーし続けるループ状態を回避するための安全策です。
- 対策:「マスター口座番号」欄には、必ず送信元(Master側)の口座番号を正確に入力してください。
4. ⚙ パラメータ設定の不備(Slave EA専用)
誤動作の原因となる設定が入力されると、アラートで詳細を通知し、ステータスが「停止[〇〇エラー]」となります。
- 時間設定エラー:タイムフィルターの書式が不正です。半角の数字・コロン・ハイフン・カンマのみを使用し、範囲指定(例:
9:00-17:00)または数字単体で入力してください。 - 損益リセット設定エラー:全角文字の混入や書式ミスが考えられます。必ず半角で
8や09:30のように指定してください。 - 通貨ペア変換エラー(MT4):全角カンマの使用や区切りミスを確認してください。「Master銘柄,Slave銘柄」の形式で半角入力が必須です。
- 数値エラー:損失上限やロット数にマイナス値、または計算不能な異常値が設定されています。
- 機能設定エラー:トレールや建値移動のpips指定、またはスリッページ等に無効な数値(負の値など)が入力されています。
5. 🔔 稼働中の警告アラート(Slave EA専用・動作継続)
運用中にトラブルが継続した場合に通知されます。EAはリトライを自動で行いますので、状況に応じた対処をお願いします。
- SL/TP連続失敗:証券会社側でSL/TPの変更が10回連続で拒否されています。ストップレベル規制や相場の急変を確認してください。
- 日次上限後の決済失敗:目標利益や損失上限に達した後の全決済が拒否されています。解消しない場合は手動での決済を推奨します。
- 注文フィルポリシー誤り(MT5):指定の執行方式がブローカーに拒否され、新規コピーが停止しています。設定を自動判定等に変更し、EAを再起動してください。
🟢 Master(送信側)EAのログ一覧
マスターEAが出力する主なログは以下の通りです。先頭に [Master] と表示されます。
マスターEAが正常に起動し、通信の準備が完了しました。
PCの強制終了などで前回の終了処理が正しく行われなかった場合に、システムが自動復旧したことを示します。
MT4特有の分割決済を追跡するため、前回の稼働データを正常に読み込みました。
マスター側のMT4/MT5の処理が一時的に止まっていたことを示す事後記録です。同じMT4/MT5に同居している他の重いEA・インジケーターや、VPS(PC)の高負荷が主な原因です。頻発する場合は、マスターのMT4/MT5には他のEAを同居させず、VPSの性能・稼働状況を確認してください。
同じMT4/MT5の中で、マスターEAを2つのチャートに同時に入れた場合に発生します。誤作動を防ぐため、EAは自動停止します。
PC(VPS)のメモリ不足やOSのエラーにより、送信用の通信網(共有メモリ)が作成できませんでした。パネルの稼働状況にも「通信エラー」と表示されます。MT4/MT5を再起動し、改善しない場合はWindows(VPS)自体を再起動してください。
🔵 Slave(受信側)EAのログ一覧
スレーブEAが出力する主なログは以下の通りです。先頭に [Slave] と表示されます。
【INFO】正常な起動・注文・決済の報告
マスター側EAの通信を正常に検知し、コピー待機状態に入りました。
EAの再起動時に、前回稼働時のコピー対応表(マスターとスレーブのチケット紐付け情報)を正常に読み込みました。
デモ口座での稼働のため、パスワード認証を省略しました。
マスターのエントリーを検知し、スレーブ口座での注文が正常に完了しました。
マスターの決済を検知し、スレーブ口座での決済が正常に完了しました。
マスターが行った部分決済(分割決済)に正常に追従しました。
マスターの損切り(SL)や利食い(TP)の変更を検知し、スレーブ側も値を同期しました。
損切り・利確ラインが正常に設定されました。
ブレークイーブンまたはトレール機能により、ストップロスが正常に引き上げられました。
一時的に失敗していたSL/TP操作が、自動リトライにより成功しました。
マスターのSL/TPをコピーする際、現在価格がすでに指定範囲を超えていたため、安全のため成行で決済しました。
設定したSL/TP相当の価格を現在価格が超過したため、成行で決済を完了しました。
設定された「1日の目標利益」に到達したため、全ポジションを決済して本日の稼働を終了しました。
マスター口座がノーポジションになったため、紐付けが失われて取り残されていたポジションを自動決済しました。
【WARN】コピー見送りなどの警告
「タイムフィルター(曜日別稼働時間)」で設定した時間外にマスターがエントリーしたため、発注を見送りました。
「有利な価格でのみエントリーする」機能が有効なため、指定した有利な価格まで現在値が到達するのを待機しています。
マスターのエントリー価格から「許容スリップ」以上に不利な方向へ価格がズレていたため、発注を見送りました。
マスターの注文を「注文有効期限(秒)」を過ぎて受信したため、発注を見送りました。頻発する場合はコピーの遅延が根本原因のことが多いため、「送信停止」「途絶」系のログもあわせて確認してください。
マスターのロット数が、フィルター設定で指定した上限(または下限)に引っかかったため、発注を見送りました。
「コピー対象」フィルター(通貨ペア指定またはマジックナンバー指定)に合致しないマスターの注文のため、発注を見送りました。設定通りであれば異常ではありません。
マスターの通貨ペアに対応する銘柄が、スレーブ側の証券会社で見つかりませんでした。「通貨ペア変換」の設定を確認してください。
スレーブ側の証券会社が休み(取引時間外)のため、注文が弾かれました。
マスターからのデータ更新が3秒以上止まったため、安全のためコピーを一時停止しました(パネルは「マスター応答なし」になります)。マスターEAの停止、マスター側MT4/MT5の終了・フリーズ・高負荷が考えられます。
EA起動時に、紐付け情報(データベース)に載っていない自分のポジションを検知しました。該当ポジションはマスターの決済に追従しませんので、ご自身で決済いただくか、マスターがノーポジションになった時の自動決済(「決済のコピー:する」設定時)をお待ちください。
マスターの通信網がまだ見つからず、接続を待っている状態です(このログのみ先頭が [SharedMemory] と表示されます)。マスターEAが起動しているか、「マスター口座番号」が正しいかを確認してください。
【ERROR】証拠金不足や致命的なエラー
スレーブ側の口座資金(証拠金)が足りず、注文が行えませんでした。ロット倍率を下げるか、資金を追加してください。
証券会社側から何らかの理由で注文が拒否されました。エラー番号を添えて販売者にお問い合わせください。
注文方式(フィルポリシー)の設定が証券会社に拒否されました。設定を確認のうえ、EAをチャートに入れ直してください。
MT4/MT5上部の「自動売買ボタン」がオフになっているか、EA設定の「自動売買を許可する」のチェックが外れています。
コピーの紐付け情報をファイルに保存できませんでした。VPSのディスク残量と書き込み権限をご確認ください。
【DEBUG】通常は気にしなくて良い内部処理
DEBUGログは、パラメータ「ログ出力レベル」を「すべて出力(開発・テスト用)」に変更した場合のみ表示されます。
損益リセット時刻をまたいだため、日次の利益・損失の計算をゼロにリセットしました。
マスター側で極めて小さなロットの分割決済が行われましたが、スレーブ側の証券会社が許可する最小ロット(例: 0.01)を下回ったため、決済を保留しました。
📊 パネルの「稼働状況」一覧と対策
チャート画面に表示される情報パネルの「稼働状況」には、現在のEAのリアルタイムな状態が表示されます。「正常稼働中」以外になっている場合は、以下のリストを参考に状態を確認してください。
※ 文字色でも状態が分かります。正常・待機系=白、「日次目標利益に到達」=水色、それ以外の停止・エラー系=赤で表示されます。
🟢 Master(送信側)EAのステータス
| 表示 | 状態・原因と対策 |
|---|---|
| 正常稼働中 | 送信準備が完全に整い、いつでもスレーブにデータを送れる状態です。 |
| 通信エラー | 原因:PC(VPS)のメモリ不足やOSのシステムエラーにより、送信用の通信網(共有メモリ)が作成できませんでした。 対策:MT4/MT5を再起動するか、改善しない場合はVPS(Windows)自体を再起動してメモリをクリアしてください。 |
🔵 Slave(受信側)EAのステータス
1. 正常・待機状態(問題ありません)
| 表示 | 状態 |
|---|---|
| 正常稼働中 | マスターからのシグナルを受信し、いつでも発注できる待機状態です。 |
| 稼働時間外 (待機中) | タイムフィルターで設定した時間外のため、新規エントリーを停止して待機しています。設定した時間になれば自動で「正常稼働中」に切り替わります(※「保有通貨ペアの追加エントリー許可」を有効にしている場合は、保有中の通貨ペアへの追加エントリーと決済のコピーは時間外でも継続されます)。 |
| データ受信待ち… | マスターの通信網には接続できましたが、まだ初回のデータが送られてきていない状態です。通常、起動直後に一瞬だけ表示され、すぐに正常稼働に切り替わります。 |
2. 目標到達による停止(設定通りの正常な動作です)
| 表示 | 状態 |
|---|---|
| 日次目標利益に到達 (本日は停止) | 本日の合計損益が設定した「目標利益」に到達したため、全決済を行い本日の稼働を終了した状態です(文字は水色)。指定した損益リセット時刻になると自動で再稼働します。 |
| 日次損失上限に到達 (本日は停止) | 本日の合計損益が設定した「許容損失」に到達したため、これ以上の損失を防ぐために全決済を行い、本日の稼働を終了した状態です。指定した損益リセット時刻になると自動で再稼働します。 |
3. エラーによる停止(ユーザー側の確認が必要です)
| 表示 | 原因と対策 |
|---|---|
| 未接続 (マスター待機中) | 原因:指定された「マスター口座番号」の通信網が見つかりません。 対策:マスター側のEAが正常に起動しているか、Slave側に入力した「マスター口座番号」が間違っていないか確認してください。 |
| マスター応答なし | 原因:一度は通信できていましたが、マスターからのデータ更新が3秒以上止まった状態です。 対策:一時的な負荷であれば復帰すると自動でコピーを再開します。復帰しない場合は、マスターEAの再セットや、マスター側MT4/MT5の再起動を行ってください。 |
| 自動売買が許可されていません | 対策:MT4/MT5上部の「自動売買ボタン」をON(緑色または再生マーク)にしてください。また、チャートで右クリック →「エキスパートアドバイザ」→「プロパティ」を開き、「自動売買を許可する」のチェックが入っているか確認してください。 |
| 停止 [各種エラー] | 時間設定/口座番号/パラメータ/ロット設定/トレール設定/建値移動設定/スリッページ/書式 の各エラー。パラメータの入力内容に誤りがあり、安全のため強制停止しています。表示されるエラー名でどの設定に誤りがあるかが分かります。 |
| 注文ポリシー設定エラー(MT5のみ) | 原因:「注文執行方式(フィルポリシー)」がブローカーに拒否され、注文が弾かれています。 対策:「注文執行方式」を自動判定(推奨)または別の方式に変更し、EAをチャートに入れ直してください。 |
※ デモ口座で稼働している場合は、パネル下部に「(デモ口座にて稼働中)」と表示されます(デモ口座では認証パスワードは不要です)。
8. よくある質問とトラブルシューティング(FAQ)
エキスパートタブに「自動売買が許可されていないため停止します」と出ます。
MT4/MT5の上部にある「アルゴリズム取引(自動売買)」ボタンがON(緑色)になっているか確認してください。また、チャートにEAを入れる際のプロパティ画面で「アルゴリズム取引を許可」にチェックが入っているか確認してください。
特定の通貨ペアだけコピーされません。
MasterとSlaveのブローカー間で銘柄の仕様が大きく異なる可能性があります。パラメータの「通貨ペア変換設定」の手動変換ルールを使用して、手動で銘柄名を紐づけてください。
VPSの動作が重いです。軽くする方法はありますか?
- MT4/5のウィンドウを最小化してください。最小化は負荷軽減に大きく貢献します。
- 一般的な軽量化を試してください。ツール →オプションのニュースをオフ、チャートのバー数を減らす(Master・SlaveのEAは100あれば大丈夫です)、音声をオフ などです。
- Master側・Slave側の両方でパラメータの「パネル表示モード」を「常に非表示」に変更してください。改善できる可能性があります。
MT4をMaster、MT5をSlaveにする場合の設定は?
MasterをセットしたMT4とSlaveをセットしたMT5を起動し、Slaveのパラメータ設定の「マスター口座番号」をMasterをセットしたMT4のものにしてください。逆(MT5をマスター、MT4をスレーブ)の場合も同様です。
どんなブローカーで使用できますか?
動作確認済みのブローカーは以下です。ただし全ての機能は確認していません。
XMTrading、Exness、XS.com、Three Trader、HFM、FXTF
コピーのポジション数の上限は?
プログラムに上限は設定していませんが、ブローカーの最大ポジション数の200〜500程度であれば、よほど低スペックのPC(VPS)でない限りは大丈夫なはずです(ポジションが増えるとプログラムの仕様上、PC負荷が上昇します)。起動数などにもよりますので、実際に稼働してみてPC(VPS)の負荷状態を確認する必要があります。
コピーにかかる時間(タイムラグ)を短くする方法は?
ご利用のブローカーのサーバー(欧州やNYなど)と物理的に近い場所にあるVPSを利用することです。
コピートレードの遅延は、PC内部の通信時間よりも「VPS ↔ ブローカーのサーバー間」の物理的なネットワーク遅延(Ping値)が何重にも積み重なることが最大の原因となります。
【遅延が発生する仕組み(日本のVPSから欧州のブローカーに接続した場合)】
- マスターの発注と確認(往復+処理時間):マスター口座が発注信号を出すと、欧州のサーバーに到達するまでに約125ms(片道)かかります。さらにサーバー側で約定処理(MT4で50〜100ms、MT5で10〜50ms)が行われ、「約定完了」の信号が日本のVPSに返ってくるまでに再び約125msかかります。この時点で、すでに合計260〜350msの遅延が発生しています。
- EA間のデータ同期(数十ms):マスターの約定を確認した後、PC内部でMaster EAからSlave EAへ注文データが転送されます。
- スレーブの発注(片道):データを受け取ったSlave EAが発注信号を出し、欧州のサーバーに到達するまでにさらに約125msの遅延が発生します。
ブローカーのサーバーと同じ地域(国)のVPSを契約すれば、この片道125msを「数ms〜十数ms」にまで劇的に短縮でき、コピーの精度と約定スピードが飛躍的に向上します。
マスターがエントリーしたのに、スレーブでコピーされない(見送られる)注文があります。
スレーブ側のMT4/MT5の「エキスパート」タブのログをご確認ください。当EAには強力な安全装置が備わっており、以下のいずれかの理由でコピーを自動的に見送った可能性が高いです。
- 価格乖離(スリッページ):ニュース時などで価格が急変し、「不利な価格でのエントリー回避」の許容pipsを超えていた。
- 証拠金不足:スレーブ口座の証拠金が足りず、ブローカーに発注を拒否された。
- 時間切れ:マスターの発注から、設定した「有効期限」の秒数以上が経過してしまった。
スレーブ側で、コピーされたポジションを「手動」で決済しても問題ありませんか?
問題ありません。スレーブ側で手動決済(または別の決済EAによるクローズ)を行った場合、Slave EAは「この注文はすでに処理(決済)された」と正しく認識します。マスターがまだそのポジションを持ち続けていたとしても、勝手に再発注(二重エントリー)されることはありません。
スレーブ口座で、自分自身で裁量トレードをしたり、別のEAを同時に動かしても大丈夫ですか?
はい、可能です。Slave EAは「マジックナンバー」という独自の識別番号で自分がコピーしたポジションだけを厳密に管理しています。そのため、手動でエントリーしたポジションや、他のEAが持ったポジションを勝手に決済してしまう等の干渉は一切起こりません。
週末にVPSを再起動したいのですが、MT4/MT5を再起動するとコピーの紐付けはどうなりますか?
再起動しても全く問題ありません。当EAは、マスターとスレーブの注文の紐付け情報(記憶)をPC内部のデータベースファイル(.dat)に常時保存しています。そのため、MT4/MT5が不意にクラッシュしたりVPSを再起動したりしても、起動時に記憶を読み込み、正常に決済等のコピーを引き継ぎます。
ゴールドや株価指数をコピーした際、ロットが異常に大きくなる(または小さくなる)のですが?
ブローカー間で「1ロットあたりの契約サイズ(取引単位)」が異なっている可能性が高いです。例えば為替はどのブローカーも「1ロット=10万通貨」で共通していますが、ゴールドの場合、A社は「1ロット=100オンス」、B社は「1ロット=10オンス」などとブローカーによって規定がバラバラです。契約サイズが異なるブローカー間でコピーを行う場合は、「ロット倍率」を手動で調整(例:0.1倍や10倍など)していただく必要があります。
「1日の許容損失」に達してストップした後、いつ再稼働しますか?
パラメータの「損益リセット時刻」で設定した時刻に、自動的にストップ状態が解除され、新規のコピーが再開されます。手動でEAを再起動する必要はありません。
マスター側で設定されているSLやTPが、スレーブ側に反映されていません。
パラメータの「SL/TP設定」の「モード選択」が「マスターのSL/TPをコピー」になっているかご確認ください。
なお、当EAは「スレーブ側で注文が約定した後」にマスターのSL/TPを読み取り、後から追いかけて注文を変更(モディファイ)する仕様となっています。そのため、発注の直後ではなく、少し遅れて反映される場合があります。
エントリーが遅れてコピーされたり、いつまでもコピーされないままの注文があります。
パラメータの「有利な価格でのみエントリーする」を設定している場合、マスターのエントリー価格よりも現在のスレーブ側の価格が「指定pips以上有利」にならない限り、EAは発注を待機(監視)し続けます。相場が有利な方向へ戻ってこなかった場合は、一生コピーされず見送られる仕様となります。
EAを入れた直後、「同じマジックナンバーのSlave EAが既に起動しています」という警告が出てEAが外れてしまいます。
当EAには、二重起動による危険な多重発注(スパム)を防ぐための「保護ロック機能」が搭載されています。MT4/MT5が強制終了した直後や、EAを急いでセットし直した場合などに古いロックが残っていることがあります。その場合は、安全のため約1分間待ってから再度チャートにEAを適用していただくと、古いロックが解除されて正常に稼働します。
証拠金不足やフィルポリシーエラーで見送られた注文を、入金や設定変更のあとに「もう一度コピー」させる方法はありますか?
パラメータ設定画面を開き、「マジックナンバー(スレーブ用)」を別の数字に変更してください(例:12345 → 12346 など)。
当EAには、ブローカーのサーバーに負荷をかける「エラーの無限ループ発注(スパム)」を完全に防ぐための安全装置(ブラックリスト機能)が搭載されています。そのため、一度エラーで見送られたマスターの注文は、後から資金を入金したり設定を直したりしても自動的には再発注されません。
マジックナンバーを別の数字に変更して「OK」を押すことで、EAの内部データベース(失敗の記憶)がリセットされます。これにより、現在マスターが保有しているポジションを「新しいコピー対象」として再認識し、修正後の正しい設定でただちに再コピーを行います。
⚠ 実行時のご注意:記憶がリセットされるため、「過去にスレーブ側でわざと手動決済して、マスター側ではまだ保有し続けているポジション」がある場合、それらも新規注文とみなされて再度コピーされてしまう点にご注意ください。
読み取り専用(インベスターパスワード)でログインした口座をMasterにできますか?
はい、可能です。当システムの「Master EA」の役割は、口座のポジション情報や履歴データを読み取ってSlave側に送信することのみであり、Master口座側で発注や決済を行う権限は一切必要ありません。
そのため、ご友人やシグナル配信者から共有された「閲覧専用パスワード」でログインしたMT4/MT5であっても、チャートにMaster EAをセットさえできれば、ご自身のSlave口座へ問題なく全てのトレードをコピーさせることができます。
⚠ 稼働時のご注意
- データを送信するため、Master側のMT4/MT5でも「自動売買を許可(アルゴリズム取引を許可)」にしてEAを稼働状態にしておく必要があります(※発注権限がないため実際にMaster側で取引されることはありません)。
- コピーを受け取るSlave側の口座は、実際に発注を行うため、必ず通常の「取引用パスワード(マスターパスワード)」でログインしてください。
多対1や1対多のコピーは可能ですか?
はい、どちらも可能です。運用方法に合わせて以下のように設定してください。
【複数のMasterを、1つのSlaveにまとめる場合(多対1)】
1つのSlave口座(MT4/MT5)の中で複数のチャートを開き、それぞれのチャートにSlave EAをセットします。各EAのパラメータ「マスター口座番号」に、読み取りたいMasterの口座番号をそれぞれ指定してください。
⚠ 重要:注文の管理(データベース)が混線するのを防ぐため、各Slave EAの「マジックナンバー(スレーブ用)」は必ずすべて別の番号に設定してください。
【1つのMasterを、複数のSlaveに同時配信する場合(1対多)】
PC(またはVPS)内で複数のSlave口座(MT4/MT5)を同時に起動し、それぞれのチャートにSlave EAをセットします。各EAのパラメータ「マスター口座番号」には、すべて同じMasterの口座番号を入力してください(※別の口座・別のMT4/MT5アプリであれば、マジックナンバーは同じままで問題ありません)。
EAをセットするチャート(通貨ペアや時間足)に指定やおすすめはありますか?
時間足の指定は一切ありません。通貨ペアについては、MasterとSlaveで推奨事項が異なります。
【Master側(送信元)のおすすめ:メジャー通貨ペア】
コピーの「有効期限(秒)」の機能を正確に作動させるため、「値動きが激しい(ティック更新が頻繁な)メジャー銘柄」のチャートにセットすることを強く推奨します(おすすめ例:EURUSD、USDJPY など)。制限時間のカウント基準となるサーバー時間は、チャートに新しい価格(ティック)が配信された瞬間にしか更新されないため、値動きが少ないマイナー銘柄にセットするとカウントに数秒のズレが生じる可能性があります。コピー速度や精度に影響はありません。
【Slave側(受信先)のおすすめ:何でもOK】
どの銘柄のチャートにセットしても、コピー速度や精度には全く影響しません。Slave側はPCの内部タイマー(ミリ秒単位)で独立して超高速処理を行っており、制限時間のカウント自体もMaster側で行われたデータを受け取る仕様のため、値動きの少ないチャートにセットしていても全く問題ありません。
⚠ 稼働時の重要なご注意(共通)
どのチャートにセットしても、別銘柄のトレードはすべて正常にコピーされます。ただし1つの口座につき、セットするチャートは必ず「1つのみ」にしてください。複数のチャートに同じEAをセットすると、正常に動作しなくなる原因となります。
VPSやPCの環境を変更(別のVPSやPCへ移行)する場合の注意点はありますか?
はい、非常に重要な注意点があります。安全のため、必ず「Master口座がポジションを一つも持っていないタイミング(週末など)」で移行作業を行ってください。
当システムは、旧VPSのMT4/MT5のデータフォルダ内に「どの注文をコピーしたか(またはエラーで見送ったか)」という記憶をファイル(.dat)として保存しています。新しいVPSやPCにMT4/MT5をインストールしてEAを稼働させると、この「過去の記憶」が真っ新な状態からスタートします。
そのため、Masterがポジションを持ったまま新VPSで稼働を開始すると、Slave EAは既存のポジションを「まだコピーしていない新しい注文だ」と認識し、再度発注(二重コピー)してしまいます。
【VPS移行時の必須手順】
- 必ずノーポジション時に行う:Master側がポジションを一切保有していないことを確認してから、旧VPSのMT4/MT5を停止してください。
- 同じVPS内で稼働させる:本EAはWindowsの内部通信を使用しているため、「Masterは旧VPS、Slaveは新VPS」といった遠隔通信はできません。必ず新しいVPSの中にMaster用とSlave用の両方のMT4/MT5を設置し直してください。
- 設定の再確認:新しいVPSでも、必ずMT4/MT5の「DLLの使用を許可する」と「自動売買の許可」の設定を忘れずに行ってください。
【※上級者向け:どうしてもポジション保有中に移行したい場合】
旧VPSのMT4/MT5のデータフォルダ(MQL4/Files または MQL5/Files)内に保存されている SlaveMapping_(マスター口座番号)_(スレーブ口座番号)_(マジックナンバー).dat というデータベースファイルをコピーし、新しいVPSの全く同じフォルダ階層に配置してからEAを稼働させることで、コピーの記憶を引き継ぐことが可能です。
気配値(通貨ペアリスト)を「すべて表示」にしない場合、どうなりますか?
基本的にはEAが自動でリストに追加して取引を行いますが、自動追加に失敗した場合はコピーが見送られます。あらかじめ取引する銘柄が決まっている場合は、必要な銘柄だけを表示させておくのが最もおすすめです。
当EAのプログラム内部には、マスターが取引した銘柄が気配値リストにない場合、強制的にリストへ呼び出して表示させる機能が組み込まれています。しかし、ブローカーの特殊な仕様や口座タイプによる接尾辞の違い(例:USDJPY と USDJPYmicro が混在している等)が原因でこの自動呼び出し機能が弾かれてしまうと、価格が取得できず「コピー見送り:通貨ペアが見つかりません」というエラーになってしまいます。コピー漏れを防ぐための初期確認として、最初は「すべて表示」にして正常に動くか確認することをおすすめしています。
💡 実運用向け:PCリソースを節約するテクニック
マスターが取引する通貨ペアが事前に分かっている場合は、「取引する銘柄だけを気配値に残し、不要な銘柄はすべて非表示にする」運用が最も理想的です。MT4/MT5は気配値に表示されている全銘柄のデータ通信を常に行っているため、表示数を最小限に絞ることで、PC(VPS)のCPUやメモリの負荷を劇的に節約し、コピートレードの動作をさらに軽く・安定させることができます。
EAのファイル名を、管理しやすいように自分の好きな名前に変更しても正常に動きますか?
はい、ファイル名を変更しても正常に動作します。コピー処理や通信に悪影響はありません。ご自身の環境に合わせて「Master_口座A用.ex4」や「MyCopy_Slave.ex5」のようにリネームしていただいて問題ありません。変更した名前は、そのままMT4/MT5の「ナビゲーター」画面やチャートの左上に表示されます。
⚠ ファイル名変更時のご注意
ファイル名の末尾にある拡張子(.ex4 や .ex5)は絶対に消したり変更したりしないでください。拡張子を変更するとMT4/MT5がEAとして認識できなくなります。
なお、サポートへお問い合わせいただく際、「〇〇という名前のEAが動きません」とご申告いただくと状況の把握が難しくなる場合があります。お問い合わせの際は「Master(またはSlave)側の設定について」とお伝えください。
分割決済(部分決済)はコピー可能ですか?
はい、マスター(送信)口座での分割決済は完全にコピー可能です。当システムは独自の追跡機能を搭載しており、複雑な分割決済にも高い精度で追従します。スレーブ側でロット倍率や資金連動を設定している場合でも、マスター側で「決済された割合(何%決済されたか)」をシステムが自動計算し、スレーブ側のポジションも正確な比率で分割決済されます。
⚠ 【重要】スレーブ口座側で「手動で」分割決済を行った場合の注意点
スレーブ口座側で、お客様ご自身の判断により手動で分割決済(ロットを減らす操作)を行っても、EAがエラーや暴走を起こすことはなく安全です。ただし、ご利用のプラットフォームによって、その後の追従仕様が異なります。
- MT5をご利用の場合:スレーブ口座で手動でロットを減らしても、マスター口座との連動はそのまま継続されます。減らした後のロット数を基準として、以降のマスターの決済(分割・全決済)にも引き続き追従します。
- MT4をご利用の場合:MT4のシステム仕様上、手動で分割決済を行うと「元の注文番号」が消滅して新しい番号に生まれ変わります。そのため、手動分割決済を行った時点で、そのポジションとマスター口座との連動は安全に解除されます。残ったポジションは「EAの管理から外れた独立したポジション」となります。EAが追加エントリーすることはありませんが、「決済のコピー」を「する」に設定している場合、マスター口座が全ポジションを決済してノーポジションになった際に、管理から外れたポジションもまとめて自動決済されます(取り残し防止の安全機能です)。この動作を望まない場合は、手動分割決済を行ったポジションはお早めにご自身で決済してください。
通信エラーが治らないのですが。
MT4/MT5がフリーズしてタスクマネージャーから強制終了させた場合など、システムが正常に終了されなかった場合、Windowsのメモリ上に一時的な通信のゴミが残ってしまい、再起動後に「通信エラー」となる場合があります。その際は、MT4/MT5の再起動ではなく「VPS(Windows)自体を再起動」することでメモリを完全にクリアしてください。
パラメータを変更したら「未接続」となります。
本EAがポジションを保有している状態でパラメータ設定を変更すると、MT5の非同期処理の仕様により、EAが一時的に「未接続」のまま通信待機状態(フリーズ)になる場合があります。
💡 対処法:すぐに復旧させるには
MT5画面上部にある「アルゴリズム取引(自動売買)」ボタンを一度クリックしてOFF(赤色)にし、もう一度クリックしてON(緑色)に戻してください。内部の通信システムが強制リフレッシュされ、数秒で「正常稼働中」に復帰し、安全にコピーが再開されます。
待機注文のコピーはできますか?
できません。以下の課題があり実装を見送っています。
- マスターとスレーブのレートやスプレッドの差で、スレーブのみ指値または逆指値が刺さりポジションを取得した場合、そのポジションをコントロールできなくなります。
- 2倍のポジションを持つ可能性があります。スレーブ側で指値や逆指値に到達して取得したポジションと、ほぼ同時にポジションを持ったマスターのポジションをコピーして、2倍のポジションを持つ可能性があります。
コピー速度が遅く感じます。
コピーが「遅れて約定する」「ときどき見送られる(ログに『コピー見送り:時間超過』と表示される)」場合、その多くはMT4/MT5の負荷増による処理遅延が原因です。これは主にマルチスレッドに対応していないMT4で発生します。
【対処法】マスターEAもしくはスレーブEAを別のMT4/MT5に分離する
マスター側もしくはスレーブ側で売買用EA(スキャルピング系など、頻繁に発注するEA)を動かしている場合、それと同じMT4/MT5でコピーEAを動かすと、注文集中時にコピーが遅れます。コピーEAだけを別のMT4/MT5で動かすことを強く推奨します。
▼ 手順
- これまでと同じPC内に、MT4またはMT5をもう1つ用意します(別途インストールしてください)。
- 2つ目のMT4/MT5を、マスターと同じ口座番号でログインします。
- 2つ目のMT4/MT5に、コピーEAだけをセットして稼働させます(チャート1枚で可、通貨ペアは任意)。設定はこれまでのままで構いません。
- 元のMT4/MT5からはコピーEAを外し、ご自身の売買用EAだけを残します。※必ず外してください。外さないと二重発注などの危険な動作となる可能性があります。
- 2つ目のMT4/MT5で「自動売買」をON、DLL等の通常の許可をご確認ください。これでコピーEA専用の軽いプラットフォームが完成します。
EA起動後の最初の数秒間コピーが動きません。
「1日の目標利益」または「1日の許容損失」を設定している場合、EA起動(またはMT4起動)から約5秒間は、口座履歴の読み込みを待つためコピーを開始しません。この間、パネルの目標利益・許容損失の金額は一時的に0と表示されますが異常ではありません。