请编译:
macd上穿0轴后的20个周期内,当同时满足以下2个条件时发出预警信号:
1)出预警信号前,macd一直为红柱;
2)出预警信号前,KD指标中的k值存在先向下再向上的向上拐头,且k值最低到过m;
"KD指标中的k值存在先向下再向上的向上拐头"这种没办法用代码实现的。这种形态很难用代码去定义的。
这么实现:
K>REF(K,1) && REF(K,1) <REF(K,2)
input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);
DIFF :EMA(CLOSE,S) - EMA(CLOSE,P);
DEA :EMA(DIFF,M);
MACD1 :2*(DIFF-DEA), COLORSTICK;
input:n(9,1,100,10),p1(3,2,40,4),p2(3,2,40,4);//参数设置
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,P1,1);
D:SMA(K,P2,1);
J:3*K-2*D,NODRAW;
INPUT:X(3,1,100,1),M(3,1,200,1);//X是统计K最小值的一个周期范围;M也是你自定义的一个值
Len:BARSLAST(macd1<0);//红柱数量
cd1:all(macd1>0,Len) and Len<=20;//表示20周期内都是红柱
cd2:K>REF(K,1) and REF(K,1)<REF(K,2);
cd3:llv(k,X)<M;
cd:cd1 and cd2 and cd3;//最终结果
[此贴子已经被作者于2020/12/2 9:23:36编辑过]
请体现:
“macd上穿0轴后的20个周期内,满足那3个条件触发预警信号”:触发预警信号的可以发生在macd上穿0轴后的第3个周期,或第8个周期,或第18个周期,不要求前20个周期都是红柱