MACD每一次上穿0轴的时间位置计算,在MACD的应用中非常必要。
时间位置的确定,用到的是BARSLAST函数,它的相关解释如下:
上一次条件成立到当前的周期数.
用法:
BARSLAST(X):上一次X不为0到现在的周期数
例如:
BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)表示上一个涨停板到当前的周期数
下面来完成整个算法的建立过程。
思路步骤
引入系统指标MACD;
“MACD上穿0轴”的逻辑设定;
MACD第一次上穿0轴到当前的位置;
MACD第二次上穿0轴到当前的位置---即,“第一次上穿0轴”到当前位置日前的条件成立位置。
算法建立
引入系统自带算法MACD,并对MACD进行赋值;
系统算法
“MACD上穿0轴”的逻辑设定
TJ:=BARSLAST(REF(MACD,1)<=0 AND MACD>=0);
3. MACD第一次上穿0轴到当前的位置
D1:CONST(TJ)+1,NODRAW;
4. 第二次上穿0轴到当前的位置
D2:CONST(REF(TJ,D1+1))+D1+1,NODRAW;
5. 第三次上穿0轴到当前的位置
D3: CONST(REF(TJ,D2+1))+D2+1,NODRAW;
完整代码
3个参数
DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:=EMA(DIF,MID);
MACD:=(DIF-DEA)*2,COLORSTICK;
TJ:=BARSLAST(REF(MACD,1)<=0 AND MACD>=0);{条件}
D1:CONST(TJ)+1,NODRAW;{第一次上穿0轴到当前的位置}
D2:CONST(REF(TJ,D1+1))+D1+1,NODRAW;{第二次上穿0轴到当前的位置}
D3:CONST(REF(TJ,D2+1))+D2+1,NODRAW;{第三次上穿0轴到当前的位置};
江丰鱼的文章仅在今日头条首发。
下一篇
李丹初医案(五)
有话要说...