Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:求公式环境中全局变量动态命名方法

1楼
Marcus 发表于:2012/10/9 11:44:34
  我想以 “公式名+品种名” 为全局变量命名,然后以此读写全局变量。

EXTGBDATA(GBDATA_NAME);//调用方式

GBDATA_NAME是以'FORMULANAME+STKLABEL'的形式命名的
已经尝试过使用STRCAT(DST,STR)函数,貌似不起作用,DST没有变化。

请问谁能解决这个问题?
2楼
lichenghu 发表于:2012/10/9 13:10:06
您好,请稍等,工作人员正在解答中
3楼
董小球 发表于:2012/10/9 13:21:18
楼主你用的函数不对
看看EXTGBSTRINGSET(GBDATA_NAME,GBDATA_NAME);这个函数的用法
4楼
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",键值可以为数字。


目前遇到的难题是在序列模式下,变量都是常数,不好做。
5楼
Marcus 发表于:2012/10/9 14:23:02
以下是引用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());

6楼
王锋 发表于:2012/10/10 16:33:15
GBDATA_H:='H-';
GBDATA_H:=STRCAT(GBDATA_H,STKLABEL());
GBDATA_H:=STRCAT(GBDATA_H,FORMULANAME());

7楼
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());

已解决,谢谢!
共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 3 queries.