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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → MarketData 对象的一个问题

   

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


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

主题:MarketData 对象的一个问题

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


加好友 发短信
等级:新手上路 帖子:8 积分:46 威望:0 精华:0 注册:2012/6/2 0:31:21
MarketData 对象的一个问题  发帖心情 Post By:2013/1/30 0:14:43 [只看该作者]

请管理员看看,我用MarketData 对象AlarmPleaceOrder方法,取不到 预警价格 和 交易账户 其他数据没问题,下面是源码:

Sub MARKETDATA_AlarmPleaceOrder(Name, Order, OrderType, Action, Volume, Price, Code, Market, Account)
  
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.OpenTextFile("D:\交易\myfile.txt",8,True)
    a.WriteLine( "账户 " & Account & "下单类别"& Order &" 手数" & Volume &" 预警价格" &  Price &  " 时间" & now)
    a.Close

End Sub

下面是myfile.txt中的记录(实盘):

账户 下单类别0 手数1 预警价格0 时间2013-1-28 9:35:01
账户 下单类别1 手数1 预警价格0 时间2013-1-28 11:16:00
账户 下单类别0 手数1 预警价格0 时间2013-1-29 9:34:01
账户 下单类别1 手数1 预警价格0 时间2013-1-29 15:13:01

百思不得其解,恳请指点!
[此贴子已经被作者于2013-1-30 0:15:41编辑过]

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


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

你是通过何种方式进行预警的?


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

金字塔-技术部

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

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

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


加好友 发短信
等级:新手上路 帖子:8 积分:46 威望:0 精华:0 注册:2012/6/2 0:31:21
后台程式化交易  发帖心情 Post By:2013/1/30 22:26:24 [只看该作者]

后台程式化交易
预警正常,下单正常
图片点击可在新窗口打开查看此主题相关图片如下:截图-1.jpg
图片点击可在新窗口打开查看

这是今天的记录:
账户 预警名称HTSCL01下单类别2 手数1 预警价格0 时间2013-1-30 9:33:11
账户 预警名称HTSCL01下单类别3 手数1 预警价格0 时间2013-1-30 15:13:11


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


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

明天客服测试一下


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

金字塔-技术部

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

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

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


加好友 发短信 czt
等级:蜘蛛侠 帖子:1445 积分:6114 威望:0 精华:3 注册:2012/1/16 10:31:19
  发帖心情 Post By:2013/1/31 9:01:20 [只看该作者]

测试中。。。请客户耐心等候

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


加好友 发短信 czt
等级:蜘蛛侠 帖子:1445 积分:6114 威望:0 精华:3 注册:2012/1/16 10:31:19
  发帖心情 Post By:2013/1/31 9:35:35 [只看该作者]

根据你的代码 预警账号没问题。预警价格为0 稍后看看是什么问题


图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看

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


加好友 发短信 czt
等级:蜘蛛侠 帖子:1445 积分:6114 威望:0 精华:3 注册:2012/1/16 10:31:19
  发帖心情 Post By:2013/1/31 9:41:16 [只看该作者]

没有出预警价格的原因很大可能是事件驱动型造成的,VBA效率比图表高;有下单之后,VBA立马去读取数据,但是此时图表的价格没有显示出来,导致读到价格为0,处理办法就是事件触发后,让VBA代码停顿一下就可以读到。


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


加好友 发短信
等级:新手上路 帖子:8 积分:46 威望:0 精华:0 注册:2012/6/2 0:31:21
感谢管理员的关注  发帖心情 Post By:2013/1/31 13:41:02 [只看该作者]

感谢管理员的关注,向金字塔工作人员的认真态度致敬!

 

本人初学,还请指点:

“让VBA代码停顿一下”怎么实现?

Sub MARKETDATA_AlarmPleaceOrder(Name, Order, OrderType, Action, Volume, Price, Code, Market, Account)

之后SLEEP吗?


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


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

问题技术部门正在处理


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

金字塔-技术部

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

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

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


加好友 发短信
等级:新手上路 帖子:8 积分:46 威望:0 精华:0 注册:2012/6/2 0:31:21
加个SLEEP不行  发帖心情 Post By:2013/2/1 11:24:46 [只看该作者]

经测试,加个SLEEP不解决问题,代码如下:
Sub MARKETDATA_AlarmPleaceOrder(Name, Order, OrderType, Action, Volume, Price, Code, Market, Account)
  
    call StockSleep(5000)

    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.OpenTextFile("D:\交易\myfile.txt",8,True)
    a.WriteLine( "账户 " & Account & "下单类别"& Order &" 手数" & Volume &" 预警价格" &  Price &  " 时间" & now)
    a.Close

End Sub

Sub StockSleep(slSecond)
Set Wrap = CreateObject("DynamicWrapper")
Wrap.Register "KERNEL32.DLL", "Sleep","i=u","R=l"
Wrap.Sleep(slSecond)
End Sub


 回到顶部
总数 14 1 2 下一页