以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  新的V3.02的globalvariable用法有变化!  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=57302)

--  作者:AI无敌
--  发布时间:2013/10/8 21:36:54
--  新的V3.02的globalvariable用法有变化!
 和原来的版本不兼容,搞到原来的策略无法正常运行,强烈要求改回来!

以下一段根据仓位自动计算固定手数的代码没法正常运行了!

////////////////////////////////////////////////////////////////////////////////////////////////////////////////

input: N(65,0,100,1);        //初始仓位N%

GLOBALVARIABLE: SDmax = 0;
GLOBALVARIABLE: SKmax = 0;
GLOBALVARIABLE: MAX_ASSET = 0;
IF MAX_ASSET = 0 THEN
BEGIN
    BZJD:=TACCOUNT(41),NODRAW;    //多头保证金
    BZJK:=TACCOUNT(42),NODRAW;    //空头保证金
    //最大投入资金
    MAX_ASSET := ASSET*N/100;
    SDmax := INTPART(MAX_ASSET/(ABS(BZJD)*C*MULTIPLIER));
    //空头最大手数
    SKmax := INTPART(MAX_ASSET/(ABS(BZJK)*C*MULTIPLIER));   
END




--  作者:AI无敌
--  发布时间:2013/10/8 21:38:35
--  
 比较强烈的鄙视金字塔这种修改变量含义搞得代码不兼容的做法,上述代码在3.01版本还是正常的,3.02居然出问题!
--  作者:AI无敌
--  发布时间:2013/10/8 21:44:33
--  
看了这个,问题解决了,建议默认和旧版本兼容:

 
使用旧版的GLOBALVARIABLE、EX类函数方法
因为新版的GLOBALVARIABLE、EX类函数的运行方式改为只刷新最后一根K线,而V3.02之前的版本是与其他函数一样从本地第一个K线计算至今的值,可以处理迭代运算。
对于用Ex函数来处理迭代运算的策略,新版的改变会造成比较大的影响。
为此,金字塔依然保留了原来函数功能。
不过用户需要执行如下操作(双击放大)
图片点击可在新窗口打开查看
勾选了该选项,
EXTGBDATASET、GLOBALVARIABLE就按照V3.02之前的规则运行。



--  作者:lichenghu
--  发布时间:2013/10/9 8:59:05
--  
 这个选项就是为了新旧版本的兼容,楼主可能忘关注下版本更新情况了
--  作者:RogarZ
--  发布时间:2013/10/9 9:44:12
--  

如果发现新版与旧版本策略发生不同,请务必第一时间先查询软件版本的更新说明。

有变化的部分一定会告知。

若没有在更新说明中写到的,可能是BUg

欢迎各位反馈


--  作者:AI无敌
--  发布时间:2013/10/9 20:20:06
--  
以下是引用RogarZ在2013/10/9 9:44:12的发言:

如果发现新版与旧版本策略发生不同,请务必第一时间先查询软件版本的更新说明。

有变化的部分一定会告知。

若没有在更新说明中写到的,可能是BUg

欢迎各位反馈

作为一个程序员,对金字塔这种改动方式十分的无语,好歹PEL已经算是一种编程语言了,编程语言的升级最起码要考虑兼容啊, 不反对新功能,但是新功能就不能多加一个关键字来解决吗?比如说加一个STATICVARIABLE之类的关键字实现新功能,这样搞法同一段代码 在不同的版本居然有不同的含义,还需要修改界面配置而不是直接修改代码就能完成这个改动,这种做法实在没法认同。
--  作者:bbking
--  发布时间:2013/10/9 21:21:35
--  

好在看了楼主这个帖子

否则一用新版本运行老代码实盘

不知道要出多少冤枉钱