[ English ] [ Русский ] [ 中文 ] [ Español ] [ Português ] [ 日本語 ] [ Deutsch ] [ 한국어 ] [ Français ] [ Italiano ] [ Türkçe ]
设置指南:MT5 to Telegram MultiChannel Sender
本指南带您从零开始建立一个可用的信号频道:创建 Telegram 机器人,将其连接到 MetaTrader 5,并决定每个频道接收哪些内容。所有设置都在图表上的面板中完成——输入参数可以留空。
总准备时间:约 5 分钟。想在设置之前先看看消息效果?请参阅下文的在策略测试中试用。
产品页面: MT5 to Telegram MultiChannel Sender(MetaTrader 5 的EA交易)。
该EA不进行交易。它监控您的 MT5 账户,并将每一次开仓、修改、部分平仓、平仓和挂单发布到一个或多个 Telegram 频道、群组或私聊中。
📑 目录
|
第 1 步:创建 Telegram 机器人
EA通过您自己的机器人发布消息。创建机器人免费,只需一分钟。
第 1 步:在 Telegram 中搜索 @BotFather(官方账号带有蓝色认证标记)并打开聊天。
第 2 步:发送命令 /newbot。
第 3 步:选择一个显示名称(例如“My Signals”),然后选择一个以 bot 结尾的用户名(例如“mysignals_alerts_bot”)。
第 4 步:BotFather 会回复您的令牌,形如 1234567890:AAH... 的一行文字。复制它,您将在第 4 步把它粘贴到面板中。
| ⚠️ 重要:令牌就是机器人的密码。任何拿到它的人都可以在您的频道中发布消息。切勿与他人分享。如果令牌泄露,请向 @BotFather 发送 /revoke,获取新的令牌并粘贴到面板中(⚙ Settings → Change)。 💡 提示:请为此EA使用专用的机器人。如果已有其他程序(其他信号工具、跟单软件)在使用同一个机器人,“Detect channels”按钮将无法读取机器人的更新。 |
第 2 步:将机器人添加到您的频道
第 1 步:打开您的频道 → 频道名称 → Administrators → Add Admin → 搜索您机器人的用户名。
第 2 步:至少授予它 Post messages 权限。如果您希望信号消息在原处更新(参见“How SL/TP changes and closes appear in the channel”),还需开启 Edit messages of others。
第 3 步:在频道中发布任意一条消息(一句简单的“hello”就够了)。EA根据最近的活动查找您的频道,因此正是这条消息让“Detect channels”能够生效。
对每个要使用的频道重复以上操作(例如一个 VIP channel 和一个 Free channel)。群组的操作相同;如果是私聊,只需给您的机器人发一条消息。
第 3 步:在 MetaTrader 5 中允许 Telegram
MetaTrader 只允许EA访问您许可的网站。每个终端只需设置一次。
第 1 步:在 MT5 中打开 工具 → 选项 → EA交易(Tools → Options → Expert Advisors),或按 Ctrl+O。
第 2 步:勾选 Allow WebRequest for listed URL。
第 3 步:添加以下地址并点击 OK:
| https://api.telegram.org |
没有这一步,任何消息都无法发送。面板将其显示为设置的第 2 步,并提供 Check 按钮用于测试。
第 4 步:加载EA并完成 3 个设置步骤
第 1 步:打开任意一个图表(品种无关紧要——EA报告的是整个账户),把EA拖到图表上。确认工具栏中的算法交易(Algo Trading)已开启。
| ⚠️ 只在一个图表上加载EA。如果在同一账户上加载两次,第二个副本会有意保持静默(面板显示“Duplicate EA on another chart”),这样您的订阅者永远不会收到重复的消息。 |
第 2 步:所有输入参数都可以留空,直接点击 OK。面板会在左上角打开,并显示设置助手 "Connect your channel — 3 steps and you are live"。每一步都有自己的按钮:
- Bot token → Paste. 该步骤下方会出现一个输入框。点击框内,按 Ctrl+V(或右键 → Paste),然后点击 Save。EA会向 Telegram 验证令牌,该步骤变为绿色并显示您机器人的名称。如果您复制了 BotFather 的整条消息,同样可以使用:令牌会被自动提取。
- Allow api.telegram.org → Check. 测试连接。如果上文的第 3 步尚未完成,输入框中会显示可直接复制的地址。
- Add your channels → Detect. EA向 Telegram 查询您的机器人所在的频道,并将它们添加到列表中。新频道添加时处于关闭状态——请在频道列表中将其开启。

三个步骤都变绿后,助手会变成显示频道列表的常规面板。点击 paper plane(纸飞机图标)发送一条测试消息,确认频道已收到(发布前EA会请求 Yes/No 确认)。如果您希望每次启动时都发送测试,请开启输入参数“Send a test message when the EA starts”。

| ℹ️ 注意:您在面板中的设置(令牌、检测到的频道、开/关、每个频道的内容和延迟)都保存在您的电脑上,重启后依然保留。只有当您更喜欢在输入参数中填写全部内容,或在 VPS 上运行时(参见“在 VPS 上运行”),才需要使用输入参数。 |
面板

Title bar(将鼠标悬停在任意图标上即可查看其作用):
- Pause:暂停所有发送。暂停期间按钮变为红色。暂停期间不会排队任何消息——暂停期间进行的交易之后也不会发布。
- Paper plane:经 Yes/No 确认后,向已开启的频道发送测试消息。
- Pencil:打开消息编辑器。
- Gear:设置——随时更改机器人令牌(Change)、检查连接(Check)和检测频道(Detect)。
- Arrow:将面板折叠成一个小条,以免遮挡图表。
Channel list——每个频道一行:
- Switch:点击该行即可开启或关闭频道。关闭频道时,还会丢弃该频道中仍在等待发送的消息。
- Content tag(Full / No SL/TP / Results):该频道接收的内容。点击即可更改。参见“VIP 频道和免费频道”。
- Delay tag(0、1m、5m、15m、30m、1h):OPEN 信号在该频道发布前等待的时间。点击可循环切换。0 = 立即。
Detect channels 会添加在首次设置之后才加入您机器人的频道。Stats 经 Yes/No 确认后发布一份业绩摘要(最近 N 天的胜率、盈利因子、最佳和最差交易、净结果以及当前连胜/连败,N 由“Days covered by the Stats button of the panel”设定)。
底部显示状态:Active / Paused、已发送、排队中和发送失败的消息数。
VIP 频道和免费频道
该EA专为经典模式设计:付费会员即时看到全部内容,免费频道看到的更少、更晚。每个频道在其所在行中有两项相互独立的设置。
1. Content tag
| Full | 所有消息:带 SL/TP 的信号、修改、结果、挂单、截图、报告。 |
| No SL/TP | 信号到达时价位被锁定(SL: 🔒 TP: 🔒),另有结果和撤单消息。不发送 SL/TP 修改和截图(图表截图会暴露价位)。 |
| Results | 只发送已平仓交易、报告和统计。非常适合公开的业绩记录频道。 |
在 No SL/TP 和 Results 频道中,可以通过“Extra line on No SL/TP and Results channels”在每条信号和结果中添加一行邀请语,例如 🔒 Full signals in VIP: t.me/yourvip。
2. Delay tag
延迟只作用于开仓信号——价值正在于此。修改和平仓会立即发送,但始终排在各自的信号之后,因此有延迟的频道绝不会在看到信号之前先看到它的平仓。
| ✅ 典型设置 VIP channel:Full · 0(立即) Free channel:No SL/TP · 15m 结果频道:Results · 0 |
消息编辑器
点击面板中的 pencil(铅笔图标)。编辑器会在旁边打开,左侧是文字,右侧是 Telegram 消息的实时预览。

- ‹ › 在六种消息之间切换:OPEN、CLOSE、PARTIAL、SL/TP、PENDING 和 CANCEL。
- 文本框有 5 行(每行对应 Telegram 中的一行,每行最多 63 个字符——这是 MT5 的限制)。
- INSERT DATA:点击一个数据按钮(Direction、Symbol、Price、SL、TP、Profit...),将其数值加入消息。鼠标悬停在按钮上可查看示例。如果一行已满,该数据会移到下一行。
- EMOJI:点击即可插入。表情以短代码的形式书写,例如 :fire:,在消息发送时变为真正的表情。
- 所有内容都会自动保存。Restore default 恢复原始消息;Send test to Telegram 使用示例数据发布当前消息。
- 如果某一行所需的数据在该事件中不存在,这一行会在发布时被省略:例如 SL/TP 消息中的点数行就不会发送。最终为空的消息不会发布。
消息样式
编辑器顶部的一行可以用一个名称保存整套消息组合。为 VIP 频道写一种样式,为免费频道写一种更简短的样式,两次点击即可切换。

- Save as:该行变为输入框。输入名称,点击 Save,六种消息就会一起保存在该名称下。
- ‹ ›:在已保存的样式之间切换。
- Load:用所选样式的消息替换当前的六种消息。
- Delete:删除所选样式。您当前正在使用的消息不受影响。

样式和当前使用的消息都保存在您的电脑上,重启后依然保留。
每种消息可用的数据
| 所有消息 | {TYPE} {SYMBOL} {TIME} {ACCOUNT} {BROKER} {BALANCE} {EQUITY} {CURRENCY} |
| OPEN | {ICON} {LOTS} {PRICE} {SL} {TP} {RISK} |
| CLOSE / PARTIAL | {ICON} {PROFIT} {PIPS} {OPEN} {CLOSE} {DURATION} {REASON} · PARTIAL 另有 {PCT}(平掉的仓位比例,例如“— CLOSE 50%”) |
| SL/TP | {OLDSL} {SL} {OLDTP} {TP} |
| PENDING | {LOTS} {PRICE} {SL} {TP} |
| CANCEL | {PRICE} {REASON} |
支持 Telegram 格式:<b>粗体</b>、<i>斜体</i>、<u>下划线</u>、<code>代码</code>。
表情代码::rocket: :fire: :check: :x: :up: :down: :target: :stop: :money: :bolt: :green: :red: :warn: :bell: :star: :clock: :moneybag: :chart: :bull: :bear: :tool: :hourglass:
消息使用“Message language”中选择的语言书写(10 种语言)。您编辑过的消息会保留您自己的文字。平仓消息中的 CLOSE 一词和开仓消息中的 Price @ 在所有语言中保持不变(参见下一节)。
截图和水印
开启“Attach a chart screenshot to open/close messages”后,信号会以图表截图的形式发布,消息作为图片说明。截图显示该品种在“Timeframe of the screenshot chart”所设时间周期下的图表。面板永远不会出现在截图中。

为防止信号被盗用,请在“Text stamped on screenshots”中输入您的品牌(例如 @MySignals),并选择其位置:
- 角落——低调,不遮挡价格和时间刻度。
- Large, in the center。
- Diagonal pattern over the whole image——保护最强;请使用 10-20% 的不透明度,以便 K 线仍清晰可读。
与 Telegram to MT5 MultiChannel Copier 配合使用
您的订阅者可以使用 Telegram to MT5 MultiChannel Copier 自动跟单您的频道。该跟单软件无需任何设置即可读取本EA的默认消息:开仓(方向、品种、手数、价格、SL 和 TP)、SL/TP 修改、带平仓百分比的部分平仓以及平仓。每条更新都会回复其对应的信号,因此即使同一品种有多笔交易同时持仓,跟单软件也能将更新应用到正确的交易上。
- Rename symbols in signals:如果您的经纪商对某个品种有自己的命名,可以用订阅者熟悉的名称发布。该参数接受以逗号分隔的“经纪商名称=显示名称”对,例如 WS30=US30,GDAXI=DE40。它适用于所有消息以及编辑器中的 {SYMBOL} 数据。
- 一个频道中的多个账户或EA:每个账户运行各自的 Sender,使用同一个机器人和频道。根据共享该频道的数量设置“Max messages per minute per channel”(参见“高级”);不会丢失或混淆任何消息。
- 自定义消息:跟单软件读取的是默认消息。如果您自己编写消息,请保留其结构;Restore default 可随时恢复默认消息。
在策略测试中试用
在策略测试中无法向 Telegram 发送任何内容,因此 Sender 会在图表上显示它将要发布的内容。请在可视化模式下用任意品种运行:
- 如果没有设置任何频道,它会使用两个演示频道:VIP channel(Full,信号即时发送)和 Free channel(No SL/TP,信号延迟 30 分钟)。
- 它会在测试品种上开立带止损和止盈的演示交易,在盈利时平掉一半仓位,并把止损移到入场价,从而让每种消息都出现。
- 每条消息以气泡形式出现在其频道的列中,回复其对应的信号,就像您的订阅者看到的那样。
- 不使用可视化模式时,消息会写入策略测试的 Journal 选项卡。

演示交易只存在于策略测试中。在真实账户或模拟账户上,Sender 从不开立任何交易。
输入参数说明
每个输入参数都可以保持默认值。下面的名称就是您在输入(Inputs)选项卡中看到的标签。
1. Telegram 连接
| Bot token(文本,默认:空) 可以留空:在面板中粘贴令牌。如果在这里填写,将一直使用该参数,直到您在面板中粘贴另一个令牌。 |
| Chat ID(s)(文本,默认:空) 可以留空:使用 Detect。以逗号分隔的 ID 或 @用户名,例如 -1001234567890,@mychannel。面板中检测到的频道会添加到这些频道之后。 |
| Channel names(文本,默认:空) 面板中显示的易记名称,顺序与 ID 相同。示例:VIP,Free。 |
| Delay per channel in seconds(文本,默认:空) 顺序与 ID 相同。示例:0,900。以面板中设置的延迟为准。 |
| Content per channel(文本,默认:空) 顺序与 ID 相同:0 = Full,1 = No SL/TP,2 = Results。以面板中的选择为准。 |
| Send a test message when the EA starts(true/false,默认:false) 面板上的纸飞机随时都可以发送测试消息。 |
| WebRequest timeout in milliseconds(数字,默认:10000) |
2. 通知事件
| Position opened、Position closed、Partial close of a position、SL/TP modified on an open position、Pending order placed、Pending order modified、Pending order cancelled or expired(true/false,默认:true) 关闭任何您不想发布的事件。 |
| Group SL/TP changes into one message every N seconds(数字,默认:60) 移动止损每隔几秒就会移动一次 SL。为避免刷屏,EA每个周期只发送一条消息,包含最初和最终的价位(“SL: 4346.06 → 4348.46”)。如果价位回到起点,则不发送任何内容。0 = 每次变动发送一条消息。 |
| EA started / stopped on the account(true/false,默认:false) |
3. 消息内容
| Message language(列表,默认:English) English, Español, Português, Deutsch, Français, Italiano, Русский, Türkçe, العربية, 中文。 |
| Use emojis in messages(true/false,默认:true) |
| Position size shown in signals(列表,默认:Lot size) Lot size、Risk % of balance(止损时亏损的金额占余额的百分比——需要设置止损)或 Hidden。Risk % 让任意账户规模的订阅者都能跟单您,而不会暴露您的手数。 |
| Show SL and TP levels(true/false,默认:true) |
| Show profit on close(true/false,默认:true) |
| How profit and balance are shown(列表,默认:In account currency) In account currency、As % of balance 或 Hidden。选择 % 或 Hidden 时,报告和统计不会显示您的余额或净值。 |
| Show profit in pips on close、Show how long the trade was open(true/false,默认:true);Show server time on each message(默认:false) |
| Show masked account number + broker(true/false,默认:false) |
| How SL/TP changes and closes appear in the channel(列表,默认:New message replying to the signal) New message replying to the signal:每条更新都是与其信号关联的回复。Edit the signal message:直接用修改或结果更新信号消息本身——每笔交易只有一条整洁的消息(机器人需要“Edit messages of others”权限)。Edit the signal AND send a reply:两者兼有。如果信号已无法编辑,则发布一条普通消息。 |
| Optional first line / Optional last line(文本,默认:空) 添加到每条消息中。支持格式,例如 <b>MySignals VIP</b> 或 t.me/mychannel。 |
| Extra line on No SL/TP and Results channels(文本,默认:空) 您的 VIP 邀请语,添加到受限频道的信号和结果中。 |
| Rename symbols in signals(文本,默认:空) 以逗号分隔的“经纪商名称=显示名称”对,例如 WS30=US30,GDAXI=DE40。所有消息中的品种都以显示名称发布。 |
| Attach a chart screenshot to open/close messages(列表,默认:No screenshots) No screenshots, On position open, On position close, On open and close。 |
| Timeframe of the screenshot chart(默认:M15),Screenshot width in pixels(默认:1024),Screenshot height in pixels(默认:768) |
| Text stamped on screenshots(文本,默认:空)· Watermark position(默认:Bottom left corner)· Watermark text size in pixels(默认:20)· Watermark opacity %(默认:40)· Watermark color(默认:white) |
4. 过滤器(发送哪些交易)
| Send trades placed manually(true/false,默认:true)· Send trades from EAs(true/false,默认:true) |
| Allowed magics / Blocked magics(文本,默认:空) 以逗号分隔的魔术号。当账户上运行多个策略时,可用它们只发布其中一个策略。过滤器只对新交易生效:已经发布的信号即使之后屏蔽了其魔术号或品种,仍会继续接收它的修改和平仓。 |
| Allowed symbols / Blocked symbols(文本,默认:空) 以逗号分隔的品种,例如 XAUUSD,EURUSD。留空 = 全部。 |
5. 报告(每日 / 每周 / 每月)
| Daily report of closed trades(true/false,默认:false)· Server time HH:MM to send the reports(默认:22:00) |
| Weekly report(true/false,默认:false)· Day of the weekly report(默认:Friday)· Monthly report(true/false,默认:false——在每月 1 日发送上个月的报告) |
| Days covered by the Stats button of the panel(数字,默认:30) |
6. 交互面板
| Show the on-chart control panel(true/false,默认:true)· Which corner the panel is anchored to(默认:Top left)· Panel width in pixels · Panel font size(默认:9) |
| Panel background color、Accent color、Channel enabled color、Channel disabled color、Pause / close color——用于匹配您的图表主题。 |
7. 高级
| Seconds between retries of failed sends(默认:10)· Max retries per message before discarding(默认:5) 如果 Telegram 或您的网络暂时不可用,消息会重试发送,而不会丢失。 |
| Max messages per minute per channel(数字,默认:18) Telegram 限制机器人在一个频道中的发布量;超过这个速率时,消息会等待几秒钟后按顺序发出。当多个 Sender 共用同一个机器人和频道时请调低该值,例如三个账户时设为 6。 |
| Also show a plain status line(默认:false)· Verbose log in the Experts tab(默认:false——仅在技术支持要求时开启) |
在 VPS 上运行
该EA可在任何 24/5 运行 MT5 的 Windows VPS 上工作——设置方法与在您的电脑上完全相同。
在 MQL5 built-in VPS 上(从终端迁移)请注意:
- 在迁移之前允许 https://api.telegram.org(第 3 步);该设置会随迁移一同转移。
- 迁移会复制EA及其输入参数,但不会复制您在面板中的设置。请在输入参数中填写 Bot token、Chat ID(s),如有使用,还需填写 Channel names、Delay per channel in seconds 和 Content per channel,然后再迁移。
- 截图需要图表窗口;在 MQL5 VPS 上请关闭截图。
故障排除
Experts 选项卡(工具箱(Toolbox)→ Experts)总会说明消息未发送的原因。请查找以“Not sent”开头的行。
| 频道中什么都没收到 1. 面板未暂停(暂停按钮不是红色)。2. 该频道所在行已开启。3. 其 content tag 接受该消息(Results 频道不接收开仓消息)。4. 机器人是拥有“Post messages”权限的管理员。5. 用纸飞机发送一条测试消息。 |
| "WebRequest failed, error 4014" https://api.telegram.org 不在 工具 → 选项 → EA交易 中(第 3 步)。请检查拼写,包括 https。 |
| Detect 找不到任何频道 添加机器人后在频道中发布一条新消息,然后再次点击 Detect——Telegram 只显示最近的活动。“Bot busy (another app)”表示有其他程序在使用同一个机器人:请使用专用机器人。 |
| "Invalid token" 令牌已被撤销或输入有误。请重新从 @BotFather 获取,并粘贴到 ⚙ Settings → Change 中。 |
| "Duplicate EA on another chart" 该EA在此账户上加载了两次。请移除一个副本;如果移除的是主副本,静默的副本会自动接管。 |
| 移动止损每分钟只显示一条 SL 消息 这是 SL/TP 变动的合并功能。将“Group SL/TP changes...”设为 0,即可每次变动发送一条消息。 |
| "Edit the signal message" 却发布了新消息 机器人需要在频道中拥有“Edit messages of others”权限,并且信号必须是由本EA发布的。 |
| 在面板输入框中粘贴没有反应 先点击框内,再按 Ctrl+V 或右键 → Paste,然后点击 Save。 |
| 大量交易同时发生时,消息会晚几秒到达 Telegram 限制机器人在一个频道中的发布量(“Max messages per minute per channel”)。不会丢失任何消息。 |
| 某个修改或平仓没有发布 在EA未运行时开立的交易在频道中没有信号,因此其修改和平仓不会发布——Experts 选项卡会说明这一点。EA运行期间开立的交易会保留其信号,重启后也是如此。 |
1.12 新功能
|
1.1 新功能
|
支持
如果有任何功能与描述不符,请在 MQL5 上给我发私信,并附上面板截图和 Experts 选项卡的最后几行。我会亲自帮助您。
产品页面: MT5 to Telegram MultiChannel Sender · 想反向复制信号? Telegram to MT5 MultiChannel Copier


