以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 求公式环境中全局变量动态命名方法 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=29680) |
-- 作者:Marcus -- 发布时间:2012/10/9 11:44:34 -- 求公式环境中全局变量动态命名方法 我想以 “公式名+品种名” 为全局变量命名,然后以此读写全局变量。 EXTGBDATA(GBDATA_NAME);//调用方式 GBDATA_NAME是以\'FORMULANAME+STKLABEL\'的形式命名的 已经尝试过使用STRCAT(DST,STR)函数,貌似不起作用,DST没有变化。 请问谁能解决这个问题? |
-- 作者:lichenghu -- 发布时间:2012/10/9 13:10:06 -- 您好,请稍等,工作人员正在解答中 |
-- 作者:董小球 -- 发布时间:2012/10/9 13:21:18 -- 楼主你用的函数不对 看看EXTGBSTRINGSET(GBDATA_NAME,GBDATA_NAME);这个函数的用法
|
-- 作者:Marcus -- 发布时间:2012/10/9 13:52:59 -- 以下是引用董小球在2012-10-9 13:21:18的发言: 补充一下,我是想用参数化方式命名全局变量,相当于做了一个策略模板。比如公式名被修改后,全局变量名也跟着变化。楼主你用的函数不对 看看EXTGBSTRINGSET(GBDATA_NAME,GBDATA_NAME);这个函数的用法
比如当前策略名是“策略1”,应用品种是IF10,FORMULANAME()返回应该是"策略1",STKLABEL返回应该是"IF10" 而这个策略对应的全局变量自动被命名为"策略1+IF10",键值可以为数字。 目前遇到的难题是在序列模式下,变量都是常数,不好做。 |
-- 作者:Marcus -- 发布时间:2012/10/9 14:23:02 -- 以下是引用Marcus在2012-10-9 13:52:59的发言: 我尝试过以下想法,熟悉C语言的应该明白我的意思,但在公式环境下没成功。GBDATA_H还是\'H-\',后面两句没起作用。补充一下,我是想用参数化方式命名全局变量,相当于做了一个策略模板。比如公式名被修改后,全局变量名也跟着变化。 比如当前策略名是“策略1”,应用品种是IF10,FORMULANAME()返回应该是"策略1",STKLABEL返回应该是"IF10" 而这个策略对应的全局变量自动被命名为"策略1+IF10",键值可以为数字。 目前遇到的难题是在序列模式下,变量都是常数,不好做。 GBDATA_H:=\'H-\'; STRCAT(GBDATA_H,STKLABEL()); STRCAT(GBDATA_H,FORMULANAME()); |
-- 作者:王锋 -- 发布时间:2012/10/10 16:33:15 -- GBDATA_H:=\'H-\'; GBDATA_H:=STRCAT(GBDATA_H,STKLABEL()); GBDATA_H:=STRCAT(GBDATA_H,FORMULANAME()); |
-- 作者:Marcus -- 发布时间:2012/10/11 13:14:24 -- 以下是引用王锋在2012-10-10 16:33:15的发言: 已解决,谢谢!
GBDATA_H:=\'H-\'; GBDATA_H:=STRCAT(GBDATA_H,STKLABEL()); GBDATA_H:=STRCAT(GBDATA_H,FORMULANAME()); |