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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 怎么保存交易记录和成交记录到Access或者Excel

   

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


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

主题:怎么保存交易记录和成交记录到Access或者Excel

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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
怎么保存交易记录和成交记录到Access或者Excel  发帖心情 Post By:2011/1/3 17:11:05 [只看该作者]

我想使用一个后台程序自动记录下单时的委托记录和成交后的成交记录到Access或者Excel中,供分析之用,请问前辈们,我该如何实现呢?

 


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


加好友 发短信
等级:小飞侠 帖子:1882 积分:3310 威望:0 精华:15 注册:2010/3/15 13:11:56
  发帖心情 Post By:2011/1/3 17:20:22 [只看该作者]

以下内容为程序代码:

1 Sub Stat()
2
3     dim date
4     dim code
5     dim market
6     dim ordertype
7     dim action
8     dim price
9     dim volume
10     dim kaiping
11     
12     set oexcel=createobject("excel.application")
13     oexcel.visible=true
14     oexcel.workbooks.add
15     
16     oexcel.cells(1,1).value="日期"
17     oexcel.cells(1,2).value="合约"
18     oexcel.cells(1,3).value="时间"
19     oexcel.cells(1,4).value="方向"
20     oexcel.cells(1,5).value="价格"
21     oexcel.cells(1,6).value="手数"
22     oexcel.cells(1,7).value="类型"    
23     
24     for i=1 to order.tradecount2        
25         call order.tradedetalied2(i-1,date,code,market,ordertype,action,price,volume,kaiping,"666666")
26         
27         oexcel.cells(i+1,1).value=left(date,9)
28         oexcel.cells(i+1,2).value=code
29         oexcel.cells(i+1,3).value=right(date,8)
30                 
31         if action=0 then
32             oexcel.cells(i+1,4).value="买"
33         elseif action=1 then
34             oexcel.cells(i+1,4).value="卖"
35         end if
36         
37         oexcel.cells(i+1,5).value=price    
38         oexcel.cells(i+1,6).value=volume
39         
40         if kaiping=0 then
41             oexcel.cells(i+1,7).value="开"
42         elseif kaiping=1 then
43             oexcel.cells(i+1,7).value="平"
44         end if
45     next
46 End Sub
[此贴子已经被作者于2011-1-3 17:20:59编辑过]

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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2011/1/3 17:59:15 [只看该作者]

非常感谢,我把这个代码放在一个模块里了,可是我在哪里触发这段代码呢?是不是在PlaceOrder里?

Sub ORDER_PleaceOrder(Mode, Code, Market, OrderType, Action, Price, Vol, Result)
     Stat
End Sub


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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2011/1/3 18:40:05 [只看该作者]

我用一个宏调用这段代码,可是提示:编译器错误(28),堆栈溢出,运行不了,excel也没有打开?


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


加好友 发短信
等级:新手上路 帖子:45 积分:270 威望:0 精华:0 注册:2010/10/14 16:38:31
  发帖心情 Post By:2011/1/4 9:24:26 [只看该作者]

EXCEL里的我还没试过 放在INI的天天用

也不必使用什么宏 直接在FUNCATION里

Sub ORDER_OrderStatusEx(OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping)
if Status="Tradeing" or Status="Filled" and Kaiping=1 or Kaiping=2 then
  call Document.WritePrivateProfileFloat(OrderID, "Filled numbers", Filled, "C:\ xxx.ini")
 call Document.WritePrivateProfileString(OrderID, "Current Time", currenttime, "C:\ xxx.ini")
 call Document.WritePrivateProfileString(OrderID, "Current Date", currentdate, "C:\ xxx.ini")

end if
 
end sub


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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2011/1/7 11:18:34 [只看该作者]

Sub ORDER_OrderStatusEx(OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping)
  '保存到数据库
  Set adoConn=CreateObject("Adodb.Connection")
 adoConn.Open "Provider=MicroSoft.Jet.OLEDB.4.0;Data Source=D:\test.mdb"
 strSql="Insert into tblOrderStatusEx(OrderID,Status,Filled,Remaining,Price,Code,Market,OrderType,Aspect,Kaiping) "
 strSql=strSql & "Values('"& OrderID & "','" & Status &"'," & cstr(Filled) & "," & cstr(Remaining) & "," & cstr(Price)
 strSql=strSql & ",'" & Code & "','" & Market & "','" & OrderType & "','" & Aspect & "','" & Kaiping & "')"
 adoConn.Execute(strSql)
 adoConn.Close

End Sub

 

[此贴子已经被作者于2011-1-7 11:18:54编辑过]

 回到顶部