请观看如何免费下载自动交易
请在Telegram上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
EA

ExMachina Telegram Bridge - MetaTrader 5EA

发布者:
[删除]
显示:
46
等级:
(5)
已发布:
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

功能


EA 通过两种独立机制检测交易事件:OnTradeTransaction 处理程序用于实时检测,而定期交易历史扫描则作为备用机制。重复数据删除系统可确保您不会两次收到相同的通知,即使两个机制都在同一事件上触发。


支持的通知

- 交易开启:符号、方向(买入/卖出)、成交量、价格、止损价、止赢价、神奇数字、交易票据

- 交易关闭:符号、交易量、收盘价、总盈亏、佣金、掉期、净盈亏、更新余额

- 修改 SL/TP:并排显示新旧值(例如 SL:1924.00 → 1926.50)

- 挂单:类型(买入限价、卖出限价、买入止损、卖出止损、买入止损限价、卖出止损限价)、价格、成交量

- 仓位反转:新方向、平仓盈亏

- 存款和取款:金额和最新余额

- 定期账户摘要:余额、净值、自由保证金、浮动盈亏、时段盈亏、未平仓合约、当日最高/最低净值、缩水百分比

- 连接和断开信息以及会话统计



设置 - 具体步骤


您需要 Telegram 提供两样东西:机器人令牌和您的聊天 ID。


步骤 1:创建 Telegram 机器人

打开 Telegram,搜索 @BotFather 并开始对话。发送 /newbot 命令。BotFather 会要求你选择一个显示名称(随你喜欢)和一个用户名(必须以 "bot "结尾)。创建后,BotFather 会向您发送一个 API 令牌--一个长字符串,看起来像 7123456789:AAH1bCdEfGhIjKlMnOpQrStUvWxYz。复制此令牌。


步骤 2:获取聊天 ID

在 Telegram 中搜索 @userinfobot(或 @getmyid_bot)并向其发送任何信息。它会回复你的数字聊天 ID(例如 123456789)。复制这个数字。


群组通知:将机器人添加到 Telegram 群组,然后在群组中使用 @getidsbot 获取群组聊天 ID(负数,例如 -1001234567890)。


第 3 步:与机器人开始对话

这一步很容易忘记。在 Telegram 搜索中通过机器人的用户名找到它,打开后按 "开始"。如果跳过这一步,Telegram 的 API 会拒绝所有消息。


步骤 4:在 MetaTrader 5 中允许 WebRequest

在 MT5 中,进入工具 → 选项 → 专家顾问。选中 "允许对列出的 URL 进行 WebRequest 请求"。单击 "添加 "并准确输入: https://api.telegram.org - 然后单击 "确定"。这是一次性配置。如果跳过这一步,将在专家选项卡中看到 WebRequest 错误 4014,并且不会发送任何信息。


第 5 步:安装 EA

将 ExMachina_TelegramBridge.mq5 复制到您的 MQL5/Experts/ 文件夹(通过 MT5 中的文件 → 打开数据文件夹访问)。打开 MetaEditor (F4),导航到该文件,然后按编译 (F7)。您应该可以看到 0 个错误和 0 个警告。


第 6 步:附加到图表

将 EA 从导航面板拖到任何图表上。在设置对话框中,粘贴您的机器人令牌和聊天 ID。单击 "确定"。几秒钟内,您就会在 Telegram 中收到一条连接信息,显示您的账号、服务器、余额、净值和未结头寸数。



截图_ExM_telegram_bridge

输入参数


Telegram 配置:

- 机器人令牌:您从 @BotFather 获得的 API 令牌(必填)

- 聊天 ID:您的数字聊天 ID(必填,可以是群组 ID)


通知设置:

- 交易打开时通知:true/false(默认:true)

- 交易关闭时通知:true/false(默认值:true)

- 修改 SL/TP 时通知:true/false(默认值:true)

- 通知挂单:true/false(默认为 true)

- 入金/出金时通知:true/false(默认:true)


账户摘要:

- 摘要报告间隔:关、每 1 小时、每 4 小时、每 8 小时、每 24 小时(默认:每 4 小时)

- 在摘要中包括权益:真/假(默认值:真)

- 包括缩水信息:真/假(默认值:真)


显示和样式:

- 信息样式:最小(紧凑的单行)、详细(带标签的完整信息)或 Emoji-rich(带 Unicode 图标的详细信息)。默认值:丰富的表情符号。

- 在图表上显示仪表板:true/false(默认:true)

- 仪表盘背景、文本颜色、强调色:可自定义。默认使用 ExMachina 钢调色板。


过滤器:

- 符号筛选器:以逗号分隔的要监控的符号列表。留空表示所有符号。例如"EURUSD,XAUUSD

- 最小通知手数:触发通知的最小交易量。0 = 无过滤。用于忽略微型手。

- 魔数过滤器:只通知具有此特定魔数的交易。-1 = 所有交易(包括手动交易)。



消息样式


最小 - 紧凑的单行格式:

XAUUSD | 买入 | 0.50 手 @ 1928.45


详细 - 带标签字段的结构:

交易关闭

━━━━━━━━━━━━━━━━━━━━

符号:XAUUSD

收盘:卖出(收盘买入)

成交量: 0.50 手

价格: 1935.20

───────────────────

毛盈亏: +$340.00

佣金: -$2.50

掉期: -$0.00

净盈亏: +$337.50

余额:10,585.00 美元

交易 #182947363


表情符号丰富(默认)--与 "详细 "相同,但每个字段都有 Unicode 图标。交易开仓时,绿色圆圈表示买入,红色圆圈表示卖出。平仓时显示一个对勾表示盈利,一个叉表示亏损。



过滤器


如果在同一账户上运行多个 EA,"神奇数字 "过滤器尤其有用。将其设置为特定 EA 的神奇数字,就只能收到该 EA 的通知。如果设置为-1,则接收所有通知(包括手动交易)。


符号过滤器接受以逗号分隔的列表:"XAUUSD、EURUSD、GBPUSD"。只有这些符号的交易才会产生通知。留空则监控所有符号。



账户摘要


定期摘要包括:余额、净值、自由保证金、未平仓头寸数、总浮动盈亏(包括掉期)、EA 启动以来的时段盈亏、当日最高净值、当日最低净值以及从当日最高点计算的缩水百分比。


这对需要远程监控每日缩减限额的道具公司交易员非常有用。在活跃会话期间,将时间间隔设置为 1 小时。



图表上的仪表板


图表左上角有一个小巧的状态面板,显示

- 连接状态:连接(绿色)或断开(红色)

- 机器人用户名

- 运行计数器:已发送和发送失败的信息

- ExMachina 标语


仪表盘默认使用 ExMachina 钢调色板(背景 C'8,10,18',重音 C'0,180,220'),可通过显示输入自定义或禁用。



如何测试


第 1 步:将 EA 附加到模拟账户的任何图表上。检查 "专家 "选项卡中的 "已连接到 @YourBotName 机器人"。查看 Telegram 上的连接信息。


第 2 步:手动打开一个小的市场订单(例如 0.01 手 EURUSD)。您应该会收到 "TRADE OPENED(交易已开)"通知。


步骤 3:修改未结头寸的 SL 或 TP(右键单击 → 修改)。您将收到 "SL/TP MODIFIED "通知,显示旧值 → 新值。


步骤 4:平仓。您将收到 "TRADE CLOSED"(交易平仓)通知,并显示盈亏明细。


步骤 5:下挂单(例如限价买入)。您应该会收到 "PENDING ORDER PLACED(挂单已下)"通知。


第 6 步:从图表中删除 EA。您应该会收到一条 "Disconnected(已断开连接)"消息,其中包含会话统计信息。


快速浏览器测试:要在使用 EA 前验证您的令牌和聊天 ID,请在任何浏览器中粘贴此 URL(替换占位符):

https://api.telegram.org/bot<YOUR_TOKEN>/sendMessage?chat_id=<YOUR_CHAT_ID>&text=Test


如果您在响应中看到 {"ok":true},说明您的凭据是正确的。


快速烟雾测试脚本:将此保存为 MQL5/Scripts/ 中的脚本(非 EA),编译并在演示图表上运行:


#include <Trade\Trade.mqh>

void OnStart()

{

CTrade trade;

trade.Buy(0.01, "EURUSD");

Sleep(3000);

for(int i = PositionsTotal()-1; i >= 0; i--)

{

if(PositionGetSymbol(i) =="EURUSD")

trade.PositionClose(PositionGetTicket(i));

}

}


您应该会在 Telegram 中收到开仓和平仓通知。


重要:此 EA 在策略测试器中不起作用。策略测试器不支持 WebRequest(网络调用)。EA 必须在可上网的实时或模拟图表上运行。



与其他 EA 同时运行


MT5 只允许在每个图表上运行一个 EA。将 Telegram Bridge 附加到单独的图表(任何符号)上。它将监控整个账户,而不仅仅是它所连接的图表。无论桥接器在哪个图表上运行,都会检测到所有 EA 的所有交易和手动交易。


使用 "魔术号码 "过滤器将通知限制为特定的 EA。



故障排除


未收到信息:

1.检查 https://api.telegram.org 是否在工具 → 选项 → 智能交易系统 → 允许 WebRequest 中 2.

2.验证机器人令牌和聊天 ID 是否正确(无多余空格) 3.

3.确保在机器人的 Telegram 聊天中按了 "Start(开始)"。

4.检查专家选项卡(查看 → 工具箱 → 专家)中的错误信息


WebRequest 错误 4014:Telegram URL 不在允许列表中。这是最常见的问题。


HTTP 401 未授权:机器人令牌无效。请从 @BotFather 重新复制。


HTTP 400 Bad Request(错误请求):聊天 ID 错误,或者您尚未与机器人开始对话。


HTTP 429 请求过多:Telegram 速率限制。EA 有内置的重试逻辑和回退功能。只有在交易频率极高时才会出现这种情况。


EA 显示 INIT_PARAMETERS_INCORRECT:机器人令牌和聊天 ID 都是必填项。确保这两个字段都不是空的。


仪表盘不显示:确保 EA 输入中的 "在图表上显示仪表盘 "设置为 true。



技术细节


- 交易检测:通过 OnTradeTransaction(实时)+ 交易历史每 2 秒轮询一次(后备)的双重机制

- 重复数据删除:处理过的交易存储在内存中(跟踪最近 500 笔交易)

- SL/TP检测:在每个跳动点比较仓位快照阵列,任何变化都会触发

- Telegram API:通过 WebRequest 进行 HTTPS POST、URL 编码有效载荷、Markdown 解析模式

- 重试逻辑:每条信息最多可重试 3 次,重试之间有 1 秒延迟,HTTP 429 有 3 秒延迟

- 连接测试:在启动时调用 /getMe 端点,以验证令牌并检索机器人名称

- 摘要计时器:EventSetTimer(60) 检查配置的时间间隔是否已过

- 图表对象:所有仪表盘对象都使用前缀 "EXTB_",并在删除时清理干净

- 无外部 DLL,无第三方服务器。通过 HTTPS 直接进行 MT5 → Telegram 通信。



本 EA 免费开源。欢迎反馈、评价和建议。


ExMachina Trading Systems - Precision before profit.


由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/70383

ExMachina TradePilot ExMachina TradePilot

专业的交易管理面板:一键式买入/卖出,自动调整手数,智能追踪止损(ATR/固定/蜡烛图),自动盈亏平衡,多TP部分平仓系统(TP1/TP2/TP3),以及一键式挂单。为严肃的交易者提供一体化订单管理。

ExMachina Prop Dashboard ExMachina Prop Dashboard

实时道具公司规则跟踪器:每日缩水、最大缩水、盈利目标进度、交易天数和挑战状态,并配有可视化进度条。预设 FTMO、MyFundedFX、E8、TFT 和 Bulenox。纯指标 - 无交易干扰。

CRT Indicator(STF) : Explorer CRT Indicator(STF) : Explorer

这是一个不到 100 行的简约 CRT(蜡烛区间理论)可视化工具,揭示了 "完美 "的单一时间框架设置在真实市场中的实际效果。

离散 离散

离散技术指标由价格和交易量的变化决定。