INPUT:n1(60, 40, 250, 10);
VARIABLE:cnt:=10;
ma1:= ma(close, n1);
if CROSS(ma1, close) or cross(close, ma1) then begin
cnt = cnt+1;
MSGOUT(1,numtostr(cnt,1));
end;
cnt := cnt+1;
赋值语句改成上面这样。
[此贴子已经被作者于2018/12/29 10:00:07编辑过]
但这个时间一直是不变的, 也并不是相应K线对应的时间点
那是因为一次循环基本上是在很短时间内完成的,所以打印时间看上去是不变的时间,并且这个时间是本地时间。如果你要输出K线时间,你只能自行拼接一个字符串,然后用msgout输出出来了。
numtostr(cnt,1) + " " 拼接字符串的语法是什么, 为什么这样报错
t:NUMTOSTR(time,0);
MSGOUT(1,numtostr(cnt,1)+' '+t);
得是单引号。