诚信为本
量力而为
当前位置:峰汇在线 ea编程知识 正文

变色均线的编程原理

移动平均线是由美国著名投资专家 Joseph E.Granville 于20世纪中期提出的,全称 Moving Average,简称MA,它是用统计分析的方法,将一定时期内的市场价格加以平均,然后把不同时间点的平均值连接起来的一条曲线。变色均线是通过一定的编程技巧,在均线上升、下降、走平时用不同的颜色来显示,视觉上形成一种均线随市场价格涨跌而变色的效果。

均线的变色,只是一种视觉、颜色上的优化,它通常是不改变均线本身的算法的。不但是均线,其它指标也同样可以通过编程实现视觉上的变色效果的。

变色均线的编程原理

上图是一根变色移动平均线MA指标,在图表中,可以看出它有红、绿、黄三种颜色,观察数据窗口,就会发现它有三个数值,也就是说这条均线它有三个指标缓冲区(SetIndexBuffer)。或者简单的理解为它有三条指标线吧,为了便于理解,下面也就说指标线吧。

这就是变色均线的编程原理,它需要几种变色,就定义几条指标线,一种线对应一种颜色,然后根据条件比较来运行显示哪条线,在显示一种颜色的线的时候,其它的颜色的线让它等于空值(EMPTY_VALUE),说起来可能有些绕,那就还是那上面图表中的均线来说。

1、定义数组,为了便于区分,这里直接在数组名称中加入颜色字母:

double RedMa_Buffer[];//红线
double LimeGreenMa_Buffer[];//绿线
double YellowMa_Buffer[];//黄线

2、在初始化函数int OnInit(void)中,捆绑好对应的指标缓冲区(SetIndexBuffer)。

3、在技术指标主函数int OnCalculate(……)中,三条线默认都是等于设定周期的均线值,然后比较两个单位的均线值,如果上升,那将绿线赋值空值(EMPTY_VALUE);如果下降,那将红线赋值空值(EMPTY_VALUE);其它情况将红线、绿色赋值空值(EMPTY_VALUE)。就会实现上图的效果。

上面只是简单的说说变色均线指标的编程原理,它是通过在图表中显示不同颜色的指标线来实现的,实际编程中可以基于这种原理进行演变。

版权所有转载请注明标题及链接:峰汇在线 » 变色均线的编程原理