EA-448 · 辅助工具
FineClock
FineClock是一个工具型EA,在MetaTrader 5所有打开的图表上显示可自定义的时钟叠加层。它支持本地时间、服务器时间和GMT时间,可配置字体、颜色、阴影和角落位置。EA根据所选格式每秒或每分钟刷新显示。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
暂未回测:这个 EA 还没能自动转换。
策略分析
此EA不涉及任何交易策略,它纯粹是一个图表显示工具。它在图表上创建两个标签对象(一个用于阴影效果,一个用于主文字),通过定时器事件周期性更新时间显示。入场条件和出场条件不适用,因为没有交易逻辑。仓位管理和资金管理同样不适用。其核心逻辑是利用OnTimer回调获取当前时间(本地/服务器/GMT),格式化后通过ObjectSetString更新标签文本。阴影效果通过创建偏移的第二个标签对象实现,并可在OnTimer中同步位置和字体属性。该EA遍历所有打开的图表窗口,仅对可见窗口执行更新以优化性能。
优势
- 支持三种时间源(本地/服务器/GMT),满足不同交易时段需求
- 阴影效果增强视觉可读性,设计细节周到
- 仅对可见图表窗口执行更新,避免不必要的性能开销
- 参数化程度高,用户可自定义位置、字体、颜色等几乎所有视觉属性
- OnDeinit中正确清理创建的图表对象,避免残留
劣势
- 代码中存在非ASCII枚举名(如�MyCorners),可能导致编码兼容性问题
- OnInit中ObjectFind的用法有误——ObjectFind返回-1表示未找到,但代码用+1后判断bool,逻辑不够直观且可能在某些边缘情况下出错
- 依赖外部include文件(eIntNumbers.mqh和eFloatNumbers.mqh),这些文件可能不在标准路径中
- 注释为乱码(编码问题),严重影响代码可读性和可维护性
- 秒级定时器模式下未考虑服务器时间与本地时间的同步偏差
改进建议
- 修复编码问题,将枚举名和注释改为英文或UTF-8兼容字符
- 修正ObjectFind的逻辑判断,改为标准的>=0检查方式
- 移除对外部include文件的依赖,使用标准MQL5类型或内联实现参数范围校验
风险评估
总体风险: 安全
- 此EA不执行任何交易操作,无资金风险
- 外部include文件缺失可能导致编译失败,但不会造成交易损失
评估得分
代码质量2.0
策略逻辑1.0
风险管理5.0
稳健性2.0
创新性2.0
文档1.0
综合2.2
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
TimeType | TLocal | 时间类型:本地时间/服务器时间/GMT |
Fmt | Seconds | 时钟格式:秒(时:分:秒)或分(时:分) |
Corner | CRL | 时钟显示的图表角落位置 |
X | 170 | 水平偏移距离 |
Y | 38 | 垂直偏移距离 |
FontName | Magneto | 显示字体名称 |
FontSize | 16 | 字体大小 |
FontColor | clrDarkSlateGray | 字体颜色 |
ShadowColor | clrDarkSeaGreen | 阴影颜色 |
SS | 1 | 阴影偏移距离 |
eSA | -12 | 阴影旋转角度 |
同类 EA:辅助工具
回测是历史模拟,不代表未来收益,不构成投资建议。