- 显示:
- 56
- 等级:
- 已发布:
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
Logify 是 MQL 的日志库,旨在简化 EA 和指标的调试、跟踪和监控。它直接在图表或终端上提供结构化、可定制和有组织的日志,支持日志级别、灵活格式和多个处理程序。这是一个轻量级、优雅的解决方案,可轻松集成到您的 MQL 项目中。
📦 功能
- 多种日志级别:调试、信息、警报、错误、致命
- 直接在图形、终端、文件甚至数据库上显示日志
- 可定制日志格式和布局
- 具有多个处理程序的模块化架构
- 轻量级,易于集成和使用
🚀 安装
- 将 /Logify 文件夹复制到:
MQL5/Include/
- 在您的 EA、指标或脚本中包含 Logify:
#include <Logify/Logify.mqh>
- 可以使用 Git 安装,只需访问版本库 并按步骤操作即可。
🔧 快速入门示例
使用默认设置的简单示例:
//+------------------------------------------------------------------+ //| 进口| //+------------------------------------------------------------------+ #include <Logify/Logify.mqh> CLogify Logify; //+------------------------------------------------------------------+ //| 专家初始化函数| //+------------------------------------------------------------------+ int OnInit() { //--- 日志示例 Logify.Debug("Initialization started"); Logify.Info("Account balance is OK"); Logify.Alert("Take profit reached"); Logify.Error("Failed to send order", "Order", "Reason: No money"); Logify.Fatal("Critical error: Invalid input parameters"); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+
高级示例,自定义处理程序设置。在此示例中,我们将日志记录保存到文件和图表注释中。自定义每个处理程序的设置。
//+------------------------------------------------------------------+ //| 进口| //+------------------------------------------------------------------+ #include <Logify/Logify.mqh> CLogify Logify; //+------------------------------------------------------------------+ //| 专家初始化函数| //+------------------------------------------------------------------+ int OnInit() { //-- 配置评论处理程序 MqlLogifyHandleCommentConfig config_comment; config_comment.size = 10; config_comment.frame_style = LOG_FRAME_STYLE_SINGLE; config_comment.direction = LOG_DIRECTION_UP; config_comment.title = "My Expert"; //--- 创建并配置评论处理程序 CLogifyHandlerComment *handler_comment = new CLogifyHandlerComment(); handler_comment.SetConfig(config_comment); handler_comment.SetLevel(LOG_LEVEL_DEBUG); handler_comment.SetFormatter(new CLogifyFormatter("{date_time} [{levelname}]: {msg}","hh:mm:ss")); //--- 配置文件处理程序 MqlLogifyHandleFileConfig file_config; file_config.CreateDateRotationConfig("my_expert","logs",LOG_FILE_EXTENSION_LOG,10,100,CP_UTF8); //--- 创建并配置文件处理程序 CLogifyHandlerFile *handler_file = new CLogifyHandlerFile(); handler_file.SetConfig(file_config); handler_file.SetLevel(LOG_LEVEL_DEBUG); handler_file.SetFormatter(new CLogifyFormatter("{date_time} [{levelname}]: {msg} ({filename} | {origin} | {function})","hh:mm:ss")); //--- 附加处理程序 Logify.AddHandler(handler_comment); Logify.AddHandler(handler_file); //--- 日志示例 Logify.Debug("Initialization started"); Logify.Info("Account balance is OK"); Logify.Alert("Take profit reached"); Logify.Error("Failed to send order", "Order", "Reason: No money"); Logify.Fatal("Critical error: Invalid input parameters"); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+
要了解每种设置,建议阅读下面的文章,我将在文章中解释库开发的每个步骤:
✔️ 日志级别
级别 | 描述 |
---|---|
调试 | 用于调试的详细资料 |
INFO | 一般信息 |
警报 | 警告或重要事件 |
错误 | 需要注意的错误 |
致命错误 | 严重错误,停止执行 |
🖥️ 包括的处理程序
每个处理程序都定义了日志的显示或存储位置。
处理程序 | 说明 |
---|---|
注释 | 直接在图表上显示日志(注释) |
控制台 | 在 MetaTrader 终端显示日志 |
文件 | 将日志保存为 .txt 或 .log 文件 |
数据库 | 在本地 SQLite 数据库中存储日志 |
您可以同时使用一个或多个处理程序,例如图形 + 文件 + 控制台。
🛠️ 日志格式
格式化模式示例:
"{date_time} [{levelname}]: {msg}"
可用标记:
- {levelname}:级别名称(DEBUG、INFO、ERROR 等)
- {msg}:主要信息
- {args}: 附加参数或详细信息
- {timestamp}: 以秒为单位的时间戳(Unix 时间)
- {date_time}: 格式化日期和时间(hh:mm:ss 等)
- {level}: 级别的数字代码(0 = DEBUG、1 = INFO...)
- {origin}: 日志调用中定义的原点或上下文
- {filename}: 源文件名称(如果有)
- {function}: 被调用的函数名称
- {line}: 发生日志的代码行号
⚖️ 许可证
MIT 许可 - 个人和商业项目均可免费使用。
👨💻 作者
由joaopedrodev 开发,致力于使 MQL 开发更加专业、有序和高效。
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/59821

在上升的 Ema 移动平均线下方出现吞没条 - 买入交易 - 买入交易

该智能交易系统(EA)专为在外汇和加密货币市场的 1 分钟(M1)图表上进行高频交易而设计。它使用 RSI 和蜡烛图形态来识别买入和卖出信号,根据市场波动情况自动执行带有动态止损、止盈和追踪止损水平的交易。

Rsi 指标

这是一个测试脚本,可扩展 MetaTrader 5 的标准优化功能,允许您根据复杂的用户定义标准(分为样本内和样本外期间、高级指标和统计测试)评估策略。