文章 "如何采用 MQL5 创建用于 Telegram 的 bots" - 页 51 1...444546474849505152535455 新评论 Andrey Kaunov 2023.01.30 10:06 #501 Valeriy Yastremskiy #:是的,我不明白,我也不知道,我也不能用名字发送给机器人,只能用 ID 发送。如何发送给自己?或者说,你怎么在购物车里找到自己的 ID?我只能发给机器人。 我可以通过 "获取我的 ID "机器人获取任何 ID Valeriy Yastremskiy 2023.01.30 10:24 #502 Andrey Kaunov #:我通过 "获取我的身份证 "机器人获取任何身份证。 是的,我把我的 ID 和机器人搞混了。我们通过自己的机器人向自己发送私人信息))))。 摘自安德烈的文章 需要注意的是,在这些例子中,我们将聊天 ID 作为消息的收件人。在用户开始与机器人聊天之前,我们无法提前知道他/她的收信人。此外,我们也无法通过用户的手机号码或 @ 用户名联系到他/她。这样做显然是出于安全考虑,以免机器人发送垃圾邮件。但是机器人可以通过第二个发送消息选项,用用户名在频道上发布消息。 [删除] 2023.02.10 09:33 #503 您好、 我想在搜索文件中添加一种新的语言,但我不明白这些十六进制参数的含义: TLanguage languages[6]= { {"English","\xF1EC\xF1E7","en"}, {"Русский","\xF1F7\xF1FA","ru"}, {"中文", "\xF1E8\xF1F3","zh"}, {"西班牙语","\xF1EA\xF1F8","es"}, {"Deutsch","\xF1E9\xF1EA","de"}, {"日本語", "\xF1EF\xF1F5","ja"} }; 例如,英语中的 \xF1EC\xF1E7 是什么意思? Sergei Lebedev 2023.04.17 17:31 #504 上周我遇到了一些故障--从 Telegram 读取消息队列的功能停止工作了。也就是说,发送出去的信息,包括文本和截图,都会像以前一样发送,但 GetUpdates() 函数却什么也不返回,聊天队列 总是空的。 有人遇到过这种故障吗?原因是什么? lbgraf 2023.04.20 22:36 #505 您好! 非常感谢你的这种工作!!!! 请问如何更改字体、背景和文字颜色? 谢谢 Edgar Akhmadeev 2023.04.21 19:02 #506 lbgraf #: 您好! 非常感谢你的这种工作!!!! 请问如何更改字体、背景和文字颜色? 谢谢 Telegram API 文档中描述了所有标签。 Bui Huy Dat 2023.04.25 05:05 #507 你们好、 我已经完成了从电报向 mt5 发送信息的代码,但我遇到了一个小错误,在同时发送多个关闭命令时,只能发送一个订单,而不能发送多个订单。 谁能帮我看看我哪里出错了? //--- 现在处理平仓清单 max_time = 0; double day_profit = 0; bool is_closed = false; int totalhis = hist_position.PositionsTotal(); for(int i = 0; i < totalhis; i++) { //--- pos_symbol = PositionGetSymbol(i); // 获取符号名称 digits = (int)SymbolInfoInteger(pos_symbol, SYMBOL_DIGITS); // 获取价格的位数 //--- 根据关闭位置在列表中的索引选择该位置 if(hist_position.SelectByIndex(i)) { ulong ticket = hist_position.Ticket(); datetime time_open = hist_position.TimeOpen(); ulong time_open_msc = hist_position.TimeOpenMsc(); datetime time_close = hist_position.TimeClose(); ulong time_close_msc = hist_position.TimeCloseMsc(); long type = hist_position.PositionType(); string type_desc = hist_position.TypeDescription(); long magic = hist_position.Magic(); long pos_id = hist_position.Identifier(); double volume = hist_position.Volume(); double price_open = hist_position.PriceOpen(); double price_sl = hist_position.StopLoss(); double price_tp = hist_position.TakeProfit(); double price_close = hist_position.PriceClose(); double commission = hist_position.Commission(); double swap = hist_position.Swap(); double profit = hist_position.Profit(); string symbol = hist_position.Symbol(); string open_comment = hist_position.OpenComment(); string close_comment = hist_position.CloseComment(); string open_reason_desc = hist_position.OpenReasonDescription(); string close_reason_desc = hist_position.CloseReasonDescription(); string deal_tickets = hist_position.DealTickets(","); //--- int deals_count = HistoryDealsTotal(); // 所选位置的 int orders_count = HistoryOrdersTotal(); // 所选位置的 if(TimeToString(TimeCurrent(), TIME_DATE) == TimeToString(time_close, TIME_DATE)) { day_profit += profit + swap + commission; } if(time_close <= _closed_last_time) continue; //is_closed = true; string msg = StringFormat ( "ACCOUNT: { #%s } \n" + "------------ { CLOSE } -----------\n" + "CLOSE ORDER - %s %s\n" + "Time (GTM+0): %s\n" + "------------ { CLOSE } -----------\n" + "Volume: %s\n" + "Open Price: %s\n" + "Close Price: %s\n" + "Gain/Loss: %s USD\n" + "---TOTAL PROFIT TODAY---\n" + "%s USD\n", IntegerToString(login), symbol, PositionTypeToString(type), TimeToString(time_close, TIME_DATE | TIME_SECONDS), DoubleToString(volume, 2), DoubleToString(price_open, digits), DoubleToString(price_close, digits), DoubleToString(profit, 2), DoubleToString(day_profit, 2) ); int res = bot.SendMessage(InpChannelName, msg); if(res != 0) Print("Error: ", GetErrorDescription(res)); max_time = MathMax(max_time, time_close); } _closed_last_time = MathMax(max_time, _closed_last_time); } Lorentzos Roussos 2023.04.25 12:32 #508 Bui Huy Dat #:你们好我已经完成了从电报向 mt5 发送信息的代码,但我遇到了一个小错误,当同时发送多个平仓命令时,只能发送一个订单,而不能发送多个订单。谁能帮我看看我哪里出错了? 版主删除了格式 不当的代码。@Bui Huy Dat 请 编辑 您的帖子,并在插入代码时使用CODE 按钮。 如果您通过机器人为许多用户提供服务,我认为每秒有 30 次交互的限制。 Bui Huy Dat 2023.04.26 10:27 #509 Lorentzos Roussos #:如果您通过机器人为许多用户提供服务,我想每秒的交互次数限制为 30 次。 ,但同时打开或关闭命令时,它只能向电报发送一条信息。 Lorentzos Roussos 2023.04.26 11:59 #510 Bui Huy Dat #:我个人只用它来将每个 mt5 账户发送到电报。,但同时打开或关闭命令时,它只能向电报发送一条信息。 我回复时还没有代码,我看到您可以用一个将消息添加到突发列表的函数来替换 bot.SendMessage 。您也可以不断增加信息并将其从循环中发送出去,但这样会遇到字符限制。 一个简单的示意图可以是这样的 您有一个名为 "发件箱 "的字符串数组 处理发件箱的时间间隔,所以要使用 "OnTimer()"(如果您也从电报中读取信息,可能已经在使用它了) 然后,您可以不使用 Sleep() 函数,而是通过记住上一条信息的发送时间,来自行限制每条信息之间的毫秒间隔。 您可以使用 GetTickCount() 函数来轮询毫秒数,并存储信息离开的最后毫秒数,然后从当前毫秒数中减去该毫秒数,得到时间距离。 如果距离上一条消息的毫秒数大于您设定的毫秒数限制,则从发件箱发送下一条消息。 你现在不再在循环中调用 bot.SendMessage 而是调用 Outbox.add_message_for_sending 或其他。 如果修改后还能存储聊天 ID,就能存储消息的去向,这样就能解决多个用户的问题。 1...444546474849505152535455 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是的,我不明白,我也不知道,我也不能用名字发送给机器人,只能用 ID 发送。如何发送给自己?或者说,你怎么在购物车里找到自己的 ID?我只能发给机器人。
我可以通过 "获取我的 ID "机器人获取任何 ID
我通过 "获取我的身份证 "机器人获取任何身份证。
是的,我把我的 ID 和机器人搞混了。我们通过自己的机器人向自己发送私人信息))))。
摘自安德烈的文章
需要注意的是,在这些例子中,我们将聊天 ID 作为消息的收件人。在用户开始与机器人聊天之前,我们无法提前知道他/她的收信人。此外,我们也无法通过用户的手机号码或 @ 用户名联系到他/她。这样做显然是出于安全考虑,以免机器人发送垃圾邮件。但是机器人可以通过第二个发送消息选项,用用户名在频道上发布消息。
您好、
我想在搜索文件中添加一种新的语言,但我不明白这些十六进制参数的含义:
例如,英语中的 \xF1EC\xF1E7 是什么意思?
上周我遇到了一些故障--从 Telegram 读取消息队列的功能停止工作了。也就是说,发送出去的信息,包括文本和截图,都会像以前一样发送,但 GetUpdates() 函数却什么也不返回,聊天队列 总是空的。
有人遇到过这种故障吗?原因是什么?
您好!
Telegram API 文档中描述了所有标签。
你们好、
我已经完成了从电报向 mt5 发送信息的代码,但我遇到了一个小错误,在同时发送多个关闭命令时,只能发送一个订单,而不能发送多个订单。
谁能帮我看看我哪里出错了?
你们好
我已经完成了从电报向 mt5 发送信息的代码,但我遇到了一个小错误,当同时发送多个平仓命令时,只能发送一个订单,而不能发送多个订单。
谁能帮我看看我哪里出错了?
如果您通过机器人为许多用户提供服务,我认为每秒有 30 次交互的限制。
如果您通过机器人为许多用户提供服务,我想每秒的交互次数限制为 30 次。
,但同时打开或关闭命令时,它只能向电报发送一条信息。
我个人只用它来将每个 mt5 账户发送到电报。
,但同时打开或关闭命令时,它只能向电报发送一条信息。
我回复时还没有代码,我看到您可以用一个将消息添加到突发列表的函数来替换 bot.SendMessage 。您也可以不断增加信息并将其从循环中发送出去,但这样会遇到字符限制。
一个简单的示意图可以是这样的