文章 "如何采用 MQL5 创建用于 Telegram 的 bots" - 页 46 1...394041424344454647484950515253...55 新评论 CodeFx 2021.12.24 23:23 #451 Jefferson Metha #:右上角有一个放大镜图标,也称为搜索图标 左键单击它 然后输入"Binance" 在桌面上按 [ENTER] 键 然后您就会看到它们,无需向下滚动。,欢迎 使用。 谢谢,我找到图书馆了 Chun Kai Yen 2021.12.27 07:50 #452 如何将 getfile 转为 BOT,供用户下载文件 Chun Kai Yen 2021.12.27 08:52 #453 电报机器人 输入文件 如何编写我的英语不好,抱歉,谢谢 Valeriy Yastremskiy 2022.01.31 16:48 #454 好文章。很管用我能问你一个努比亚人的问题吗?在指标中,URL 不允许用于WebRequest。 我的理解是否正确,WebRequest 在指标中不起作用? 我想明白了。同步暂停。它不起作用。太糟糕了。 Vitaly Muzichenko 2022.01.31 16:49 #455 Valeriy Yastremskiy WebRequest 的 URL 我的理解是否正确,WebRequest 在指标中不起作用? 不允许 Valeriy Yastremskiy 2022.01.31 16:56 #456 Vitaly Muzichenko #:没用 但在测试版中可以使用))SendNotification 将不得不使用。不太方便,而且在测试版中不起作用。 Valeriy Yastremskiy 2022.02.11 08:56 #457 请帮帮我,我很困惑。如何通过程序在全局变量中获取聊天的 id,同时知道机器人的令牌。很明显,您可以向不同的机器人询问您的 ID,但我想用编程的方式。 ProcessMessage 函数中有一个循环可以获取我想要 的数字,但它经常返回零,我也记不住。 Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам 2022.02.10www.mql5.com В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н... Valeriy Yastremskiy 2022.02.11 18:53 #458 还有一个问题。如果知道了机器人的标记,是否有可能在不发送机器人消息 的情况下,从 Telegram 获取创建该机器人的用户的聊天 ID。我们可以通过令牌获取机器人的名称。 Arman 2022.02.13 22:00 #459 在 mq5 端,"chat.m_new_one.message_text "可以直接获取用户发送给机器人的信息,这非常好。,但它能否用于接收发送到机器人(与 mt5 EA 通信的机器人)所属频道的信息? seyed mohammad reza aalami 2022.03.24 06:16 #460 朋友们好,我使用以下代码向 Telegram 发送信息。我的问题是,信息不是发送一次,而是发送多次。 请指导我。 #include <Telegram\TelegramL.mqh> input string InpChannelName="";//Channel Name input string InpToken="";//机器人令牌 CCustomBot bot; datetime time_signal=0; //int SendMessage(const string channel_name、 //const string text); //+------------------------------------------------------------------+ //| 专家初始化函数| //+------------------------------------------------------------------+ int OnInit() { time_signal=0; //--- 设置标记 bot.Token(InpToken); //--- 完成 return(INIT_SUCCEEDED); } datetime _opened_last_time = TimeCurrent() ; datetime _closed_last_time = TimeCurrent() ; //+------------------------------------------------------------------+ //| 专家去初始化函数| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| 专家勾选功能| //+------------------------------------------------------------------+ void OnTick() { string message = ""; int total=OrdersTotal(); for(int pos=0;pos<total;pos++){ // 当前订单 ----------------------- if(OrderSelect(pos,SELECT_BY_POS)==false) continue; if(OrderOpenTime() <= _opened_last_time) continue; message += StringFormat("Order opened!\r\nType: %s\r\nSymbol: %s\r\nPrice: %s\r\nSL: %s\r\nTP: %s\r\nTime: %s\r\nTicket:.%s ", order_type(), OrderSymbol(), DoubleToStr(OrderOpenPrice(),MarketInfo(OrderSymbol(),MODE_DIGITS)), DoubleToStr(OrderStopLoss(),MarketInfo(OrderSymbol(),MODE_DIGITS)), DoubleToStr(OrderTakeProfit(),MarketInfo(OrderSymbol(),MODE_DIGITS)), TimeToStr(OrderOpenTime(),TIME_MINUTES), IntegerToString(OrderTicket()) ); int res=bot.SendMessage(InpChannelName,message); if(res!=0) Print("Error: ",GetErrorDescription(res)); } bool is_closed = false; total = OrdersHistoryTotal(); for(int pos=0;pos<total;pos++){ // 历史订单----------------------- if(OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)==false) continue; if(OrderCloseTime() <= _closed_last_time) continue; printf(OrderCloseTime()); is_closed = true; message += StringFormat("Order closed!\r\nTicket: %s\r\nSymbol: %s\r\nClosing Price: %s\r\nTime: %s", IntegerToString(OrderTicket()), OrderSymbol(), DoubleToStr(OrderClosePrice(),MarketInfo(OrderSymbol(),MODE_DIGITS)), TimeToStr(OrderCloseTime(),TIME_MINUTES), DoubleToStr(order_pips(),1) ); int res=bot.SendMessage(InpChannelName,message); if(res!=0) Print("Error: ",GetErrorDescription(res)); } } double order_pips() { double pips; if(OrderType() == OP_BUY) { pips = (OrderClosePrice()-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT); } else { pips = (OrderOpenPrice()-OrderClosePrice())/MarketInfo(OrderSymbol(),MODE_POINT); } return pips/10; } string order_type_to_str(int type) { return StringSubstr(EnumToString((ENUM_ORDER_TYPE)type), 11); } string order_type () { return order_type_to_str(OrderType()); if(OrderType() == OP_BUY) return "BUY"; if(OrderType() == OP_SELL) return "SELL"; if(OrderType() == OP_BUYLIMIT) return "BUY LIMIT"; if(OrderType() == OP_SELLLIMIT) return "SELL LIMIT"; if(OrderType() == OP_BUYSTOP) return "BUYSTOP"; if(OrderType() == OP_SELLSTOP) return "SELLSTOP"; return "{err}"; } //--- 1...394041424344454647484950515253...55 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
右上角有一个放大镜图标,也称为搜索图标
左键单击它
然后输入
"Binance"
在桌面上按 [ENTER] 键
然后您就会看到它们,无需向下滚动。
,欢迎 使用。
谢谢,我找到图书馆了
如何编写
我的英语不好,抱歉,谢谢好文章。很管用我能问你一个努比亚人的问题吗?在指标中,URL 不允许用于WebRequest。
我的理解是否正确,WebRequest 在指标中不起作用?
我想明白了。同步暂停。它不起作用。太糟糕了。
我的理解是否正确,WebRequest 在指标中不起作用?
不允许
没用
但在测试版中可以使用))SendNotification 将不得不使用。不太方便,而且在测试版中不起作用。
请帮帮我,我很困惑。如何通过程序在全局变量中获取聊天的 id,同时知道机器人的令牌。很明显,您可以向不同的机器人询问您的 ID,但我想用编程的方式。
ProcessMessage 函数中有一个循环可以获取我想要 的数字,但它经常返回零,我也记不住。
,但它能否用于接收发送到机器人(与 mt5 EA 通信的机器人)所属频道的信息?
朋友们好,我使用以下代码向 Telegram 发送信息。我的问题是,信息不是发送一次,而是发送多次。
请指导我。