以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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函数来处理迭代运算的策略,新版的改变会造成比较大的影响。 为此,金字塔依然保留了原来函数功能。 不过用户需要执行如下操作(双击放大)
|
-- 作者: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的发言:
作为一个程序员,对金字塔这种改动方式十分的无语,好歹PEL已经算是一种编程语言了,编程语言的升级最起码要考虑兼容啊,
不反对新功能,但是新功能就不能多加一个关键字来解决吗?比如说加一个STATICVARIABLE之类的关键字实现新功能,这样搞法同一段代码
在不同的版本居然有不同的含义,还需要修改界面配置而不是直接修改代码就能完成这个改动,这种做法实在没法认同。
如果发现新版与旧版本策略发生不同,请务必第一时间先查询软件版本的更新说明。 有变化的部分一定会告知。 若没有在更新说明中写到的,可能是BUg 欢迎各位反馈 |
-- 作者:bbking -- 发布时间:2013/10/9 21:21:35 -- 好在看了楼主这个帖子 否则一用新版本运行老代码实盘 不知道要出多少冤枉钱 |