[ English ] [ Русский ] [ 中文 ] [ Español ] [ Português ] [ 日本語 ] [ Deutsch ] [ 한국어 ] [ Français ] [ Italiano ] [ Türkçe ]
Telegram to MT5 and MT4 Multi-Channel Copier 将您的 Telegram 和 Discord 频道中的信号复制到 MetaTrader。它由两部分组成:一个读取频道的小型 Windows 应用程序,以及一个负责下单的 EA(Expert Advisor)。本指南将带您从零开始,在大约 10 分钟内复制第一条信号,然后说明重要的设置,并列出所有输入参数。
应用程序在 MT4 和 MT5 上是同一个。请购买适合您平台的 EA:Telegram to MT5 Multi-Channel Copier 或 Telegram to MT4 Multi-Channel Copier。
下载应用程序:TelegramToMT5MultiChannelCopier.zip。解压后,在文件夹内运行 exe。只需下载一次。
最新更新:app-update.zip(文件名会显示其版本)。已经有复制器的文件夹了?把这个文件放进其中的 UPDATES HERE 文件夹,然后打开应用程序:请参阅“更新应用程序”。
第 1 步:获取 Telegram 的 API ID 和 API hash
应用程序通过 Telegram 的官方 API 与 Telegram 通信,使用您自己的 API ID 和 API hash。只需两分钟,而且免费。
- 打开 my.telegram.org/apps,用您的手机号登录。验证码会发送到您的 Telegram 应用中。
- 填写表单:任意标题和简称(例如“MT5 Copier” / “mt5copier”),平台选择 Desktop。名称中不能包含「Telegram」一词。
- 点击 Create application,复制 App api_id (1) 和 App api_hash (2)。哈希值是隐藏的:点击眼睛图标查看,或点击旁边的复制按钮。

如果网站提示“Too many attempts”,这是 Telegram 的临时限制:请等待几个小时后重试,最好换一个网络(例如手机的移动数据)。切勿向任何人透露这两个值。
您的凭据和 Telegram 会话只保存在您的电脑上。应用程序直接连接 Telegram,中间没有任何服务器。该会话会像其他登录一样显示在 Telegram 的 Settings, Devices 中,您可以随时在那里将其关闭。
第 2 步:连接应用程序
- 将下载的文件解压到任意文件夹,然后打开 TelegramToMT5MultiChannelCopier.exe。无需安装;请保持文件夹完整。如果 Windows SmartScreen 发出警告,请点击“更多信息”(More info)和“仍要运行”(Run anyway)(该应用程序没有数字签名)。
- 在 设置 选项卡中,输入 API ID 和 API Hash (1),以及带国际区号的手机号,例如 +34600000000 (2)。点击 连接 (3),然后输入 Telegram 发给您的验证码。如果启用了两步验证,还会要求输入您的 Telegram 密码。
- 语言 选择器 (4) 可切换整个应用程序的语言。

收不到验证码?点击 二维码登录,然后用手机在 Telegram 的 Settings, Devices, Link Desktop Device 中扫描。
打开 频道 选项卡,选择要复制的频道 (1),然后点击 添加 (2):它们会移到 监听中 一列 (3)。信号机器人也会列出。然后点击 开始监听 (4)。

从现在起,这些频道的每条消息都会显示在底部的日志中,并附上应用程序的解读结果。请保持应用程序打开(最小化也可以):应用程序关闭时,不会复制任何信号。网络中断后,它会自动重新连接。

第 3 步:在 MetaTrader 中加载 EA
购买后,EA 位于 导航(Navigator) 中的 EA交易(Expert Advisors)> Market 下 (1)。如果没有找到,请在 工具 > 选项 > 社区(Tools > Options > Community) 中用购买时的账户登录 MQL5,然后重启终端。

将 EA 拖到任意图表上。图表的品种无关紧要:EA 交易的是每条信号中的品种。在 普通(Common) 选项卡 (1) 中,勾选 允许算法交易(Allow Algo Trading) (2)(MT4 中为 Allow live trading)。

在 输入(Inputs) 选项卡 (1) 中,默认值已经可以使用:每条信号 0.01 手;入场价距离超过 5 点时挂单;只使用第一个 TP。首先要调整的是手数 (2),请参阅“交易多少手”。点击 确定。

打开工具栏上的 算法交易(Algo Trading) 按钮 (1)(MT4 中为 AutoTrading)。它必须处于开启状态,同时还要勾选允许算法交易:两者缺一,EA 都不会下单。

第 4 步:检查是否正常工作
回到应用程序,点击 诊断。它会检查整个链路,从 Telegram 到应用程序、信号文件夹和 EA;如有不匹配之处,会告诉您需要修正什么。

信号到达时,MetaTrader 的 Experts 选项卡会显示该信号及其执行情况:一行显示信号 (1),发送给经纪商的每个订单各占一行 (2)。EA 跳过的信号会在其所在行说明原因。

如果不想等频道发信号,可以使用应用程序中的 测试消息:粘贴任意消息,看看它会被如何解读。您也可以把一条信号转发到您的 Saved Messages 并监听它;勾选显示私聊后,Saved Messages 会出现在频道选项卡中。
重要的设置
其他设置都可以保持默认值。下面的名称与您在 EA 的输入选项卡中看到的完全一致。
交易多少手
Risk mode: Fixed lot / % balance / Money / Signal 决定手数的计算方式。
- Fixed lot:Fixed lot size 是每条信号的总手数。如果信号开出多个订单(多个 TP 或多个入场价),手数会在它们之间分配。若要让每个订单都使用完整手数,请将 Fixed lot applies to EACH order (no split) 设为 true。
- % balance 和 Money 根据信号的止损计算手数。没有止损时,EA 使用 Fallback lot if risk calculation fails。
- Signal 使用消息中写明的手数,最大值为 Cap for the lot taken from signals。
市价单还是挂单
当信号带有入场价时,由 Switch to pending when entry is more than N pips away 决定:距离小于 N 点时按市价开仓,更远时在信号价格处挂 LIMIT 或 STOP 单(0 = 始终挂单)。“BUY NOW”或“AT MARKET”消息通过 Open 'BUY/SELL NOW' signals at market 按市价开仓。如果频道在“NOW”消息之后不久才发送完整订单(SL、TP),这些内容会应用到已经开出的仓位上。
三个安全输入参数:Pending order expiration in hours(旧的 LIMIT 单不会在几天后才成交)、Ignore signals older than N minutes(建议 15-30,这样 MetaTrader 关闭期间积压的信号不会以过时的价格开仓)和 Skip entries more than N pips away。
多个止盈
启用 Multi TP 后,一条带有 TP1、TP2 和 TP3 的信号会为每个 TP 各开一个仓位,SL 相同,手数在它们之间分配。How many TPs to use 限制使用的数量,Lot weight per TP 给前面的目标分配更多手数(0.5,0.3,0.2),Safety cap: never use more than N TPs per signal 是上限。输入参数的第 15 节决定某个 TP 被触及后其他仓位如何处理:保本、止损移到上一个 TP、部分平仓或删除挂单。
频道的后续消息
应用程序能理解频道之后发来的消息(“move SL to breakeven”、“close now”、“cancel the pending”、“SL to 2340”、“TP2 to 2400”、对原消息的编辑),EA 会将其应用到该信号的仓位上。如果您的频道发这些消息太早,可以用 Ignore BE messages 和 Ignore CLOSE messages 关闭它们。BE message while the trade is in loss 决定当频道要求保本、但价格已经越过入场价时如何处理。
您的经纪商的品种
EA 会自动找到经纪商的品种(XAUUSD、XAUUSD.pro、GOLD、XAUUSDm...)。如果找不到:Suffix your broker adds to ALL symbols 一次性修正所有品种,Per-symbol overrides 处理例外情况(XAUUSD=GOLD.p),If signal has no symbol, use this one 用于从不写明品种的频道。在应用程序中,自定义品种匹配 把频道里的用词(NQ、ORO、US30)转换为真实品种。
一个终端还是多个终端
应用程序把信号写入一个文件夹,每个 EA 都从那里读取。应用程序终端选择器中的 Default (all MT4/MT5) 对应 EA 中的 Default all MT4/MT5 = true:即电脑上所有终端共用的文件夹。在应用程序中选择某个特定终端,则 EA 中对应设为 false。如果两者不一致,EA 永远收不到信号,诊断会指出这一点。如果有多个终端读取共享文件夹,请为每个 EA 设置不同的 Unique ID per EA(例如“Real”、“Demo”)。
应用程序的更多功能
复制之前先回测频道
Backtest 选项卡会用您经纪商的价格重放某个频道过去的消息,解读方式与复制器完全相同,并显示该频道在您的账户中会产生什么结果。选择频道和天数 (1),按 使用此 EA 的设置 (2),然后按 Backtest (3):报告会在浏览器中打开,包含结果、胜率、盈利因子、回撤、净值曲线以及每条信号一张图表。在 MT5 中,在 MT5 中测试 会在策略测试(Strategy Tester)中用真实的 EA 重复同样的信号。

完整教程:付费订阅频道之前,如何在 MT5 和 MT4 中回测 Telegram 信号。
Discord 频道
Discord 选项卡用您自己的账户跟随 Discord 频道,无需邀请任何机器人。按 如何获取令牌,按照其中的步骤操作,然后点击 从剪贴板粘贴令牌 (1)。选择一个服务器并点击频道 (2),然后点击 启动 Discord (3)。Discord 信号通过同一个 EA、以相同的设置执行;Signal source: Telegram, Discord or both 让您可以为每个来源各用一个图表。请为复制器使用单独的 Discord 账户:将个人账户自动化违反 Discord 的条款。

报告和支持包
报告 选项卡汇总您的一天:应用程序和 EA 的版本、Telegram 和 Discord 的状态,以及每个频道的信号、交易、被跳过的信号(及原因)和结果,另外还有警告及需要修改的地方。

其他工具:每个频道的 筛选 按钮(只复制某位作者的消息或跳过推广消息)、用于频道自有用语的 自定义关键词、可从 Telegram 平仓、暂停或查询状态的 控制聊天,以及用于发布图片的频道的 读取图片信号(需要 Tesseract OCR)。
EA 输入参数参考
方括号内为默认值。点(pip):黄金为 0.1,白银为 0.01,外汇为通常的点。
1. Setup (basic)
- Default all MT4/MT5 (false if specific terminal in app) [true]:true = 所有终端共用的文件夹;false = 该终端自己的文件夹。
- Check for new signals every N seconds [5]:设为 1-3 反应更快。
- Magic number [20260410]:用于识别 EA 的交易。
- Slippage [10]:市价单的最大滑点(以点数计)。
- Unique ID per EA (empty for one; different on each) [empty]:多个 EA 读取同一个文件夹时,每个 EA 各设一个。
- Signal source: Telegram, Discord or both [both]:此图表执行哪些信号。
2. Entry (market or pending)
- Use pending orders when entry is far from current price [true]:false = 全部按市价。
- Switch to pending when entry is more than N pips away [5.0]:0 = 始终挂单。
- Open 'BUY/SELL NOW' signals at market [true]:“NOW”消息按市价开仓。
- Range entries: how many orders (1 = single) [1]:入场区间内每个价格一个订单。
- Range: first / last / average price (if single entry) [Average]:只下一个订单时使用区间内的哪个价格。
- Grid: N orders across range (0=off, overrides UseEntryCount) [0]:在区间内均匀分布 N 个订单,最多 20 个。
- Layer spacing pips, single-price signals (0=off) [0]:对只有一个价格的信号,每隔 N 点额外挂一个 LIMIT 单。
- Skip new signals while a pending order is active [false]。
- Skip entries more than N pips away (0=off) [0]。
- Ignore signals older than N minutes (0=off) [0]:建议 15-30。
- Pending order expiration in hours (0=no expiration) [0]。
- Max new signals executed per minute (0=off, extra ones wait) [0]。
- Market closed: retry until it opens, max hours (0=off) [0]。
- Compensate broker spread on entry/SL/TP levels [false]:适用于价格取自 Bid 图表的频道。
3. Take Profit (multi-TP)
- Multi TP [false]:每个 TP 一个仓位。
- How many TPs to use: 0=all, 1=TP1 only, 3=TP1+TP2+TP3 [0]。
- Lot weight per TP, e.g. 0.5,0.3,0.2 (empty=equal, 0=skip) [empty]。
- Safety cap: never use more than N TPs per signal [5]。
- When an edit adds TPs to a single open trade [Do nothing]:是否开出后来添加的 TP,以及使用多少手数。
- Open TP in the signal ("TP4 open", blank "TP3 :") [Ignore it]:为频道不设目标价的 TP 额外开一个仓位。
- Open TP: pips past the last TP (3rd option) [50]。
4. Stop Loss (protection)
- Reject signals with no entry price (e.g. 'BUY NOW') [false]。
- Reject signals with no Stop Loss (safer) [false]。
- Fallback SL pips when signal has none (0=off, RISKY) [0.0]。
5. Override SL/TP (ignore channel)
- ALWAYS use custom SL (ignores SL from signal) [false],配合 Custom SL distance in pips [100]。
- ALWAYS use custom TP (ignores TP from signal) [false],配合 Custom TP distance in pips [100]。
- Use default TP if signal has no valid TP [false],配合 Default TP in pips [50]。
- Add N pips to every TP (negative = closer, 0=off) [0.0] 和 Add N pips to the SL (negative = closer, 0=off) [0.0]。
- Ignore CLOSE messages (keep positions running) [false] 和 Ignore BE messages (don't move SL to entry) [false]。
- On BE: also delete unfilled pending orders [false]。
- BE message while the trade is in loss [Close the position at market]:平仓、保持不动,或等待价格回到入场价。
- When the provider DELETES a signal message [Do nothing]:或者删除其挂单,或者同时平掉其仓位。
6. Position size (risk)
- Risk mode: Fixed lot / % balance / Money / Signal [Fixed lot]。
- Fixed lot size (0.01 = micro, safest for beginners) [0.01]。
- % of balance to risk per trade (needs SL to calculate) [0.10] 和 Money to risk per trade in account currency (needs SL) [50.0]。
- Fallback lot if risk calculation fails [0.01]。
- Cap for the lot taken from signals (0 = no cap) [30.0]。
- Fixed lot applies to EACH order (no split) [false]。
7. Filters (which signals to accept)
- Comma-separated whitelist. Empty = all. Ex: XAUUSD,EURUSD 和 Comma-separated blacklist. Ex: USDJPY,NAS100:要交易或要忽略的品种。
- Only trade these channel names. Empty = all 和 Skip these channel names:按频道过滤。
- Trading days, e.g. Mon-Wed;Fri (empty = every day)、Trading hours, e.g. 08:00-13:00;16:00-18:00 (empty=24h) 和 Clock for the trading days/hours:只在该时间窗口内接受新信号;已开的交易仍会继续管理。
8. Broker matching (symbol adjust)
- Suffix your broker adds to ALL symbols. Ex: .pro, m, -ECN, # [empty = 自动]。
- Per-symbol overrides. Ex: XAUUSD=GOLD.p,NAS100=USTEC.pro [empty]。
- If signal has no symbol, use this one. Ex: XAUUSD [empty]。
9. Breakeven and 10. Trailing stop
- Move SL to breakeven (=entry) after N pips of profit [false],配合 Profit in pips required to trigger BE [20],以及 Breakeven at % of the distance to TP (0=off) [0]。
- Breakeven offset pips (0 = exact entry) [0]:每次保本都设在盈利 N 点处。
- Enable trailing stop (SL follows profit) [false]、Activate trailing after N pips of profit [30]、SL stays N pips behind current price [15]。
- Cancel related pending orders when trailing starts [true] 和 Open without TP when trailing on (trailing decides exit) [false]。
11. Partial close
- Enable partial close (take some profit, let rest run) [false],配合 % of position to close (50 = half) — single-level only [50] 和 Trigger partial close at +N pips of profit — single-level [30]。
- Multi-level: pips:%, ... e.g. 20:30, 40:20, 60:20, 100:30 [empty]:多个级别;取代单一级别。
- After partial close, move SL to breakeven (risk-free) [true]。
12. Performance panel
- Show on-chart stats panel per channel [true]:按频道显示交易数、胜率和结果,可导出为 CSV。该组的其他输入参数用于选择角落位置、天数、刷新频率、行数和颜色。
13. Basket close (all positions at once)
- Close ALL when floating profit reaches N % balance、N money 或 N pips [0 = 关闭],配合 Basket scope: all channels / per channel / per symbol [All] 和 After closing the basket, also delete its pending orders [true]。
14. Prop-firm mode (look like manual trading)
- Random delay before executing a signal, max seconds (0=off) [0]。
- Randomize entry/SL/TP by up to N points (0=off) [0],配合 Never randomize the SL/TP to a worse level [true]。
15. When a TP is hit (multi-TP signals)
- Move SL to breakeven when this TP is hit (0=off) [0]。
- Move the SL of the signal's OTHER positions to [Leave the SL as it is]:移到保本、刚触及的 TP,或落后一个 TP 的位置。
- Delete the signal's remaining pending orders [false] 和 Close this % of each remaining position (0=off, 100=all) [0]。
- Also react to TPs hit while the EA was offline (last 24 h) [true]。
16. Daily target and daily loss limit
- Daily profit target in account currency (0=off) 和 in % of balance [0]:达到后,当天剩余时间不再执行新信号。
- Daily loss limit in account currency (0=off) 和 in % of balance [0],配合 When the daily loss limit is reached [Stop new signals for the day]:或者同时全部平仓。对于自营交易公司,请将其设在公司的限额以下。
17. Test in the MT5 Strategy Tester
- Backtest file from the app (Strategy Tester only) [empty]:由应用程序的“在 MT5 中测试”按钮自动填写。在实盘图表上请留空。
VPS、问题和更新
- VPS:任何内存 2 GB 或以上的 Windows VPS 均可,设置方式与电脑相同。将应用程序加入 Windows 开机启动:它会自动恢复监听。
- 应用程序无法登录:检查 API ID 和 hash(不要有空格)以及手机区号。如果收不到验证码,请使用二维码登录。
- 应用程序显示了信号,但 EA 没有开仓:两处的算法交易都要开启;应用程序和 EA 要使用同一个文件夹(见“一个终端还是多个终端”);查看 Experts 选项卡,它会说明每条信号被跳过的原因。诊断会检查整个链路。
- EA 从图表上消失:某个输入参数的值无效;警报会指出是哪个参数以及允许的范围。
- 找不到品种:在应用程序的自定义品种匹配中,或在 EA 的 Per-symbol overrides 中进行映射。
- 两个终端只有一个在交易:在每个终端中为 EA 设置不同的 Unique ID per EA。
- 只有一个订单,而不是每个 TP 一个:Multi TP 处于关闭状态,或者频道在交易开出后通过编辑消息添加了 TP(见 When an edit adds TPs to a single open trade)。
更新应用程序
从本指南顶部的“最新更新”链接下载更新文件,不要解压,直接放进复制器的 UPDATES HERE 文件夹,然后打开应用程序:它会自动更新,并保留您的频道、设置和 Telegram 会话。EA 通过 MQL5 Market 更新。当应用程序或 EA 落后于已发布的版本时,诊断会提醒您。每个版本的变更内容见产品页面的“What's new”部分。
支持
请通过我的 MQL5 个人资料给我发私信。在设置选项卡中点击 支持包,然后附上它在您桌面上生成的 ZIP 文件:里面包含我需要的一切,您的私人数据会被隐藏。
我也可以把自己的交易发布到 Telegram 频道吗?
可以,使用我的 MT5 to Telegram MultiChannel Sender(MT5):它把您的开仓、平仓、部分平仓以及 SL/TP 修改发布到一个或多个 Telegram 频道,每个频道可单独设置延迟,方便同时运营免费频道和 VIP 频道。


