【问题标题】:Parse Telegram JSON message by line break通过换行符解析 Telegram JSON 消息
【发布时间】:2020-03-15 10:32:48
【问题描述】:

我想使用 MQL4 编码从电报文本消息中删除换行符。我想将文本转换为 MT4 可以用来进行交易的格式。

问题是电报机器人正在阅读聊天并且文本被转换为带有 \n 分隔符的单行。我需要将消息的不同部分拆分为单独的 Int/Str/Double 等,以便我可以使用它们通过 MQL4 代码进行交易。

消息格式如下:

"text":"XRPUSD\nBUYLIMIT\n0.15010\nSL 0.18000\nTP 0.14000"

此消息以 msg.message_text 的形式出现,但除非我使用 Postman,否则我看不到实际消息。我只知道 JSON 转换器库中的格式。

再次,我需要将消息的不同部分拆分为单独的 Int/Str/Double 等,以便我可以使用它们通过 MQL4 代码进行交易。

希望我以一种有意义的方式询问和呈现数据。请告诉我。

谢谢

【问题讨论】:

    标签: telegram-bot mql4 mql5


    【解决方案1】:

    我认为你可以使用 StringReplace 方法 像这样

    string text="XRPUSD\nBUYLIMIT\n0.15010\nSL 0.18000\nTP 0.14000";
    int replaced=StringReplace(text,"\n","/");
    Print("Replaced: ", replaced,". Result=",text);
    

    【讨论】:

    • 非常感谢。它需要足够灵活以转换任何消息实例。这些是格式: 第 543 行 msg.message_text=item["message"]["text"].ToStr();第 544 行 msg.message_text=StringDecode(msg.message_text);第 544 行是否符合您的建议?
    • 我做了一个小的修改,它可以删除\n。知道如何将结果拆分为单独的变量吗?结果可以解析吗?
    • 您的结果中有任何关键值吗?
    • 我使用了“string to_split”函数并分离了各个值。现在我需要能够将它们拉入变量中。现在我只能打印它们。我需要将它们存储到变量中或从“string to_split”数组中提取它们
    • 其实我不知道 MQL 我只是为您的问题阅读文档。也许你可以使用 StringSplit。像这个字符串 to_split="life_is_good"; // 要拆分为子字符串的字符串 string sep="_"; // 作为字符的分隔符 ushort u_sep;字符串结果[]; // 获取字符串的数组 //--- 获取分隔符代码 u_sep=StringGetCharacter(sep,0); //--- 将字符串拆分为子字符串 int k=StringSplit(to_split,u_sep,result);
    猜你喜欢
    • 2020-10-09
    • 2021-05-23
    • 2021-07-29
    • 1970-01-01
    • 2016-05-09
    • 2018-10-05
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多