- 显示:
- 3092
- 等级:
- 已发布:
- 2016.03.29 12:03
- 已更新:
- 2016.11.22 07:33
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
作者:
代码/方法用于测试重绘指标, 以 FxmFish, ZigZag, NonLagZigZag, AFIRMA, TREND_alexcud 为例
您也许希望使用这种推荐的方法来研究这些指标的行为。
有一定数量的指标在新柱线来临时在图表上重新绘制。
于是, 在动态情况下目测这些指标属性有些困难。
推荐的代码通过移动图形对象为您定位指标最后一根柱线 (右侧)。它使用一条垂直线可方便的做到这一点。
一般说明:
将代码插入到指标的源代码里。找到计算循环, 并在其内用变量 "start" 替代 "0"。
如果指标里有数组清零循环, 不要替换数值。
在图表里放置垂直线并命名为 "start"。
手动移动该垂线等待指标重计算。
从过去到未来的运动是最优的, 因为并非所有指标都 "扫描" 右侧柱线。.
因此我们首先放置一条名为 "start" 的垂线, 然后是指标。
指标在两种情况重绘:
- 自动地, 当一根新柱线来临; 或
- 如果没有 (不期望) 交易分时, 通过手动修改任何指标属性; 若要这样做, 您应该每次打开其属性窗口, 并修改任意颜色, 因为修改颜色更方便, 没有数字。
按照以上指导操作不十分舒服。
如果我们在图表上有一群指标, 当没有分时数据到达时, 我们将不得不修改每个指标的属性。
不过, 当开发这个方法时, 所有指标的重计算矛盾被显现, 只有在情况, 如果在单独窗口里的指标的计算没有调用函数 IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS))。<build 211 MT 4 >
这是一个矛盾的事实, 当您修改这种 "空" 指标的属性, 所有其它指标在所有窗口被强制重计算。
于是,TREND_alexcud 变为初始化指标。
一个额外初始化指标 Visual_start_All 已经编写。
同时测试一组指标的说明:
若要重计算所有指标, 修改 TREND_alexcud 或 Visual_start_All 的属性。
加载修改的 Visual_start 文件, 它们也显示在下图:
1. FxmFish
2. NonLagZigZag - 黄色
3. 标准 ZigZag - 红线
4. AFIRMA - 两种颜色, 蓝和红
5. TREND_alexcud
Alexander Pak, Almaty
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/7995