有关全局变量使用的几个困惑 [金字塔]
- 咨询内容:
一开始在图表交易系统使用VARIABLE来作为全局变量,后来改成了后台轮询,发现VARIABLE定义的全局变量不行了,每次都被初始化成了0,网上查了一下说后台要使用EXTGBDATA,EXTGBDATASET来取值赋值,改了一下正常了。看了编译时的警告帖子http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=48570 貌似不太推荐使用这种方式,推荐使用GLOBALVARIABLE,由于后台没法评测,我就在图表系统下将VARIABLE改成GLOBALVARIABLE试了一下,发现改了之后彻底失效,我的程序大概是这样(逐K线,仅刷最后一根K线运行)VARIABLE:MAXWIN=0;//GLOBALVARIABLE:MAXWIN=0;....IF MAXWIN<WIN THEN BEGIN
MAXWIN:=WIN;END
使用MAXWIN记录开仓以来的最大盈利,WIN表示当前盈利,如果当前盈利大于之前的最大盈利就给MAXWIN赋一个新值
现在的问题是:1. VARIABLE和GLOBALVARIABLE到底什么区别?为什么VARIABLE工作正常的用GLOBALVARIABLE就不能正常工作?2. 后台程序编译的时候金字塔也没有提示说VARIABLE不能用,那VARIABLE到底能不能用于后台,轮询? 到底是是因为后台还是因为轮询影响了VARIABLE的正常工作?3. EXTGBDATA,EXTGBDATASET我看到有两种使用形势,一种就是 EXTGBDATA('MAXWIN'),这种变量名加了单引号,貌似无需申明就可以直接使用,还有一种方式是EXTGBDATA(MAXWIN),没有单引号,之前要给MAXWIN:=xxx赋值,相当于隐性的申明了一下,如果不这样隐性的申明是否需要使用VARIABLE:MAXWIN=0 这样来申明?这些帮助文件里面也没写。4. GLOBALVARIABLE和EXTGBDATA,EXTGBDATASET说是运行效果一样,但我在评测的时候试了一下GLOBALVARIABLE不能正常工作因此没进一步研究,但EXTGBDATA,EXTGBDATASET运行正常,我感觉这两者好像并不一样。我想问GLOBALVARIABLE是专用于后台吗? - 金字塔客服:
http://www.weistock.com/WeisoftHelp/zbgs003.htm 看下全局变量说明
2,后台是只刷新最新的K线,所以VARIABLE定义的全局变量每次刷新都会重新初始化,导致不能记录历史运行情况
3,字符变量,一定要加单引号的。从来没听说过不加单引号的用法
- 用户回复:
不加单引号的用法确实有,见金字塔提供的海龟后台模型的例子
- 网友回复:
看下人家的变量定义,已经定义为字符串变量了
STRENTRYBARPOS:=STRCAT(STKLABEL,'ENTRYBARPOS')
[此贴子已经被作者于2014/5/9 11:19:06编辑过] - 网友回复: 加了单引号,EXTGBDATA,EXTGBDATASET是否就无需申明全局变量?
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容