我想以 “公式名+品种名” 为全局变量命名,然后以此读写全局变量。
EXTGBDATA(GBDATA_NAME);//调用方式
GBDATA_NAME是以'FORMULANAME+STKLABEL'的形式命名的
已经尝试过使用STRCAT(DST,STR)函数,貌似不起作用,DST没有变化。
请问谁能解决这个问题?
楼主你用的函数不对
看看EXTGBSTRINGSET(GBDATA_NAME,GBDATA_NAME);这个函数的用法
以下是引用董小球在2012-10-9 13:21:18的发言:
楼主你用的函数不对
看看EXTGBSTRINGSET(GBDATA_NAME,GBDATA_NAME);这个函数的用法
补充一下,我是想用参数化方式命名全局变量,相当于做了一个策略模板。比如公式名被修改后,全局变量名也跟着变化。
比如当前策略名是“策略1”,应用品种是IF10,FORMULANAME()返回应该是"策略1",STKLABEL返回应该是"IF10"
而这个策略对应的全局变量自动被命名为"策略1+IF10",键值可以为数字。
目前遇到的难题是在序列模式下,变量都是常数,不好做。
以下是引用Marcus在2012-10-9 13:52:59的发言:
补充一下,我是想用参数化方式命名全局变量,相当于做了一个策略模板。比如公式名被修改后,全局变量名也跟着变化。
比如当前策略名是“策略1”,应用品种是IF10,FORMULANAME()返回应该是"策略1",STKLABEL返回应该是"IF10"
而这个策略对应的全局变量自动被命名为"策略1+IF10",键值可以为数字。
目前遇到的难题是在序列模式下,变量都是常数,不好做。
我尝试过以下想法,熟悉C语言的应该明白我的意思,但在公式环境下没成功。GBDATA_H还是'H-',后面两句没起作用。
GBDATA_H:='H-';
STRCAT(GBDATA_H,STKLABEL());
STRCAT(GBDATA_H,FORMULANAME());
GBDATA_H:='H-';
GBDATA_H:=STRCAT(GBDATA_H,STKLABEL());
GBDATA_H:=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());
已解决,谢谢!