Rss & SiteMap

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

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

标题:MarketData 对象的一个问题

1楼
ati3349 发表于: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楼
王锋 发表于:2013/1/30 9:46:12
你是通过何种方式进行预警的?
3楼
ati3349 发表于: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楼
王锋 发表于:2013/1/30 22:32:48
明天客服测试一下
5楼
rushtaotao 发表于:2013/1/31 9:01:20
测试中。。。请客户耐心等候
6楼
rushtaotao 发表于:2013/1/31 9:35:35

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


图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看
7楼
rushtaotao 发表于:2013/1/31 9:41:16

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

8楼
ati3349 发表于:2013/1/31 13:41:02

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

 

本人初学,还请指点:

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

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

之后SLEEP吗?

9楼
王锋 发表于:2013/1/31 13:45:59
问题技术部门正在处理
10楼
ati3349 发表于: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 条记录, 每页显示 10 条, 页签: [1] [2]


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