Rss & SiteMap

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

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

标题:VBA字符转换函数getstringptr有问题?

1楼
qihuo2018 发表于:2018/3/23 15:35:56
金字塔图表的函数:
1.当前公式名称:formulaname;
2.当前合约代码:stkname;
3.当前市场代码:marketlabel;
这以上三个函数的返回值均是地址,不能直接被VBA使用。

VBA的下单函数order.buy()需要合约代码和市场代码不能直接使用,需要转换,我用以下函数提示缺少对象,请问老师,该如何修改?谢谢!
Function gtr3(Formula,name3)

    strname1=formula.getstringptr(name3)
    gtr3=strname1

End Function

另,后台交易如何取得合约代码和市场代码?

2楼
无为剑 发表于:2018/3/23 18:42:30

请问你上述VBS代码有何问题?你意思是没法打印出name3的字符串吗?

3楼
qihuo2018 发表于:2018/3/23 21:38:58
谢谢老师回复!
提示缺少对象。
缺少以下红色字体部分,不知道该怎么写?
Function gtr3(Formula,name3)
     set formula=?;
    strname1=formula.getstringptr(name3)
    gtr3=strname1

End Function

另,后台交易如何取得合约代码和市场代码?
4楼
无为剑 发表于:2018/3/23 21:45:13

  set formula=?; 这句话是不要的,formula对象是触发gr3自定义函数事件时带过来的对象,可以直接使用。

 

如果你需要直接获取你需要的信息,可以直接在formula对象中获取,示例:

 

Set Grid =  formula.ParentGrid

 

Grid对象里都包含你需要的信息

 

5楼
qihuo2018 发表于:2018/3/23 22:41:46
谢谢老师!
程序通过!
但是,当前策略名称取得不对:
 Set Grid =  formula.ParentGrid
'取得的是框架名称
  formula_name=grid.name
取当前策略名称(公式名称)怎么写?查了好半天没有查到。


6楼
马良 发表于:2018/3/24 15:10:12
策略名称在 formula对象中,在编程手册上能查到
共6 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.02100 s, 2 queries.