Rss & SiteMap

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

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

标题:以下这种情况,仅刷新最后一根K线图的情况下变量在最后一根K线会一直累加

1楼
阿火 发表于:2012/4/18 9:30:15

//仅刷新最后一根K线图,相关代码如下:
if time=091600 then x:=0;
x:=x+1;
aa:x;
//这种情况,x在最后一根K线图会一直累加。建议改进一下

 

也就说,勾选仅刷新最后一根K线和不勾选会有2种不同效果。

 

当然,如果把X声明一下就没问题

variable:x=0;

if time=091600 then x:=0;
x:=x+1;
aa:x;

 

 

如果声明 超全局变量,反而不会累加了

//仅刷新最后一根K线图
globalvariable:x=0;
if islastbar then begin
 x:=x+1;
end
//这种情况,x却不会累加

[此贴子已经被作者于2012-4-18 9:36:30编辑过]
2楼
董小球 发表于:2012/4/18 10:54:52

//仅刷新最后一根K线图,相关代码如下:
if time=091600 then x:=0;
x:=x+1;
aa:x;
//这种情况,x在最后一根K线图会一直累加。建议改进一下


这个确实变成了全局变量了 ,反映给开发查查!





3楼
董小球 发表于:2012/4/18 11:00:10
其他两个全局变量 我倒是觉得是正常的,没问题
4楼
g555 发表于:2012/4/18 11:53:33

我认为,从程序角度来讲:

第一个是正确的。

第2,3才是错误的。要改进的是第2,3

5楼
无极无名 发表于:2012/4/18 14:57:57

同意楼上的观点。我感觉第一种情况不是想要的,但是是合理的。

 

这里使用全局变量和超级全局变量效果一样,都达到了控制X在最后一周期不继续累计的问题,但是好像没有道理。

 

比如第二种情况,用全局变量。如果在最后一个周期,每次刷新,variable:x=0;发挥了作用(按理如此),那么最后X应该恒定等于1.

如果最后一周期,每次刷新,variable:x=0;没有发挥作用,那么X应该一如既往继续累加才对。因此,不管哪种情况,都不应该得到“正常”的结果。

 

 

6楼
admin 发表于:2012/4/18 16:08:21

问题已经在随后发布的2.87版得到了修正

7楼
无极无名 发表于:2012/4/19 0:35:53

A:=CLOSE;

B:=0;

 

CC:A/B;

 

结果:CC=CLOSE.

[此贴子已经被作者于2012-4-19 0:38:46编辑过]
共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.