概要
FC_Copy_v2 は、旧来の共有テキスト(OLF / TLF / CLF)ではなく、同一PC上の FC_CopyHub が注文イベントを中継するローカルコピーです(製品バージョン2)。
使える組み合わせ
MT4 → MT4送信MT4 / 受信MT4
MT4 → MT5送信MT4 / 受信MT5
MT5 → MT4送信MT5 / 受信MT4
MT5 → MT5送信MT5 / 受信MT5
同じ Channel と HubPort なら、どの組み合わせでもコピーできます。
- ファイルの読み書き衝突(ロック)による取りこぼしを回避
- 未完了のコピー指示は、受信が処理を終えるまで保持・再配信(推奨 5分)
FC_CopyHub.exe同梱のため Python インストール不要- サーバー型ソーシャルトレードとは別系統(ネット経由の共有ではない)
前提: 同一 Windows PC 上の複数ターミナル向けです。別PC間のコピーには向きません。
MT5 受信側は ヘッジ口座を推奨します。
MT5 受信側は ヘッジ口座を推奨します。
同梱物
| ファイル | 内容 |
|---|---|
hub/FC_CopyHub.exe | ローカルハブ(必須・Python不要) |
hub/FC_CopyHub.bat | ハブ起動(ポート引数対応) |
mt4/*.ex4 | MT4 送受信(Experts へコピー) |
mt5/*.ex5 | MT5 送受信(Experts へコピー) |
setup/Install.bat | Common\Files\FC_Copy へ配置 |
MANUAL_JA.html | 本マニュアル |
エンドユーザーへの配布に fc_copy_hub.py は不要です。
導入手順(最短)
- MT4 または MT5 を一度起動(Common フォルダ作成のため)
setup\Install.batをダブルクリック
→%AppData%\MetaQuotes\Terminal\Common\Files\FC_Copy\にハブを配置- 同梱の
mt4\*.ex4/mt5\*.ex5を各ターミナルの Experts フォルダへコピーし、チャートへセット - ツール → オプション → エキスパートアドバイザ
WebRequest で許可する URL に追加:
http://127.0.0.1:18765
HubPort を変えた場合は、そのポートに合わせる - Sender と Receiver で 同じ Channel・同じ HubPort を設定
Install.bat を実行すると、こんな画面が出ます。
黒いコマンド画面に Next steps が出て、最後に JSON が返ればOKです。
Next steps:
1. Copy mt4\*.ex4 to MT4 Experts / mt5\*.ex5 to MT5 Experts, then attach.
2. MT4/MT5: Tools - Options - Expert Advisors
Allow WebRequest for: http://127.0.0.1:<HubPort>
Recommended: 18765 Allowed range: 1024-65535
3. Set the same Channel and HubPort on Sender and Receiver.
4. Symbol dictionary (shared, not Channel): FC_DIC_{DicName}.txt
Default: Common\Files\FC_DIC_default.txt
Sender: Upd List (init + button). Receiver: append-only / Show Dic / File Load
5. Open MANUAL_JA.html in a browser for the full guide
Starting hub settings window once (port 18765)...
{"ok":true,"version":"1.1.0"}
最後に
ハブは タスクバー常駐の設定ウィンドウです。ポート・保持時間をそこから変更し、終了で完全停止します。
EA はハブを自動起動しません。つながらないときはチャート左下に「エラー: ハブとの接続ができません」が出ます。辞書が空のときなども同じラベルです。複数ある場合は優先度の高いものを表示し、解消されたら次を出します。
よくある原因(EA側では切り分け不可。見た目は同じエラー):
{"ok":true,"version":"1.1.0"} が出ればハブ起動は成功です。ハブは タスクバー常駐の設定ウィンドウです。ポート・保持時間をそこから変更し、終了で完全停止します。
EA はハブを自動起動しません。つながらないときはチャート左下に「エラー: ハブとの接続ができません」が出ます。辞書が空のときなども同じラベルです。複数ある場合は優先度の高いものを表示し、解消されたら次を出します。
よくある原因(EA側では切り分け不可。見た目は同じエラー):
FC_CopyHub.exeが起動していない/設定窓を終了した- 送受信の
HubPortとハブのポートが一致していない HubPortが範囲外(1024~65535)→ 左下に「エラー: HubPort 範囲外」となりコピーしない(直すまで待機)- 古いハブプロセスが残っている/二重起動で想定と違う状態(タスクバーの設定窓を確認)
http://127.0.0.1:<HubPort>/ → 監視画面(未処理の待ち一覧)。生存だけ見るなら /health → {"ok":true,...}。あとは EA の HubPort をそれに合わせる。
送信側(FC_SignalSender)
- コピー元口座のチャートに Sender をセット
Channel(例: 1111)を決めるCopyModeで対象を選ぶ(すべて/指定マジックのみ/裁量除外/裁量のみ)- 複数 EA だけ送るなら「指定マジックのみ」+
MagicFilter=111,222,333(半角カンマ区切り) BufferMinutesで未処理の保持時間を設定(推奨 5分)- 気配リストは起動時に1回送る。追加したら右下
Upd List(左下に青字「気配値リスト N」。同じなら「気配値リスト N(変更なし)」)
起動時点ですでに建っているポジションは再送しません。起動後の新規・決済から同期します。
受信側(FC_SignalReceiver)
- コピー先口座のチャートに Receiver をセット
- 送信側と同じ Channel / HubPort
- 必要なら
CopyModeで受け取る対象を絞る LotMultでロット倍率を調整- 銘柄名が違う場合は銘柄マップ(後述)を用意
DLL 許可が必要な場合があります(ハブ自動起動用 shell32)。また WebRequest 許可は必須です。
主なパラメータ
共通
| 名前 | 説明 |
|---|---|
Channel | ペアリングコード(送受信で一致) |
HubPort | ハブポート。範囲 1024~65535 / 推奨 18765。範囲外はエラー表示し稼働しない(18765 への自動読替はしない) |
AutoStartHub | 未起動ならハブを起動(30秒に1回まで) |
Sender
| 名前 | 説明 |
|---|---|
BufferMinutes | コピー完了までの保持時間(推奨 5分) |
CopyMode | すべて(裁量含む)/指定マジックのみ/裁量除外/裁量のみ |
MagicFilter | 指定マジックのみのとき。半角カンマ区切りで複数可 例: 111,222,333 |
SendExisting | ON=起動時点の建玉も送信。OFF(既定)=起動後の新規・決済のみ |
Receiver
| 名前 | 説明 |
|---|---|
CopyMode / MagicFilter | 送信側マジックで受け取る対象。MagicFilter が空で「指定のみ」のときは MagicNo と同じ値で判定 |
MagicNo | 受信注文に付けるマジック(上記フォールバックにも使用) |
LotMult | ロット倍率(1.0 = 100%)。倍率後がブローカー最小ロット未満ならコピーしない(最小への切り上げはしない) |
PullIntervalSec | ハブ取得間隔(秒) |
MaxRetryCount | 失敗再試行上限(0 = 期限まで) |
DropOnExpire | 再試行上限到達時に破棄する |
UseSymbolMap | FC_DIC_{DicName}.txt を使用 |
DicName | 辞書名(既定 default。Channelではない) |
指定マジックのみ … 受信で
送信で既にある建玉を試すときは
MagicFilter に送信側マジックを書く(例: 123)。空のままなら MagicNo と同じ値で判定。送信で既にある建玉を試すときは
SendExisting=ON(既定は起動後の新規のみ)。
辞書(銘柄マップ)
Channel(ペアリング)とは別です。辞書名 DicName(既定 default)で共有します。
ファイル: Common\Files\FC_DIC_{DicName}.txt
例: FC_DIC_default.txt
- 辞書ファイルは 受信側。送信側は気配リストだけ(右下
Upd List) - 送信側の気配値をベースに、受信側は足りない行だけ追加(右辺は空。手で受信銘柄を書いて
File Load) - コピー時は辞書の完全一致か、送受信で同名のときだけ。先頭6文字などの自動推測はしない
- 受信側
Sync Dic… 今の気配から不足行を追加 /Show Dic… 表示 /File Load… 再読込 - 同じ
DicNameなら複数 Receiver で同じ辞書を使えます
EURUSD=EURUSDm EURUSD=EURUSD. EURUSD=EURUSD+|EURUSDpro USDJPY=USDJPYm
左 = 送信側銘柄、右 = 受信側銘柄。| でも複数候補を並べられます。
FAQ(問題 → 原因)
よくある「動かない」は、だいたい下のどれかです。チャート左下のエラーと Experts(エキスパート)タブも合わせて見てください。
| 問題 | 原因(よくあるもの) |
|---|---|
| チャートに「ハブとの接続ができません」 |
ハブ未起動/終了したまま / EA とハブの HubPort が違う / 範囲外ポートで EA が止まっている など。EA 側では「未起動」と「ポート違い」は同じ見え方になります。 |
| 「HubPort 範囲外 (1024-65535)」だけ出て何も動かない | パラメータの HubPort が 1024~65535 以外。18765 などに直して再セット(自動で 18765 にはしません)。 |
| ハブを二重起動した | 仕様で 2 つ目はすぐ終了。先に開いている窓に赤文字「すでに起動中です…」。Channel を分けて複数コピーするときもハブは 1 個でよい。 |
| コピーされない(新規建玉) | Channel 不一致 / ハブ未接続 / 辞書に送信銘柄が無い(同名通過も不可) / 「指定マジックのみ」でフィルタと送信マジックが合っていない / 送信側も「指定のみ」でフィルタ空のまま など。 |
| 起動前からあった建玉がコピーされない | 仕様(既定)。起動後の新規・決済のみ。既存も送りたいときは送信の SendExisting=ON。 |
| 「指定マジックのみ」なのに来ない/全部来る |
指定マジック(MagicFilter)と受信に付けるマジック(MagicNo)は別物。フィルタ空+指定のみのときは MagicNo と同じ値で送信側マジックを判定。複数 EA だけ通すなら MagicFilter=111,222,333(半角カンマ)。
|
| 受信の建玉マジックが全部同じ(例: 123) | 正常。受信側 MagicNo は「こっちの口座に付ける印」。送信側のマジックそのものではない。 |
| 辞書に変な行がある/行がくっついている |
昔の追記で末尾改行が無く、次の行が同じ行にくっついた(例: USDCHFm=USDCHFmGBPUSDm=...)。手で直して File Load。新しい受信 EA は追記前に改行を入れる。
|
| 辞書がおかしいのにコピーされた |
旧版は先頭6文字などで自動推測していた。現在は辞書の完全一致か送受信で同名だけ。 違う名前なら必ず 送信名=受信名(例: USDJPYm=USDJPY)を書いて File Load。
|
Experts に no symbol map for send=... |
辞書にその送信銘柄が無い(または右辺が空/使えない)。行を追加して File Load。 |
Experts に skip open ... magic= |
受信の CopyMode フィルタで弾いた。送信建玉のマジックと MagicFilter/MagicNo を照合。 |
| 青字「気配値リスト N」は何? | 送信側がハブに送った気配の銘柄数。累計カウンタではない。同じ内容で Upd List すると (変更なし) が付く。 |
| Channel と DicName の違いは? |
Channel=送受信のペア(どのコピー線か)。DicName=辞書ファイル名(銘柄読み替えの共有名)。別物。
|
| 複数口座を同時にコピーしたい。ハブは何個? | ハブは 1 個。ペアごとに Channel を分ける(例: 1111 と 2222)。ポートは同じでよい。 |
| exe を上書き・削除できない | 古い FC_CopyHub が残っている。設定窓の「終了」または setup\StopHub.bat。 |
| ポートを変えたらつながらない | ハブ設定・Sender・Receiver・(必要なら)WebRequest 許可 URL のポートをすべて同じにする。 |
トラブルシューティング(確認手順)
| 症状 | 確認 |
|---|---|
| ハブ生きてる? | ブラウザで http://127.0.0.1:<HubPort>/(監視)または /health |
| EA のバージョン | Experts に FC_Signal... v1.xx の Print。古い Experts コピーを使っていないか |
| 辞書 | Common\Files\FC_DIC_{DicName}.txt → 直したら受信で File Load |
| ログ | チャート左下ラベル + ターミナルの Experts(ジャーナルではない) |