CD1: a b,b200周期内第一次小于a,之后b小于a忽略不计。
CD2: 满足CD1后, c d d第三次上穿c.
见图片:
1.cd1不就相当于200周期内 只要存在至少一次b小于a?
2.cd2。 这个判断必须限定在一定周期内。否则无意义。因为你只要K线数据量到一定程度,那么d上传c 会发生很多次。
[此贴子已经被作者于2020/9/25 13:19:08编辑过]
CD1:=any(b<a,200);
CD2:=if( CD1,count( cross(d,c),barslast(a>b) )>=3 );
请老师修正,谢谢。
CD1:=any(b<a,200);
CD2:=if( CD1,count( cross(d,c),barslast(a>b) )>=3 ,drawnull );
请老师修正,谢谢。
CD2:=if( CD1,count( cross(d,c),barslast(a>b) )>=3 ,0);
这个部分得话,应该还是有点问题。不如用这个BARSSINCE2() 或者同样写死成200周期。否则b下穿a如果发生多次的情况下。这个返回值取的就是最近的一次了。
还是不行。请老师再指点一下。怎样才能写死成200周期
CD2:=if( CD1,count( cross(d,c),200 )>=3 ,drawnull );
我的意思是这里直接写成200
CD2:=if( CD1,count( cross(d,c),200 )>=3 ,drawnull );
我的意思是这里直接写成200
如果直接写成200,会把 不满足CD1的 cross (d,c)的次数也给计算进去。
[此贴子已经被作者于2020/9/25 14:49:57编辑过]
LEN:BARSSINCE2(a>b,200)+1;//返回值是从0开始的,所以+1
CD2:=if( CD1,count( cross(d,c),LEN)>=3 ,0);
这样就是从200周期内第一次a>b位置开始统计了。就不存在说不满足a>b之前也统计进去的情况。