-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdemo_summary.py
101 lines (76 loc) · 1.96 KB
/
demo_summary.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
from vx_enum import *
import vx_bind as vx
class MyFeed(vx.feed):
def __init__(self):
super(MyFeed, self).__init__()
self.fTrigRows = 0
def onInit(self,pData):
print ('onInit')
print (pData)
def onConnect(self,pData):
print ('onConnect')
def onExit(self,pData):
print ('onExit')
def onOpen(self,pData):
print ('onOpen')
print (pData)
self.fEvntRows = 0
def onShut(self,pData):
print ('onShut')
print("Total Triggers {}".format(self.fTrigRows))
#def onEvent(self,pData,pEvent):
#print ('onEvent')
def onProgress(self,pData):
print ('onProgress')
print (pData)
def onError(self,pData):
#print ('onError')
print (pData)
def onWarning(self,pData):
self.fEvntRows = 0
#print ('onWarning')
print (pData)
def onMessage(self,pData):
print ('onMessage')
print (pData)
def onTrigger(self,pData):
#print ('onTrigger')
#print (pData)
tTrigger = pData["trigger"]
if (tTrigger==Trigger.Summary) :
if self.fTrigRows < 100 :
print (pData)
print( "Summary: "
"time:%(time)d,"
"aggressor:%(aggressor)d,"
"quantity:%(quantity)d,"
"orders:%(orders)d,"
"price:%(price)5.2f,"
"volume:%(volume)d,"
"vwap:%(vwap)5.2f,"
"px2vwap_min:%(px2vwap_min)5.2f,"
"px2vwap_max:%(px2vwap_max)5.2f"
"px2vwap_time:%(px2vwap_time)5.2f"
%pData)
self.fTrigRows = self.fTrigRows+1
#def onIdle(self,pData):
#print ('onIdle')
#print (pData)
def test():
myFeed = MyFeed()
myFeed.request ({
'email' : 'xx@zz.com',
'password' : 'password',
'symbol' : 'ZS',
'startDate' : 20230501,
'endDate' : 20230501,
'triggers' : Trigger.Summary,
'weekends' : False,
'realtime' : True,
'fids' : 'kFidsTrds',
'cachePath' : 'E:\\_vx',
'cacheRead' : True,
'progress' : 1
})
if __name__ == "__main__":
test()