Rss & SiteMap

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

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

标题:GLOBALVARIABLE的变量重载

1楼
qq代人发帖 发表于:2015/6/12 14:20:05
我在tick图中以这样的代码做实验GLOBALVARIABLE: 过滤=0;
VARIABLE:A=0;
IF BARPOS=DATACOUNT-2 AND 过滤=0 THEN
BEGIN
 MSGOUT(1,'看看!');
 过滤:=过滤+1;
END 
结果GLOBALVARIABLE的变量一样被重载了
2楼
jinzhe 发表于:2015/6/12 14:25:21
超全局变量不支持迭代计算
3楼
静看沉浮 发表于:2015/6/12 14:31:00
GLOBALVARIABLE: 过滤=0;

VARIABLE:A=0;
IF BARPOS=DATACOUNT-2 AND 过滤=0 THEN 
BEGIN
MSGOUT(1,'看看!');
过滤:=1;
END
去除迭代部分依然是会重载的。
请问帮助文档里面关于GLOBALVARIABLE的说明是否矛盾:指标加载时定义语句对其初始化一次,后面的时间里,定义语句都不会再对其进行初始化了
4楼
jinzhe 发表于:2015/6/12 14:37:54
按照我的调试办法,变成1之后就再也没有重置为0过,用户是如何调试出会重置为0的结果的?
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
5楼
静看沉浮 发表于:2015/6/12 14:44:19

图片点击可在新窗口打开查看此主题相关图片如下:x2scrap.png
图片点击可在新窗口打开查看
我这边同一的代码,在if tick里面使用同样的代码,指标线上为0,消息窗口不断有消息出来
6楼
jinzhe 发表于:2015/6/12 15:13:43

超全局变量只在最新的k线上进行计算。

因此当这个判断条件(IF BARPOS=DATACOUNT-2 AND 过滤=0)虽然历史k线上条件满足,但是最新的k线不满足,所以导致了虽然进行了调试输出,但是超全局变量不进行计算。所以,超全局变量的值一直是没有被经过计算的初值0。调试输出的值0,不是被重新赋初值了,而是一直没有被计算

 

把条件BARPOS=DATACOUNT-2改成islastbar 或者什么条件也不加的时候,超全局变量就会被赋值

 

7楼
静看沉浮 发表于:2015/6/12 15:16:42
顶起~
共7 条记录, 每页显示 10 条, 页签: [1]


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