以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp)
-- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5)
---- MarketData 对象的一个问题 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=48261)
|
-- 作者:ati3349
-- 发布时间:2013/1/30 0:14:43
-- MarketData 对象的一个问题
请管理员看看,我用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编辑过]
|
-- 作者:王锋
-- 发布时间:2013/1/30 9:46:12
--
你是通过何种方式进行预警的?
|
-- 作者: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
|
-- 作者:王锋
-- 发布时间:2013/1/30 22:32:48
--
明天客服测试一下
|
-- 作者:rushtaotao
-- 发布时间:2013/1/31 9:01:20
--
测试中。。。请客户耐心等候
|
-- 作者:rushtaotao
-- 发布时间:2013/1/31 9:35:35
--
根据你的代码 预警账号没问题。预警价格为0 稍后看看是什么问题
此主题相关图片如下:123.png

|
-- 作者:rushtaotao
-- 发布时间:2013/1/31 9:41:16
--
没有出预警价格的原因很大可能是事件驱动型造成的,VBA效率比图表高;有下单之后,VBA立马去读取数据,但是此时图表的价格没有显示出来,导致读到价格为0,处理办法就是事件触发后,让VBA代码停顿一下就可以读到。
|
-- 作者:ati3349
-- 发布时间:2013/1/31 13:41:02
-- 感谢管理员的关注
感谢管理员的关注,向金字塔工作人员的认真态度致敬!
本人初学,还请指点:
“让VBA代码停顿一下”怎么实现?
在
“Sub MARKETDATA_AlarmPleaceOrder(Name, Order, OrderType, Action, Volume, Price, Code, Market, Account)”
之后SLEEP吗?
|
-- 作者:王锋
-- 发布时间:2013/1/31 13:45:59
--
问题技术部门正在处理
|
-- 作者:ati3349
-- 发布时间:2013/2/1 11:24:46
-- 加个SLEEP不行
经测试,加个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
|