EA-915 · 辅助工具
IndicatorParameters_Demo
这是一个工具型EA,用于监控图表上指标的变化(添加或删除),并通过IndicatorParameters()函数获取指标的参数信息。它监听CHARTEVENT_CHART_CHANGE事件,比较当前指标列表与之前的快照,并打印新增或删除指标的详细信息及其输入参数。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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_CHANGE | N/A (event-driven) | 图表变化事件触发监控逻辑 |
ind_info_new[] | N/A (runtime) | 当前指标信息数组 |
ind_info_old[] | N/A (static) | 上一次指标信息快照数组 |
同类 EA:辅助工具
回测是历史模拟,不代表未来收益,不构成投资建议。