建立MACD指标的“ dif上穿dea那根k线的最低价某天被跌破,然后某天收盘价又突破之前dif上穿dea那根k线的最高价”的数据筛选算法。
(一)、思路步骤:
(资料图片)
1.引入系统指标MACD,只留前两行代码并进行赋值;
2.计算金叉发生的位置并置为常数;
3.计算金叉发生日的最低价与最高价;
4.数据筛选条件罗列
A.金叉发生日到当下的时间区间范围内,收盘价跌破金叉发生日的最低价的次数只发生一次;
B.“今天”、“当下”发生了收盘价上穿金叉发生日的最高价。
(二)、算法的建立过程:
1. 引入系统指标MACD并完成先期处理
DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:=EMA(DIF,MID);
2. 金叉发生的位置
WZ:=CONST(BARSLAST(CROSS(DIF,DEA)));
3. 金叉发生日的最低价与最高价
WZH:=CONST(REF(H,WZ));
WZL:=CONST(REF(L,WZ));
4. 数据筛选逻辑链
A. 金叉发生日到当下的时间区间范围内,收盘价跌破金叉发生日的最低价的次数
COUNT(CROSS(WZL,C),WZ)=1
B. 收盘价上穿金叉发生日的最高价
CROSS(C,WZH)
(三)、数据筛选的完整代码:
DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:=EMA(DIF,MID);
WZ:=CONST(BARSLAST(CROSS(DIF,DEA)));
WZH:=CONST(REF(H,WZ));
WZL:=CONST(REF(L,WZ));
COUNT(CROSS(WZL,C),WZ)=1 AND CROSS(C,WZH);
(四)、效果示意图: