文章 "如何采用 MQL5 创建用于 Telegram 的 bots" - 页 20

 
Deyan Ivanov:

你好


我在 Telegram Bot EA mt5 上遇到了一个小问题--我可以在设置中添加额外模板,但从 Telegram 上测试时,却只能加载默认模板。

有任何建议或帮助吗?


在此先表示感谢!

有什么提示吗?
 
Alexandr Mordashov:

请给我一些建议。我在终端设置 中添加了"https://api.telegram.org " 权限。通过浏览器,请求被成功执行https://api.telegram.org/bot&lt;token>/sendMessage?chat_id=<id>&text=test

下面的代码行已执行,但 SendMessage 返回错误代码 5203(HTTP 请求执行时出错)。bot.GetMe() 方法也返回同样的 5203 错误。

问题出在哪里?谢谢!


亚历山大

你是怎么解决的?


我在 Chrome 浏览器中运行了 VPN,结果仍然是 5203。

明天我在 amazan vps 上试试。

 
非常感谢,效果很好!
 
Tj1:
非常感谢,它工作得非常好!

到底是什么在起作用?您使用的是这篇文章中的库吗?您使用的是 MT4 还是 MT5?

 
Sergey Kolemanov:

到底是什么在起作用?您使用的是本文中的库吗?您使用的是 MT4 还是 MT5?

两者都能使用。

 
Andrey Khatimlianskii:

双管齐下。

安德鲁,问题是这个程序库已经停止工作一段时间了,即使通过 VPN 也是如此,返回错误:HTTP 请求失败。从人们同时开始在本主题和其他主题中讨论 telegram API 问题这一事实来看,问题确实存在。似乎只有 MT5 找到了解决方案,但它们使用的库与此库不同。可能是在 telegram 开始只接受通过 TLS 1.2 协议发出的请求后,问题才出现的......总的来说,我还没有找到问题的解决方案,这里有人写道,你写道一切正常。


 
Sergey Kolemanov:

安德烈(Andrei),事情是这样的,自从一段时间以来,即使通过 VPN,这个库也停止工作,返回错误:HTTP 请求失败。从人们同时开始在本主题和其他主题中讨论 telegram API 的问题这一事实来看,问题是存在的。似乎只有 MT5 找到了解决方案,但它们使用的库与此库不同。可能是在 telegram 开始只通过 TLS 1.2 协议接受请求之后,问题才出现的...总的来说,我还没有找到问题的解决方案,这里有人写道,你写道一切正常。

你在浏览器中打开了https://api.telegram.org/ 吗?

您是如何使用这个库的?你是自己添加了什么,还是运行了文章中的示例?

 
Andrey Khatimlianskii:

https://api.telegram.org/ 是否在您的浏览器中打开?

是的,打开了,启用了 VPN,VPN 不在浏览器中,电脑上有一个单独的程序,所有流量都通过它传输。

Andrey Khatimlianskii:

您是如何使用该库的?你是自己添加了什么,还是运行了文章中的示例?

我只使用 Telegram.mqh 库,其他都是我自己写的,简而言之就是发送/接收交易信号。

现在我再次下载了库,允许了地址,运行了 Telegram_Bot_EA 文章中的示例 - 同样的错误:HTTP 请求失败。

附注:在 MT4 上进行了测试

 

您好!我设法做到了,因为它们也适用于私人频道,一切都在 Telegram.mqh 文件中,文件中有一部分是"@"所在的位置,我所做的是用"-"替换,在用变量 InpChannelName 放置频道名称时,放置以下内容"-10014749xxxxx",即机器人频道的令牌

附加的文件:
bot.JPG  22 kb
bot1.JPG  27 kb
bot_2.JPG  20 kb
 
Sergey Kolemanov:

是的,它打开了,VPN 启用了,VPN 不在浏览器中,电脑上有一个单独的程序,所有流量都通过它。

我只使用 Telegram.mqh 库,其他都是我自己写的,简而言之就是发送/接收交易信号。

现在我再次下载了库,允许地址,运行了 Telegram_Bot_EA 文章中的示例 - 同样的错误:HTTP 请求失败。

附注:在 MT4 上进行了测试

也许 MT4 允许流量绕过 VPN?有可能,有一些程序可以做到这一点。

但我会做得更简单:

  • 我会在同一台电脑上测试 MT5。
  • 在俄罗斯境外的服务器上测试相同的 MT4 智能交易系统。

我可以给你我的 EA 让你检查,但我肯定结果是一样的,问题出在基本的 WebRequest 上。

您也可以使用带有 wininet.dll 和普通 Windows WebRequest 的变体。这里发布了一些示例,请查找。