等级: 免费版
- 注册:
- 2021-11-18
- 曾用名:
|

楼主 |
发表于 2022-8-26 10:13
|
显示全部楼层
我目前调整为这样的语句:
VARIABLE:up:=0,down:=0;
movavg_long:ma(close,N);
small_len:=intpart(n/30);
movavg_small:ma(close,small_len);
if movavg_small>movavg_long then
begin
up:=up+1;
down:=0;
end
if movavg_small<movavg_long then
begin
up:=0;
down:=down+1;
end
len:=Intpart(N/2);// 这是允许的最大的连续距离
mark:1;
check_len:=N-len; //这是检查的距离
FOR i = 0 to check_len-1 DO
BEGIN
IF ((ref(up,i)>=len) or (ref(down,i)>= len)) THEN
BEGIN
mark :=0;
break;
END
END;
目前运行起来看起来是好的,不过每次编译都提示:
1、循环里面使用了REF,可能会影响
2、循环里面使用了break,对于逐K模式会有影响。(我后面还是要加入买卖信号的,所以还是选择了逐K模式)
这两个提示,我目前肉眼观察,好像没造成什么问题。想问会如提示里面的说法,实际是会算错的吗? |
|