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

MT5 至 Telegram - 专业交易通知库 - MetaTrader 5程序库

显示:
334
等级:
(9)
已发布:
\MQL5\Experts\
testbot.mq5 (42.56 KB) 预览
\MQL5\Include\
TelegramBot.mqh (186.27 KB) 预览
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

为 MetaTrader 5 集成 Telegram Bot 的专业库。向 Telegram 频道和群组发送交易信号、屏幕截图、报告和实时通知的完整解决方案。

主要功能

  • 📨实时交易通知- 开仓/平仓/修改仓位的即时提醒
  • 📸图表截图- 自动捕捉带有注释的图表
  • 📊账户报告- 每日、每周和每月业绩报告
  • ⚠️风险管理警报- 平仓、保证金水平和止损警报
  • 🔄消息队列系统- 具有重试机制的可靠交付
  • 👥多通道支持- 发送到多个 Telegram 聊天室/频道
  • 📝模板系统- 可定制的消息模板
  • 🎯智能速率限制- 防止 API 屏蔽

要求

  • MetaTrader 5 2375 或更高版本
  • Telegram 机器人令牌(从 @BotFather 获取)
  • 聊天或频道 ID
  • 互联网连接

安装

步骤 1:创建 Telegram Bot

  1. 打开 Telegram 并找到 @BotFather
  2. 发送命令 /newbot
  3. 选择机器人名称
  4. 选择用户名(必须以 "bot "结尾)
  5. 保存机器人之父提供的令牌

步骤 2:获取聊天 ID

  1. 将机器人添加到群组/频道或创建私人聊天室
  2. 向机器人发送任何消息
  3. 转到: https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
  4. 在回复中找到聊天 ID

第 3 步:设置 MT5

  1. 打开 MT5 → 服务 → 设置 → 智能交易系统
  2. 勾选 "允许以下 URL 的 WebRequest "框
  3. 添加 URL: https://api.telegram.org
  4. 点击确定

第 4 步:安装文件

  1. 将 TelegramBot.mqh 复制到 MQL5/Include/ 文件夹。
  2. 将 TelegramBot_Example.mq5 复制到 MQL5/Experts/ 文件夹。
  3. 编译这两个文件

快速启动

#include <TelegramBot.mqh>

CTelegramBot bot;

int OnInit()
{
    // 初始化机器人
    if(!bot.Initialize("YOUR_TOKEN"., "YOUR_CHAT_ID"))
    {
        Print("机器人初始化失败");
        return INIT_FAILED;
    }
    
    // 发送测试信息
    bot.SendMessage("机器人成功连接!");
    
    // 发送图表截图
    bot.SendChartScreenshot("当前市场形势"。);
    
    return INIT_SUCCEEDED;
}

API 参考

基本消息

bool SendMessage(string text);
bool SendHTMLMessage(string text);
bool SendMarkdownMessage(string text);
bool SendMessageToAll(string text);

交易信号

bool SendTradeSignal(ENUM_SIGNAL_TYPE type, string symbol, double price);
bool SendPositionOpened(ulong ticket, string symbol, ENUM_POSITION_TYPE type, double volume, double price);
bool SendPositionClosed(ulong ticket, string symbol, double profit, double commission, double swap);

媒体文件

bool SendPhoto(string file_path, string caption);
bool SendDocument(string file_path, string caption);
bool SendChartScreenshot();
bool SendChartScreenshot(string caption);

报告

bool SendAccountStatus();
bool SendDailyReport();
bool SendWeeklyReport();
bool SendMonthlyReport();

风险管理

bool SendRiskAlert(double drawdown_percent);
bool SendMarginWarning(double margin_level);
bool SendStopOutWarning();

专家顾问示例

软件包中包含一个功能齐全的专家顾问示例:

  • 带通知的仓位监控
  • 交易事件自动截图
  • 定期更新账户状态
  • 风险管理警报
  • 每日报告
  • 模拟交易信号

信息格式

HTML 格式(推荐)

string message = "<b> Жирный текст</b>\n";
message += "<i> Курсив</i>\n";
message += "<code> Моноширинный код</code>\n";
message += "<a href='http://example.com'> Ссылка</a>";
bot.SendHTMLMessage(message);

Markdown 格式

string message = "粗体文字{n}";
message += "斜体"。;
message += "单行代码"。;
message += "[链接](http://example.com)";
bot.SendMarkdownMessage(message);

性能

  • 信息速度: 每分钟最多 30 条信息
  • 文件大小限制: 每个文件 50MB
  • 信息长度 4096 个字符
  • 签名长度: 1024 个字符
  • 队列大小: 100 条信息
  • 平均响应时间: 50-200 毫秒

错误处理

该库包含复杂的错误处理功能:

  • 连接检查
  • 超限保护
  • 失败时自动重试
  • 失败信息队列系统
  • 详细的错误记录

支持

  • 文档: 源代码中包含完整的应用程序接口文档
  • EA 示例: 包含所有功能的工作示例
  • 调试模式: 内置调试功能,用于故障排除

版本历史

版本 1.0.0 (2024)

  • 首次发布
  • 完全集成 Telegram Bot API
  • 支持多个频道
  • 排队系统
  • 模板引擎
  • 风险管理警报

许可证

本程序库 "按原样 "提供,供 MetaTrader 5 使用。个人和商业用途均可免费使用。

作者

外汇交易蓝图
(Stepan Sinic)

免责声明

本软件按 "原样 "提供,不提供任何形式的担保。交易涉及重大亏损风险,并不适合所有投资者。过去的业绩并不代表未来的结果。


如果您觉得此库有用,请在 MQL5 CodeBase 上对其进行评价!

详细设置说明

在 Telegram 中创建机器人

  1. 找到 BotFather

    • 打开 Telegram
    • 在搜索中输入 @BotFather
    • 按开始
  2. 创建新机器人

    • 发送 /newbot 命令
    • 输入机器人名称(例如:"我的交易机器人)
    • 输入机器人的用户名(例如:my_trading_bot)
    • 保存形式为123456789:ABCdefGHIjklMNOpqrsTUVwxyz
  3. 配置机器人

    • 发送 /setprivacy,选择 DISABLE(用于在群组中工作)。
    • 发送 /setjoingroups,选择 ENABLE(加入群组)

获取聊天 ID

用于私人消息:

  1. 与机器人开始对话
  2. 发送任何信息
  3. 在浏览器中打开: https://api.telegram.org/bot<TOKEN>/getUpdates
  4. 找到 "chat":{"id":123456789} - 这是你的聊天 ID

对于群组

  1. 将机器人添加到群组
  2. 在群组中发送消息
  3. 在浏览器中打开: https://api.telegram.org/bot<TOKEN>/getUpdates
  4. 查找 "chat":{"id":-123456789}--对于群组来说是负数

对于频道:

  1. 添加一个机器人为频道管理员
  2. 向频道发送消息
  3. 或使用 @ 用户名作为聊天 ID

常见问题解决方案

WebRequest 错误:

解决方案: 1. 工具 → 设置 → 顾问 2.允许以下网址的 WebRequest ✓ 3.添加: https://api.telegram.org 4.重新启动 MT5

机器人没有响应:

检查: 1. 令牌正确 2.聊天 ID 正确 3. 互联网连接 4. WebRequest 设置

消息无法通过:

可能原因: 1.超过 API 限制(30 条信息/分钟) 2.信息中的 HTML 格式不正确 3.信息太长(>4096 个字符)

使用示例

发送买入信号

bot.SendTradeSignal(SIGNAL_BUY, "EURUSD", 1.1850, 1.1800, 1.1900);

发送带注释的截图

string caption = "<b> Точка входа</b>\n";
caption += "Пара: EURUSD\n";
caption += "Тип: BUY\n";
caption += "Цена: 1.1850";
bot.SendChartScreenshot(caption);

发送账户状态

bot.SendAccountStatus();
// 自动发送余额、股本、保证金等信息。

设置每日报告

// 在 OnTimer() 顾问中
if(TimeHour(TimeCurrent()) == 23 && TimeMinute(TimeCurrent()) == 0)
{
    bot.SendDailyReport();
}

缩水警报

double drawdown = CalculateDrawdown(); // 您的计算函数
if(drawdown > 20.0) // 缩编超过 20
{
    bot.SendRiskAlert(drawdown);
}

信息结构

开仓

[POSITION OPENED] ↑
================
Ticket: #12345678
Symbol: EURUSD
Type: BUY
Volume: 0.10
Price: 1.18500
Time: 2024.01.15 10:30
================

平仓

[POSITION CLOSED]
================
Ticket: #12345678
Symbol: EURUSD
Profit: +125.50 USD
Commission: -2.00
Swap: -0.50
Total: +123.00 USD
Time: 2024.01.15 14:45
================

每日报告

[DAILY REPORT]
================
Date: 2024.01.15

ACCOUNT SUMMARY
----------------
Balance: 10,125.50 USD
Equity: 10,250.00 USD
Floating P/L: +124.50 USD

TRADING ACTIVITY
----------------
Trades Today: 5
Today's Result: +250.00 USD
Open Positions: 2

BOT STATISTICS
----------------
Messages Sent: 45
Signals Sent: 8
Success Rate: 98.5%
================

由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/63585

MT5 to Telegram Professional Library MT5 to Telegram Professional Library

适用于 MetaTrader 5 的专业 Telegram Bot 集成库。向 Telegram 频道和群组发送交易信号、屏幕截图、报告和实时通知的完整解决方案。

Arbitrage Triangle EURGBP-EURUSD-GBPUSD Arbitrage Triangle EURGBP-EURUSD-GBPUSD

EA 可识别理论汇率与实际汇率之间的差异,以执行风险最小化的交易机会。

时间栏 时间栏

一个简单的信息指示器,显示条形图关闭前的剩余时间,以及条形图打开后的时间和当前时间。

动态分形 动态分形

标准指标分形的修改