
等级: 标准版
- 注册:
- 2023-2-16
- 曾用名:
|

楼主 |
发表于 2025-1-13 12:46
|
显示全部楼层
帮处理下这个代码逻辑吧
VARIABLE:底分型_历时:=0,顶分型_历时:=0;
//初始化
if BARPOS=1 then BEGIN
底分型:_历时=0;
顶分型_历时:=0;
END
IF 顶分型_历时>=1 and is_cxbh=0 THEN 顶分型_历时 := 顶分型_历时 + 1;
if 顶分型=1 and 顶分型_历时=0 then 顶分型_历时:=1;
if 顶分型_历时>0 and 底分型=1 then 顶分型_历时:=0;
IF 底分型_历时>=1 and is_cxbh=0 THEN 底分型_历时 := 底分型_历时 + 1;
if 底分型=1 and 底分型_历时=0 then 底分型_历时:=1;
if 底分型_历时>0 and 顶分型=1 then 底分型_历时:=0;
if 顶分型=1 and ref(底分型_历时,bh_pysj)<4 then 顶分型:=0;
if 底分型=1 and ref(顶分型_历时,bh_pysj)<4 then 底分型:=0;
就是分别从顶分型到底分型和底分型到顶分型计数,通过计数以后,某个条件导致当前底分型不满足,被置为0了,这个K的底分型_历时会因为前面的代码他会被置为1,而顶分型_历时会被置为0.
但是这个K底分型都已经被置为0了,不满足后面的底分型计数,所以从这个K开始顶分型的计数应该是前一个K的顶分型计数加上当前K,1,当前K后面的(直到新的顶分型出现再判断)顶分型计数应该也是前一个顶分型计数加1,这样保证顶分型计数不会出错,不知道要怎么改
|
|