PulseCopier MT4
- 实用工具
- 版本: 1.0
- 激活: 20
PulseCopier 在同一台 Windows 电脑或 VPS 上运行的 MetaTrader 终端之间复制交易。它是事件驱动的:主终端在每笔交易发生的瞬间立即发布,接收端会测量并记录每一笔复制的真实延迟 — 通常为 50-150 毫秒。无 DLL,无网络桥接,无配置文件。
一个 EA,两种模式
在源终端上以 MASTER 模式挂载,在每个目标终端上以 RECEIVER 模式挂载。使用 Master ID = AUTO 时,接收端会自动找到活跃的主终端:拖入图表即可。一个主终端可以供给无限个接收端,一个终端可以运行多个接收端,甚至同一个终端可以同时充当主终端和接收端。每个接收端都有自己独立的设置:一个按风险 % 复制,另一个按余额比例,另一个反向复制 — 资金管理始终在接收端完成。与 PulseCopier MT5 配合可覆盖全部四种组合:MT5>MT5、MT4>MT5、MT5>MT4、MT4>MT4。
复制内容
- 来自任何来源的市价持仓:手动交易、EA、手机端
- 挂单(limit/stop),同步入场价格,触发时自动完成挂单到持仓的转换
- 同步平仓、正确的按比例部分平仓、SL/TP 修改同步
- 真实和模拟账户,任何经纪商,任意组合
- 订单映射表持久化到磁盘:重启终端绝不会重复或丢失交易
监控
- 图表控制面板:实时状态、最近和平均复制延迟、暂停/恢复和一键全平按钮
- CSV 复制日志:每次开仓、平仓、部分平仓和转换,均附带实测延迟
1 分钟设置
- 源终端:挂载 PulseCopier,设置 Mode = MASTER。
- 每个目标终端:挂载 PulseCopier,设置 Mode = RECEIVER,启用自动交易。
- 完成。Master ID = AUTO 时它们会自动互相发现。
参数说明
1. Mode
Mode(enum,默认:Master)— MASTER 发布自己的交易;RECEIVER 复制这些交易。
Master ID(string,默认:AUTO)— 将主终端与其接收端关联起来的名称。AUTO 时主终端用账号生成 ID,接收端自动连接到活跃的主终端。在两端设置相同的自定义 ID 可手动关联。
Update interval, ms(int,默认:100)— 数据写入/读取的频率。主终端在每个交易事件发生时也会立即发布,因此该值主要决定接收端的轮询频率。
2. Receiver: connection
Max snapshot age, sec(int,默认:10)— 如果主终端数据早于该时间(主终端离线或卡死),接收端会暂停,而不是基于过期数据操作。
3. Receiver: lots
Lot mode(enum,默认:Multiplier)— 复制手数的计算方式。Multiplier = 主终端手数 x 乘数。Fixed lot = 始终固定手数。Balance ratio / Equity ratio = 按两个账户的余额/净值比例缩放主终端手数,自动进行货币换算(主账户 10,000 开 1.00 手,接收账户 5,000 开 0.50 手)。Risk % = 根据主终端 SL 距离计算手数,使风险为您余额的该百分比。Lots per balance = 每 Y 余额 X 手,忽略主终端手数。
Lot multiplier(double,默认:1.0)— Multiplier 模式的乘数;也是 Risk % 模式在交易无 SL 时的后备。
Fixed lot(double,默认:0.10)— Fixed lot 模式使用的手数。
Risk % per trade(double,默认:1.0)— Risk % 模式使用的风险。
Lots per amount(double,默认:0.10)和 Per balance amount(double,默认:1000)— 共同定义 Lots per balance 模式:每 1000 余额 0.10 手,意味着 5,000 的账户开 0.50 手。
Min lot / Max lot(double,默认:0 = 经纪商限制)— 最终手数的下限和上限。
Skip if lot out of range(bool,默认:false)— 跳过该交易,而不是把手数收紧到限制值。
Split lots above(double,默认:0 = 关闭)— 大于该值的市价单会被拆分:设为 0.50 时,1.20 手的交易会以 0.50 + 0.50 + 0.20 开仓。
4. Receiver: copy options
Reverse copy(bool,默认:false)— 开反向仓位(BUY<>SELL);挂单类型相应转换(buy limit 变为 sell stop 等),SL/TP 互换。
Stop Loss mode / Take Profit mode(enum,默认:Copy)— Copy = 镜像主终端。Fixed points = 使用您自己的固定距离。Off = 不管理。
Fixed SL, points / Fixed TP, points(int,默认:0)— Fixed 模式使用的距离。
Sync SL/TP changes(bool,默认:true)— 持续镜像主终端后续的 SL/TP 修改。
Copy closes(bool,默认:true)— 复制全部平仓和部分平仓。
Copy pending orders(bool,默认:true)— 同时复制主终端的挂单。关闭时,只有挂单在主终端触发后才复制该交易。
Copy existing on start(bool,默认:false)— 同时复制接收端启动时已经打开的持仓。
Reopen closed copies(bool,默认:false)— 如果副本在接收端被平掉(触发 SL、手动平仓)而主终端的交易仍然存在,则重新复制。
Max price deviation, points(int,默认:0 = 关闭)— 如果当前价格偏离主终端入场价超过该值则不开仓;接收端会等待价格回归。
5. Receiver: breakeven / trailing
Breakeven trigger, points(int,默认:0 = 关闭)— 盈利达到该点数后,SL 移至入场价。
Breakeven offset, points(int,默认:0)— 保本 SL 的额外偏移。
Trailing distance, points(int,默认:0 = 关闭)— 副本上的经典移动止损。
Trailing start, points(int,默认:0)— 移动止损启动所需的盈利。
Trailing step, points(int,默认:5)— 再次移动 SL 前所需的最小改善。
启用保本或移动止损后,SL 只会收紧 — 与主终端的同步永远不会将其放松。
6. Receiver: filters
Magic filter / Symbol filter / Comment filter(string,默认:空 = 复制全部)— CSV 列表;只复制匹配的主终端交易。示例:Magic filter 123,456 只复制这两个 EA。
Direction filter(enum,默认:All)— 全部交易、只做多或只做空。
Min/Max master lot(double,默认:0 = 关闭)— 只复制该手数范围内的主终端交易。
Max spread, points(int,默认:0 = 关闭)— 点差高于该值时不开仓。
7. Receiver: schedule
Monday...Sunday(bool,默认:全部启用)和 Start/End time(string,默认:00:00-23:59)— 允许的日期/时间之外不开新副本。支持 22:00-06:00 这样的跨夜时段。平仓和 SL/TP 管理始终保持运行。
8. Receiver: protection
Max receiver drawdown %(double,默认:0 = 关闭)— 接收端浮动回撤超过该值时暂停复制。
Close all on drawdown(bool,默认:false)— 触发时另外平掉所有副本(紧急制动)。
Max master drawdown %(double,默认:0 = 关闭)— 主账户处于深度回撤时不复制。
Daily max loss % / Daily max profit %(double,默认:0 = 关闭)— 达到任一限制后当天停止复制。
9. Receiver: symbols
Symbol prefix / Symbol suffix(string,默认:空)— 添加到该经纪商的主终端品种名上(例如后缀 .pro 把 EURUSD 变成 EURUSD.pro)。
Symbol map(string,默认:空)— 优先级最高的手动映射,例如 XAUUSD=GOLD;US30=DJ30。
Auto-detect symbols(bool,默认:true)— 当品种名不一致时,接收端自动找到经纪商的对应品种并记住它。
10. Receiver: execution
Magic number(long,默认:770001)— 标识复制的交易;同一终端上运行多个接收端实例时请使用不同的值。
Slippage, points(int,默认:30)— 执行时允许的最大偏差。
Extra comment(string,默认:空)— 附加到每个副本注释中的自定义文本。
11. Panel + journal
Show panel(bool,默认:true)— 图表状态面板,含 Pause 和 Close all 按钮。
Write CSV journal(bool,默认:true)— 将每次操作及其实测延迟记录到 Files 文件夹中的 CSV 文件。
Verbose log(bool,默认:false)— 在“EA”日志中输出更多细节。
要求
- Windows 电脑或 VPS,所有终端运行在同一台机器上(本地复制器,无网络桥接)
- MT5 接收账户必须是对冲(hedging)账户
- 接收终端启用自动交易
- 与 MT5 终端互相复制还需要 PulseCopier MT5
说明
- 在策略测试器中,EA 会执行一笔最小的验证交易;其真实功能需要两个运行中的终端。
