説明
🚀 TradeCopierBot — 高速でクリーン、ブローカーに強いトレードコピー(ローカル/VPS)🔁✨
トレードを MASTER アカウントから1つ以上の SLAVE アカウントへ、実際の取引環境向けに設計された軽量でイベント駆動型のコピーツールでコピーします: 異なるブローカー、異なるシンボル名、異なるロットルール。
マルチアカウント実行に最適、リスクスケーリング、および 戦略配布—詳細なデバッグログ付きで、常に何が起きているか把握できます。🧠📈
✅ ローカル/VPS セットアップ(同一マシン)に最適化。
❌ cTrader Cloudには対応していません(インスタンスが分離されているため、シグナルを共有できません)。☁️🚫
注意:異なるcTraderアカウントが2つある場合は、2つのcBotを購入する必要があります。そうしないとコピーできません。ご不明な点はお気軽にお問い合わせください。
🧠 動作の仕組み(MASTER → SLAVE)🧩
🔁 1) シグナル転送(トレードの「移動」方法)
このコピーツールは cTrader LocalStorage(デバイススコープ) を共有の「メッセージバス」として使用します。
✅ MASTER
- ポジションイベントを監視: オープン / 修正 / クローズ
- シグナル
TradeSignalを作成(OPEN / MODIFY / CLOSE) - それを signalsリスト に追加(LocalStorageScope.Device内)
- SLAVEがすぐに読めるように Flush() を呼び出す
✅ SLAVE
- 一定間隔で タイマー を実行(ポーリング間隔 秒ごと)
- Reload() を呼び出す
- シグナルリストを読み込む
- 新しいシグナルのみ処理(
_lastSignalIndexProcessedを使用)
🧷 2) ポジションマッピング(CLOSEが機能するために)
SLAVEがトレードをオープンするとき、以下を保存します:
🧩 MasterPositionId → SlavePositionId
このマッピングはLocalStorageにも保存され、再起動後も保持されます:
- ✅ 再起動後もCLOSEが機能
- ✅ MODIFYも正しいポジションを見つける
🧭 3) シンボル変換(MASTERシンボル → SLAVEシンボル)
🗺️ シンボルマップ(MASTER=SLAVE;...)
ブローカーやアカウント間でシンボル名が異なる場合に使用。
フォーマット:
MASTER=SLAVE;MASTER2=SLAVE2;...
例(あなたの場合):
- MASTERが
USTECをオープン - SLAVEは
US100を取引する必要がある
➡️ USTEC=US100
✅ 左側 = MASTERから届くシンボル
✅ 右側 = SLAVEブローカーのシンボル
📏 4) ボリュームロジック(重要な部分)🔥
✅ ロット/数量単位で動作(小数点対応)
小数点(0.10、0.01など)を扱うために、SLAVEは:
- 希望の ロット数 を計算
- 乗数 / 最小値 / ステップを適用
- ロットを ボリューム に変換(
QuantityToVolumeInUnits(lots)を使用) - double型のボリュームを受け入れるオーバーロードを使って注文を送信 ✅
これにより、ブローカーが異なるロット精度ルールを強制しても堅牢に動作します。
⚙️ パラメータ説明(アイコン付き)
🧩 コア
- 🧭 モード
-
Master= シグナルを発行Slave= シグナルを読み取りトレードをコピー
- 🧷 コピーグループID
-
- 通信チャネル。MASTERとSLAVEで一致させる必要があります(例:
DEFAULT)
- 通信チャネル。MASTERとSLAVEで一致させる必要があります(例:
- ⏱️ ポーリング間隔(秒)
-
- SLAVEが新しいシグナルをN秒ごとにチェック
- 🐞 デバッグモード
-
- 詳細なログを出力(セットアップ時に推奨)
🗺️ シンボル変換
- 🧾 シンボルマップ(MASTER=SLAVE;...)
-
- 例:
USTEC=US100;XAUUSD=GOLD;NAS100=USTEC
- 例:
🎚️ ボリュームスケーリング(最重要)✅
🔢 グローバル乗数
- ➗ ボリューム乗数
-
- コピーされたすべてのロットをスケール
desiredLots = masterLots * VolumeMultiplier
🎛️ シンボルごとの乗数(主なツール)
- 🧷 ボリューム乗数マップ(SYM=mult;...)
-
- シンボルごとに乗数を上書き(SLAVE側シンボル)
- 例:
-
US100= 0. 10- イタリア式フォーマットもOK:
US100=0,10
✅ これにより、以下を実現できます: MASTERの1.00 → SLAVEの0.10
🧱 ブローカーのロット制約(最小値とステップ)
- 🧱 最小数量デフォルト(0=オフ)
-
- 有効時のグローバル最小ロット数
- 🧱 最小数量マップ(SYM=val;...)
-
- シンボルごとの最小ロット数
- 例:
US100=0. 10
- 🪜 数量ステップデフォルト(0=オフ)
-
- 有効時のグローバルステップ
- 🪜 数量ステップマップ(SYM=val;...)
-
- シンボルごとのステップ
- 例:
US100=0. 10→ 許容値:0.10、0.20、0.30…
🧯 セーフティ動作
- 🧷 最小数量を固定ロットとして使用
-
- もし
trueなら:SLAVEはマスターのサイズを無視し、常にMinQty(固定サイズ)を使用
- もし
- ⚠️ BelowMin動作
-
UseMin= 最小未満なら最小に引き上げるSkip= 最小未満ならオープンしない
- 🔁 BadVolume試行
-
- ブローカーがBadVolumeを返した場合、小さな調整を最大N回試みる
🎯 SL/TPコピーのロジック
- 🛡️ シンボルが異なる場合、SL/TPを距離としてコピー
-
- MASTERとSLAVEのシンボルが異なる場合:
- SL/TPは絶対価格ではなく エントリーからの距離 としてコピーされる
- これにより、異なる銘柄間でもリスク管理が一貫する
✅ 推奨設定(USTEC → US100、SLAVEロット=0.10)
SLAVE側で:
🗺️ シンボル変換:
Symbol Map=USTEC=US100
🎛️ ボリュームスケーリング:
Volume Multiplier Map=US100=0,10
🧱 ブローカー制約:
Min Qty Map=US100=0,10Qty Step Map=US100=0,10
結果:
- ✅ MASTERの1.00 → SLAVEのUS100で0.10
☁️ 重要:ローカル/VPSのみ(クラウドは不可)❌
🖥️ ローカル/VPS ✅
MASTERとSLAVEが同じ LocalStorageScope.Device(同一マシン/環境)を共有しているため動作します。
☁️ cTrader Cloud ❌
Cloudインスタンスは 分離されているため動作しません。LocalStorageを共有せず、SLAVEはMASTERのシグナルを認識できません。
✅ 結論:
- ✔️ 同一PCまたは両方のインスタンスが同時に動作するVPSで使用してください
- ❌ クラウドの場合は外部リレー(HTTP/WebSocketサーバー)が必要です
概要
Key features include:
- Position mapping to maintain correct trade management across restarts.
- Symbol translation via customizable symbol maps to handle differing broker symbol names.
- Volume scaling with global and per-symbol multipliers, supporting decimal lot sizes and broker-specific minimum quantity and step constraints.
- Safety behaviors such as fixed lot sizing and handling of trades below minimum lot sizes.
- Stop loss and take profit copying as distance from entry price when symbols differ, preserving consistent risk control.
Parameters include mode selection (MASTER or SLAVE), communication group ID, polling interval, debug mode, symbol maps, volume multipliers, and broker lot constraints. The bot is not compatible with cTrader Cloud due to isolated instances but functions reliably on local or VPS setups where MASTER and SLAVE share the same environment.
カスタマーレビュー
5 | 67 % | |
4 | 0 % | |
3 | 33 % | |
2 | 0 % | |
1 | 0 % |