【问题标题】:how to send MT4 Notifications to Telegram channel?如何将 MT4 通知发送到 Telegram 频道?
【发布时间】:2022-03-28 21:45:42
【问题描述】:

我已经创建了一个指标信号并想将信号发送到电报频道,我已经使用电报 BOT(API KEY)创建了电报频道。

我尝试在 mt4 上启用电报,但它似乎是为 EA 而不是推送通知。

有人有什么建议吗?

【问题讨论】:

    标签: telegram telegram-bot metatrader4


    【解决方案1】:

    在 MT4 中,我会向一些 REST API 发出 get http 请求。您的 MT4 代码我会调用如下代码

    http://XYZ.ABC/AccountNumber/Symbol/Signal

    然后无论端点是什么,我都会读取该 URL 并将其拆分。将其拆分后,我将获取该数据并通过您想要使用的任何方法将其发布到电报,使用您的 API 密钥与电报交谈以访问您拥有的频道。

    【讨论】:

      【解决方案2】:

      如何从 MetaTrader 4/5 向 Telegram 发送警报 为了从 MetaTrader 4/5 向 Telegram 发送警报,您需要:

      从 ProfitRobots 机器人获取 Telegram 密钥 将通知库安装到您的 MetaTrader 4/5 修改您的指标/专家 如何获取 Telegram 的密钥 步骤 1. 查找 Profit Robots Bot 使用此链接或仅搜索“Profit Robots Bot”。有一些假机器人,所以请确保您使用的是真实机器人(如屏幕截图所示)。

      第 2 步。开始对话。 开始与 Profit Robots Bot 对话。它应该回复你并给你一把钥匙。这是您的私人钥匙。该密钥的所有消息都将由机器人转发到您与该机器人的私人对话中。

      您始终可以使用“显示我的钥匙”按钮来获取所有钥匙(您可以拥有多个钥匙)。

      生成新密钥或将其删除 您可以重新生成任何密钥。为此,您需要:

      第 1 步。按下“管理密钥”按钮

      第 2 步。通过单击其索引或键入“/number”来选择要重新生成的密钥

      第 3 步。按“重新生成”

      机器人将生成一个新密钥。

      要删除密钥,您需要执行相同的步骤,但使用“删除”按钮而不是“重新生成”按钮。但只能删除频道/组键。

      创建频道或群组密钥。 您可以向 Telegram 频道/群组发送消息。每个频道或组都有自己的密钥。按照接下来的步骤获取该密钥。

      步骤 1. 按“+频道键”按钮。

      机器人会向您发送简短的指令和密码以验证频道或群组。

      第 2 步。将 Profit Robots Bot 添加到您的频道/组或以管理员身份添加 点击您的频道/群组名称。

      Telegram 将显示一个窗口,其中包含有关您的频道的信息。按 3 个点进入菜单并选择“管理群组”或“管理频道”。

      在“编辑组”窗口中点击“管理员”。

      按下“添加管理员”按钮。

      搜索“@@profit_robots_bot”并选择 Profit Robots Bot。

      点击“确定”。

      对于一个组,您可以取消选择所有权限并单击“保存”按钮。关闭所有窗口。

      机器人将自动检测到新组的添加,并为您提供密钥。

      对于频道,请留下机器人的“发布消息”权限。

      关闭所有窗口,并将步骤 1 中的验证码发布到您的频道中。“写入密钥”允许您将消息发布到频道中。 “读取密钥”允许您从 MetaTrader 4/5 和 FXTS2 获取发布到此频道的密钥。

      机器人应该会检测到验证码并为您提供该频道的密钥。您现在可以从您的频道中删除验证码了。

      如何将通知库安装到您的 MetaTrader 4/5 运行 ProfitRobots 安装程序。它会显示您 PC 上安装的所有 MetaTrader 终端。

      选择你需要的,选择通知选项并点击“安装”。

      修改指标/专家的代码以支持新的警报类型 本手册适用于开发人员。如果您不是开发人员,请考虑雇用一名开发人员。您可以在 Upwork 上找到开发人员或使用 FXCodeBase 等免费开发服务。

      您需要为上面收到的密钥提供一个选项。

      或者您也可以对其进行硬编码。

      通知库的导入。你可以使用这段代码来做到这一点

           input string   advanced_key             = ""; // Advanced alert key
           #import "AdvancedNotificationsLib.dll"
           void AdvancedAlert(string key, string text, string instrument, string timeframe);
           #import
          
          Find a place in the code where the alerts are sent. Usually, it's an Alert, PlaySound, or SendNotification function calls. Add call of AdvancedAlert() function:
          
          if (signal)
          {
              Alert(message);
              AdvancedAlert(advanced_key, message, "", "");
          }
      

      就是这样。只是不要忘记在指标/专家参数中允许 DLL 导入。

      AdvancedNotificationsLib.dll 下载 https://profitrobots.com/Installer/setup.exe

      【讨论】:

        【解决方案3】:

        您可以尝试 MetaApi https://metaapi.cloud 云服务,它提供对 MetaTrader 4 和 MetaTrader 5 账户的 REST API 和 WebSocket API 访问。

        MetaApi 服务提供了一个 SDK,它公开了所谓的real-time streaming API。使用此 API,您可以实时收听您的 MT 账户上的仓位或订单更新事件,并通过执行自定义代码对其做出反应(在您的情况下,它将是将信号提交到 Telegram 频道的代码)。

        通过这种方式,您可以完全使用高级语言(如 javascript、python 或 Java)对您的应用程序进行编码,其中 Telegram 集成可用且易于使用。

        SDK:https://metaapi.cloud/sdks(javascript、python 和 Java SDK 于 2022 年 3 月提供)

        【讨论】:

          猜你喜欢
          • 2022-01-24
          • 2018-06-07
          • 2021-02-08
          • 1970-01-01
          • 2018-10-25
          • 2018-02-06
          • 2016-06-03
          • 1970-01-01
          • 2020-08-20
          相关资源
          最近更新 更多