您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

有关全局变量使用的几个困惑 [金字塔]

  • 咨询内容: 一开始在图表交易系统使用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  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容