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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → VBA中,获取一个价格还权的历史数据,怎么写

   

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


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

主题:VBA中,获取一个价格还权的历史数据,怎么写

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


加好友 发短信
等级:论坛游民 帖子:274 积分:841 威望:0 精华:10 注册:2010/7/12 15:25:05
VBA中,获取一个价格还权的历史数据,怎么写  发帖心情 Post By:2014/7/22 17:57:42 [只看该作者]

VBA中,获取一个价格还权的历史数据,怎么写?

实现技术分析图标中的价格还权(剔除合约换月带来的问题)

我找到一个PowerAspect 复权方向,0向前复权 1向后复权。

但具体的不会用。请高手指教!


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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/7/22 18:06:29 [只看该作者]

示例2:
'读取白糖得日线数据
Set HistroyData = marketdata.GetHistoryData("SRX00","ZQ",5)'若要是分钟这里填0
for i = 0 to HistroyData.count-1
if i = 10 then
'显示第11个数据得时间,收盘,成交量
msgbox HistroyData.date(i)
msgbox HistroyData.Close(i)
msgbox HistroyData.Volume(i)
end if
next

 

默认就是价格还权的



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
明心
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:274 积分:841 威望:0 精华:10 注册:2010/7/12 15:25:05
  发帖心情 Post By:2014/7/23 8:22:34 [只看该作者]

不是吧。

你这个例子是读取的剔除连续合约换月造成的大幅跳空的因素了吗?应该不是吧。


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


加好友 发短信
等级:论坛游民 帖子:274 积分:841 威望:0 精华:10 注册:2010/7/12 15:25:05
  发帖心情 Post By:2014/7/23 8:23:57 [只看该作者]

我输出来的值还是有换月跳空的,如何利用这个复权还权功能剔除这个因素

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/7/23 8:45:33 [只看该作者]

只要有除权数据,上面的范例得到的就是没有换月跳空的数据


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
明心
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:274 积分:841 威望:0 精华:10 注册:2010/7/12 15:25:05
  发帖心情 Post By:2014/7/24 10:36:40 [只看该作者]

Formula 对象

公式对象,每个公式都有该对象与之对应。

Formula对象提供了通过VBA系统与公式系统交互的方法,用户可以通过两种途径与FORMULA对象交互:

1、通过自定义函数,系统会每个周期调用自定义函数,然后通过传送的FORMULA对象交互

2、通过图表查询,调用图表上已经计算好的公式数据。

金字塔的公式有两种执行模式,即序列计算和逐周期计算两种模式,详情请参考 这里 的下半部分介绍

示例:

Sub Test()
'该示例将把技术分析主图上的MA指标前两条线输出到EXCEL中,使用前请注意将K线主图打开,并显示MA指标
' 得到框架名称为"Technic",窗格名称为"Main"的窗格对象

Set Grid = Technic.GetGridByName("Main")
Set Formula = Grid.GetFormulaByIndex(1)

'创建EXCEL对象
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add

'循环遍历得到公式线
for i = 0 to Formula.DataSize-1
'将两条数据线插入到EXCEL第一、二列
objExcel.Cells(i+1,1).Value =Formula.GetBufData("MA1",i)
objExcel.Cells(i+1,2).Value =Formula.GetBufData("MA2",i)
objExcel.Cells(i+1,3).Value =Formula.GetBufDateData(i)
next

End Sub


这个公式函数获取的是除权的数据还是没有除权的。


 回到顶部