-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathtrader.py
56 lines (43 loc) · 1.53 KB
/
trader.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
import os, sys, signal, time
from threading import Thread
from allTrades import AllTrades
from graph import Graph
from connector import Connector
class Trader(Graph, AllTrades, Connector):
def __init__(self):
self.disableLogging()
try:
TradeDataSource = Thread(target=self.getDataSource, args=(self.allTradesCallback,))
TradeDataSource.daemon = True
TradeDataSource.start()
GraphData = Thread(target=self.getData, args=(self.graphCallback,))
GraphData.daemon = True
GraphData.start()
LevelII = Thread(target=self.subscribeQuoteLevelIIWithAllTrades, args=(self.levelIICallback,))
LevelII.daemon = True
LevelII.start()
while True: time.sleep(100)
except (KeyboardInterrupt, SystemExit):
print '\n! Received keyboard interrupt, quitting threads.\n'
def clear(self):
pass
def disableLogging(self):
sys.stdout = open(os.devnull, 'w')
def enableLogging(self):
sys.stdout = sys.__stdout__
def allTradesCallback(self, trade):
# self.enableLogging()
# print 'allTradesCallback', trade
# self.disableLogging()
def graphCallback(self):
pass
# self.enableLogging()
# print 'graphCallback'
# self.disableLogging()
def levelIICallback(self):
pass
# self.enableLogging()
# print 'levelIICallback'
# self.disableLogging()
if __name__ == "__main__":
robot = Trader()