欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 在VBA里如何调用系统的函数?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有9492人关注过本帖树形打印复制链接

主题:在VBA里如何调用系统的函数?

帅哥哟,离线,有人找我吗?
xm1212
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:43 积分:240 威望:0 精华:0 注册:2010/12/16 9:11:28
在VBA里如何调用系统的函数?  发帖心情 Post By:2011/6/23 15:52:53 [显示全部帖子]

 在VBA里如何调用系统的函数?比如ma(c,5)取五日均线函数。或者 MACD:="MACD"(26,12,9);
就是说在系统公式里可以直接用的语句,在VBA里可以直接调用吗?

 回到顶部
帅哥哟,离线,有人找我吗?
xm1212
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:43 积分:240 威望:0 精华:0 注册:2010/12/16 9:11:28
谢谢  发帖心情 Post By:2011/6/23 16:41:42 [显示全部帖子]

 我的意思是在VBA里调用系统函数,不是在系统里调用VBA函数。是我没理解你的话吗?

 回到顶部
帅哥哟,离线,有人找我吗?
xm1212
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:43 积分:240 威望:0 精华:0 注册:2010/12/16 9:11:28
非常感谢  发帖心情 Post By:2011/6/23 16:59:07 [显示全部帖子]

 能够给举个例子?意思听明白了,但是自定义函数的值如何能保证是最新的实时数据?定义个自定义函数系统能自动运行吗?如果不运行,在VBA 里调用变量得到的是实时的数据吗?

 回到顶部
帅哥哟,离线,有人找我吗?
xm1212
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:43 积分:240 威望:0 精华:0 注册:2010/12/16 9:11:28
谢谢你,很有帮助,但是还有问题。  发帖心情 Post By:2011/6/23 22:10:54 [显示全部帖子]

 Set Formula = marketdata.STKINDI("m01","dq","ma(5,10,20,60)",0,0) '调用大连期货豆粕 M1201合约的1分钟的MA移动平均线指标,参数依次是5,10,20,60
userform2_textbox2.text=Formula.GetBufData("ma1",60) '显示第60根k线上的MA1指标线数值
userform2_textbox3.text=Formula.GetBufData("ma2",60) '显示第60根k线上的MA2指标线数值
userform2_textbox4.text=Formula.GetBufData("ma3",60) '显示第60根k线上的MA3指标线数值
userform2_textbox5.text=Formula.GetBufData("ma4",60) '显示第60根k线上的MA4指标线数值

得到的结果分别为
3284.4
3284.4
3285
3282.583

但是实际上我觉得应该是2011-06-23日的十点整数据吧?
我想得到的数据应该是
3291.8
3292
3292.85
9294.417
能否告诉我错在哪了?
[此贴子已经被作者于2011-6-23 22:11:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
xm1212
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:43 积分:240 威望:0 精华:0 注册:2010/12/16 9:11:28
还有个问题  发帖心情 Post By:2011/6/24 8:40:53 [显示全部帖子]

要想取开盘以后运行了多少分钟必须这么取吗?这样就必须给主窗口设置成程序监测的板块,有更好的解决办法吗?就是说可以不必手动修改主窗口的内容,直接取各个市场的开盘时间。


  Set Grid = Technic.GetGridByName("Main")
 set Market = grid.GetMarketinfo()
 userform3_textbox1.text=int(Market.OpenSeconds(TIME)/60)

 回到顶部
帅哥哟,离线,有人找我吗?
xm1212
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:43 积分:240 威望:0 精华:0 注册:2010/12/16 9:11:28
谢谢  发帖心情 Post By:2011/6/24 11:47:12 [显示全部帖子]

 日期如何定位? Set Formula = marketdata.STKINDI("m01","dq","ma(5,10,20,60)",0,0) '调用大连期货豆粕 M1201合约的1分钟的MA移动平均线指标,参数依次是5,10,20,60
Co 为坐标轴类型 0交易日坐标 1自然日 2交易交易时间 是改这个参数吗?给改成1,自然日,然后 2011-06-23 ?还是怎么改?

 回到顶部
帅哥哟,离线,有人找我吗?
xm1212
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:43 积分:240 威望:0 精华:0 注册:2010/12/16 9:11:28
范例好像有点问题  发帖心情 Post By:2011/6/24 13:19:21 [显示全部帖子]

  dim BuyHoding1
 dim hold2
 dim BuyTodayHoding1
 dim MktPrice2
 dim SellHoding1
 dim AvgPrice2
 dim SellTodayHoding1
 dim MktValue2
 dim AgeCost2
 dim BuyCost
 dim SellCost
 dim PNL
 Dim UseMargin

 '取指定持仓品种信息
 call Order.HoldingInfoByCode("M01","dq",Hold2,MktPrice2,AvgPrice2,MktValue2,AgeCost2,PNL)
'call Order.HoldingInfoByCode2("M01","dq",BuyHoding1,BuyCost,BuyTodayHoding1,SellHoding1,SellCost,SellTodayHoding1,PNL,UseMargin,"800635")

根据范例写的,总是提示我 编译器424错误,order 缺少对象。

 回到顶部