以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  金字塔软件问题提交  (http://222.73.7.161/bbs/list.asp?boardid=2)
----  为什么打印的变量cnt 一直是10  (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=167413)

--  作者:huliqun138
--  发布时间:2018/12/29 9:49:03
--  为什么打印的变量cnt 一直是10

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;


--  作者:FireScript
--  发布时间:2018/12/29 9:59:43
--  
 cnt := cnt+1;
赋值语句改成上面这样。
[此贴子已经被作者于2018/12/29 10:00:07编辑过]

--  作者:huliqun138
--  发布时间:2018/12/29 10:03:44
--  

MSGOUT  如何在前面打印出去时间信息


--  作者:FireScript
--  发布时间:2018/12/29 10:22:57
--  
它本身不就有时间么。

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

--  作者:huliqun138
--  发布时间:2018/12/29 10:45:39
--  

但这个时间一直是不变的,  也并不是相应K线对应的时间点


--  作者:FireScript
--  发布时间:2018/12/29 10:58:37
--  
 那是因为一次循环基本上是在很短时间内完成的,所以打印时间看上去是不变的时间,并且这个时间是本地时间。如果你要输出K线时间,你只能自行拼接一个字符串,然后用msgout输出出来了。
--  作者:huliqun138
--  发布时间:2018/12/29 11:14:30
--  
numtostr(cnt,1) + "  "  拼接字符串的语法是什么, 为什么这样报错
--  作者:FireScript
--  发布时间:2018/12/29 11:19:38
--  
 t:NUMTOSTR(time,0);
MSGOUT(1,numtostr(cnt,1)+\' \'+t);
 
得是单引号。