EA-915 · 辅助工具

IndicatorParameters_Demo

这是一个工具型EA,用于监控图表上指标的变化(添加或删除),并通过IndicatorParameters()函数获取指标的参数信息。它监听CHARTEVENT_CHART_CHANGE事件,比较当前指标列表与之前的快照,并打印新增或删除指标的详细信息及其输入参数。

打开交互版(权益曲线、切换品种)

基本信息

风险安全
评分★★☆☆☆
类型辅助工具
周期M1, M5, M15, M30, H1, H4, D1, W1, MN
指标N/A - monitors all chart indicators
作者MetaQuotes Software Corp.

回测结果(H1,约 1 年)

暂未回测:这个 EA 还没能自动转换。

策略分析

此EA并非交易策略,而是一个图表指标监控工具。它通过OnChartEvent事件监听机制,在图表发生变化时触发检测逻辑。核心机制是维护两个indicator_info结构体数组(新状态和旧状态),通过遍历和比对来发现指标的增删变化。当检测到新增指标时,调用GetParametersInfo函数获取该指标的类型和所有输入参数(包括整数、双精度和字符串类型的参数值),并通过Print输出到日志。仓位管理和资金管理方面完全不涉及,因为它不执行任何交易操作。该工具主要用于调试和开发,帮助开发者了解图表上挂载指标的配置情况。

优势

  • 实时监控图表指标变化,便于调试和开发指标相关功能
  • 使用IndicatorParameters()获取指标完整参数信息,信息详尽且准确
  • 结构化设计清晰,indicator_info结构体封装合理,代码可读性好
  • 新增指标时自动打印参数详情,对指标配置排查非常有用

劣势

  • 仅在CHARTEVENT_CHART_CHANGE事件时触发检测,无法捕获指标参数变更(如用户修改指标设置)
  • 指标handle未在不再需要时释放(IndicatorRelease),可能导致资源泄漏
  • 缺乏图形化界面展示,仅通过Print输出信息,用户体验较差
  • 没有对IndicatorParameters()调用失败的错误处理,handle无效时可能崩溃

改进建议

  • 添加IndicatorRelease()调用以释放不再使用的指标句柄,避免资源泄漏
  • 增加对IndicatorParameters()返回值的错误检查,防止无效handle导致异常
  • 增加对指标参数变化的检测(不仅是增删),通过对比参数内容发现修改

风险评估

总体风险: 安全

  • 指标句柄未释放可能导致长期运行时内存/资源泄漏
  • IndicatorParameters()在无效handle上调用时缺乏错误处理

评估得分

代码质量3.0
策略逻辑2.0
风险管理5.0
稳健性2.0
创新性2.0
文档2.0
综合2.7

参数

参数默认值说明
CHARTEVENT_CHART_CHANGEN/A (event-driven)图表变化事件触发监控逻辑
ind_info_new[]N/A (runtime)当前指标信息数组
ind_info_old[]N/A (static)上一次指标信息快照数组

同类 EA:辅助工具

回测是历史模拟,不代表未来收益,不构成投资建议。

订阅每周 Arena 周报

每周一封邮件:排名变化、新信号和新研究。不发垃圾邮件,随时可以退订。