Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:“每次执行一次循环检测时,都会被初始化一次”,是什么意思

1楼
wn10000neng 发表于:2013/5/5 16:48:39

Variable: Myholding=0;

DEBUGFILE('C:\test.txt','VS:%.0f',Myholding);
IF ISLASTBAR THEN
BEGIN
 IF Myholding=0 THEN
 BEGIN
  Myholding:=1;
  DEBUGFILE('C:\test.txt','Myholding:%.0f',Myholding);
 END
END

 

按照我的理解,在Myholding:=1后,应该保持为1。但实际测试文件的结果如下:

2010-07-28 11:12:00.265    VS:0
2010-07-28 11:12:00.265    Myholding:1
2010-07-28 11:12:05.734    VS:0
2010-07-28 11:12:05.734    Myholding:1
2010-07-28 11:12:10.718    VS:0
2010-07-28 11:12:10.718    Myholding:1
2010-07-28 11:12:15.718    VS:0
2010-07-28 11:12:15.718    Myholding:1
2010-07-28 11:12:20.734    VS:0
2010-07-28 11:12:20.734    Myholding:1
2010-07-28 11:12:25.718    VS:0
2010-07-28 11:12:25.718    Myholding:1
2010-07-28 11:12:30.734    VS:0
2010-07-28 11:12:30.734    Myholding:1
2010-07-28 11:12:35.718    VS:0
2010-07-28 11:12:35.734    Myholding:1


能请教一下是怎么回事?Variable定义的全局变量为什么被不停地初始化了呢?

 

原文链接:http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=2262&page=5

 


 


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
2楼
klc 发表于:2013/5/5 23:03:11
因为在ISLASTBAR时,计算的值是不保存的,只有历史K线计算的值,variable才会保留
3楼
klc 发表于:2013/5/5 23:06:20

因为islastbar会被行情不断的刷新,会进行多次计算,所以如果不断的保存值,也会造成程序不可控,所以这样设计是合理的。

 

我现在设计的走完K线是这样设计的,islastbar就直接exit

然后就计算到上根K线为止,信号判断取上根K线的值就是了。

 

如果你要直接判断是否倒数第二根K线,可以用barpos=datacount-1来判断

4楼
wn10000neng 发表于:2013/5/6 9:42:49
请客服回答,谢谢
共4 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03906 s, 3 queries.