文章 "精通日志记录(第八部分):具备自动翻译能力的错误日志记录" 新评论 MetaQuotes 2026.02.26 07:46 新文章 精通日志记录(第八部分):具备自动翻译能力的错误日志记录已发布: 在《精通日志记录》第八部分中,我们将探索如何在Logify(一款功能强大的MQL5日志库)中实现多语言报错提示。您将学习如何根据上下文结构化报错信息、将提示内容切换成多种语言,并根据日志重要级别进行自动动态格式化。所有这一切都基于一个简洁、可扩展且适用于生产环境的设计。 经过前几期的讲解,想必您已深知日志记录绝非简单的事件流水账。在算法交易的日常操作中,K线跳动、策略决策与市场不确定性交织成一张复杂的网,日志的真正价值是精准记录EA程序的"真实意图"。 在日常使用Logify时,我发现一个亟待解决的问题:错误处理机制仍然停留在表层。即使拥有完善的日志格式结构,最终输出的日志内容仍只能显示原始错误代码,无法直观体现背后的真实含义。比如以下这段日志: logify.Error("Failed to send sell order", "Order Management", "Code: "+IntegerToString(GetLastError())); // Console: // 2025.06.06 10:30:00 [ERROR]: (Order Management) Failed to send sell order | Code: 10016 结果呢?一句模棱两可的提示。我们能知道报错发生在哪个模块,但无法得知失败的具体原因。试问,谁不曾为了查阅文档而翻阅那几十个晦涩难懂的 MQL5 错误代码?我以前就常常面临这种困境:拿到错误代码后,还得打开文档慢慢搜索,才能搞清楚问题的真正起因。正是源于这种真实的痛点,我萌生了一个想法:如果 Logify 能帮我解读报错会怎样?它能不能不只给我一串数字代码,还自动生成清晰、贴合场景的错误解释,直接写入日志文件? 作者:joaopedrodev hini 2025.06.19 02:09 #1 您创建的两个库都非常出色,感谢您提供的代码。 joaopedrodev 2025.06.20 12:44 #2 谢谢,我很乐意提供帮助。如有任何改进建议,请与我联系! hini 2025.06.20 17:42 #3 joaopedrodev #: 谢谢,我很乐意提供帮助。如有任何改进建议,请与我联系! 如果日志记录非常频繁,但我又想避免重复打印,该怎么办?例如,检测到交易开仓信号,但价差过大且持续数十秒--如果使用日志记录,至少会打印数十次甚至数百次。如何解决这种情况?我知道一种解决方案是使用变量确保日志只显示一次,但如果日志库本身能处理这个问题就更好了。您能提供一些建议吗? hini 2025.06.20 17:54 #4 我编译了日志库 Logify,在 MT5 build 5100 之后,出现了几个与 CLogifyHandlerDatabase::Query 中的 类型有关的编译错误。我相信您应该已经解决了这个问题。 joaopedrodev 2025.06.23 13:24 #5 感谢您的建议,我将在今后的文章中讨论这些建议。 Carl Schreiber 2025.09.26 20:01 #6 joaopedrodev #: 感谢您的建议,我会在今后的文章中采纳这些建议。 关于语言的一个小想法。 或许可以将原始英文信息编排成这样一种方式,即可以很容易地将其复制并粘贴到翻译器(deepl.com 或 translate.google.com)中,然后将结果放回程序中。这样,任何人都可以轻松地用自己的语言设置程序。 Deeple 可识别 36 种语言,Google 甚至可识别约 130 种语言。 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
新文章 精通日志记录(第八部分):具备自动翻译能力的错误日志记录已发布:
经过前几期的讲解,想必您已深知日志记录绝非简单的事件流水账。在算法交易的日常操作中,K线跳动、策略决策与市场不确定性交织成一张复杂的网,日志的真正价值是精准记录EA程序的"真实意图"。
在日常使用Logify时,我发现一个亟待解决的问题:错误处理机制仍然停留在表层。即使拥有完善的日志格式结构,最终输出的日志内容仍只能显示原始错误代码,无法直观体现背后的真实含义。比如以下这段日志:
结果呢?一句模棱两可的提示。我们能知道报错发生在哪个模块,但无法得知失败的具体原因。试问,谁不曾为了查阅文档而翻阅那几十个晦涩难懂的 MQL5 错误代码?我以前就常常面临这种困境:拿到错误代码后,还得打开文档慢慢搜索,才能搞清楚问题的真正起因。正是源于这种真实的痛点,我萌生了一个想法:如果 Logify 能帮我解读报错会怎样?它能不能不只给我一串数字代码,还自动生成清晰、贴合场景的错误解释,直接写入日志文件?
作者:joaopedrodev