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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助]VBA里如何调用某个品种的K线图

   

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


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

主题:[求助]VBA里如何调用某个品种的K线图

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


加好友 发短信
等级:论坛游民 帖子:209 积分:0 威望:0 精华:0 注册:2016/4/22 15:46:27
[求助]VBA里如何调用某个品种的K线图  发帖心情 Post By:2017/2/14 15:30:16 [只看该作者]

在我的VBA交易程序中有一个界面能显示当前持仓的条目,我希望能在点击列表中某个条目时能在金字塔显示相应合约的K线图(就像点击账户栏里的持仓品种那样),请问在VBA中如何实现呢?

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


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

相关参考范例代码:

call Application.ActivateFrameWithCode("MainFrame",Grid.StockLabel,Grid.Market,Grid.CycType)



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

金字塔-技术部

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

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

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


加好友 发短信
等级:论坛游民 帖子:209 积分:0 威望:0 精华:0 注册:2016/4/22 15:46:27
  发帖心情 Post By:2017/2/15 13:44:03 [只看该作者]

谢谢

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


加好友 发短信
等级:论坛游民 帖子:209 积分:0 威望:0 精华:0 注册:2016/4/22 15:46:27
  发帖心情 Post By:2017/2/15 17:40:46 [只看该作者]

还有一个问题,我想用以下代码获取主窗格的周期类型:
以下内容为程序代码:

1 dim grid
2 set grid=Technic.GetGridByName("Main")
3 application.MsgOut grid.cyctype

但却弹出出错信息:调用了尚未启动运行框架中的属性或方法。

请问如何检测到框架是否已启动运行?

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


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

Application 对象

IsActivateFrame 确定一个框架是否激活显示状态。例如:IsActivateFrame("Technic") 确认框架名称为Technic的技术分析主框架是否被打开,是返回1否则为0。



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

金字塔-技术部

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

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

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


加好友 发短信
等级:论坛游民 帖子:209 积分:0 威望:0 精华:0 注册:2016/4/22 15:46:27
  发帖心情 Post By:2017/2/16 8:54:34 [只看该作者]

请问"Technic"和"MainFrame"两个框架有什么不一样?

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


加好友 发短信
等级:论坛游民 帖子:209 积分:0 威望:0 精华:0 注册:2016/4/22 15:46:27
  发帖心情 Post By:2017/2/16 9:23:45 [只看该作者]

我想实现:如果原来框架是分时图,就在点击持仓的条目时显示对应品种的分时图;如果原来框架是K线图,就在点击持仓条目时显示K线图;如果框架还没有激活,就激活日K线图。代码如下:
以下内容为程序代码:

1     If Application.IsActivateFrame("MainFrame") then
2         Set Grid=MainFrame.GetGridByName("Main")
3         If Grid.MinuteGraph then
4             Call Application.ActivateFrameWithCode("MainFrame",Contract,Market,-1)
5         Else
6             Call Application.ActivateFrameWithCode("MainFrame",Contract,Market,Grid.CycType)
7         End If
8     Else
9         Call Application.ActivateFrameWithCode("MainFrame",Contract,Market,5)
10     End If

但当我每次点击持仓条目时都是显示日K线图,请问代码哪里出问题了?
[此贴子已经被作者于2017-2-16 9:24:48编辑过]

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


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

MainFrame 是一个内置的主框架,金字塔会根据情况自动与Technic K线图和 分时图框架进行自动切换的。

因此

Set Grid=MainFrame.GetGridByName("Main")
         If Grid.MinuteGraph then
这都是错误的写法,请改到

 

Set Grid=Technic.GetGridByName("Main")



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

金字塔-技术部

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

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

Email:service@weistock.com
 回到顶部