Guest User

Untitled

a guest
May 21st, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.78 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Feeds</title>
  8. </head>
  9. <body>
  10. <div id="feeds">
  11.  
  12. </div>
  13. </body>
  14. <script>
  15.  
  16. function getRandomInt(min, max) {
  17. return Math.floor(Math.random() * (max - min + 1)) + min;
  18. }
  19.  
  20. var feedUserRoom = {{ user_feed_json }};
  21.  
  22. console.log(feedUserRoom)
  23.  
  24. // User watchlist pairs
  25.  
  26. $pairs = {
  27. "1":["NEVABTC", "MZCBTC", "QUNETH", "LINKETH"],
  28. "2":["INSNBTC","LSKBTC", "BCDETH", "VUCBTC"],
  29. "3":["DRPBTC","LBCBTC", "LINDABTC", "PXIBTC"],
  30. "4":["CAPPBTC","SPACEBTC", "BUCKSBTC", "IOPBTC"],
  31. "5":["KRONEBTC","ARGBTC", "BEANBTC", "MTHETH"]
  32. }
  33.  
  34. var feedSocket = new WebSocket(
  35. 'ws://'+window.location.host+
  36. '/ws/feed/'+feedUserRoom+'/'
  37. );
  38.  
  39. feedSocket.onmessage = function(e) {
  40. var data = JSON.parse(e.data);
  41.  
  42. // When message comes from a server
  43.  
  44. if(data['connected']){
  45. console.log(data)
  46. }else{
  47. console.log("Recieved: ",data)
  48. }
  49. };
  50.  
  51. feedSocket.onclose = function(e) {
  52. console.error('Chat socket closed unexpectedly: ', e.code);
  53. };
  54.  
  55. setTimeout(function(){
  56. console.log("Message send")
  57. var pairNumber = getRandomInt(1,5);
  58.  
  59. console.log("Generated Number: ", pairNumber)
  60. feedSocket.send(JSON.stringify({
  61. 'uniqueid': feedUserRoom,
  62. 'pairs': $pairs[pairNumber]
  63. }));
  64. }, 2000)
  65.  
  66.  
  67. </script>
  68. </html>
  69.  
  70. from channels.generic.webSocket import WebsocketConsumer
  71. import json
  72. import threading
  73. import random
  74.  
  75. # importing aribration method here
  76. from .arbitration_calculate import calculateBid
  77.  
  78.  
  79. t=0
  80. class FeedsConsumers(WebsocketConsumer):
  81.  
  82. def periodic(self):
  83. global t
  84. # n = random.randint(10,200)
  85. pairs = self.watchlistpair
  86. self.sendmsg({"Watchlist": str(calculateBid(pairs))})
  87. # print(calculateBid(['LTCBTC', 'GASBTC']))
  88. t = threading.Timer(5, self.periodic)
  89. t.start()
  90.  
  91. def connect(self):
  92. self.accept()
  93. self.sendmsg({"connected": "Success!"})
  94.  
  95. def disconnect(self, close_code):
  96. self.sendmsg({"disconnected": close_code})
  97.  
  98. def receive(self, text_data):
  99. # print(text_data)
  100. text_data_json = json.loads(text_data)
  101. message = text_data_json['uniqueid']
  102. self.watchlistpair = text_data_json['pairs']
  103. # Reply message
  104. self.sendmsg({
  105. 'uniqueid': message,
  106. 'pairs': text_data_json['pairs']
  107. })
  108.  
  109. # Periodic message
  110. self.periodic()
  111.  
  112. def sendmsg(self, msg):
  113. print(msg)
  114. self.send(json.dumps(msg))
  115.  
  116. # def send(self):
  117. # pass
  118.  
  119. tr_bid = [max_bid_key, exch_list[max_bid_key] + " Bid", bid_list[max_bid_key], bid_vol_list[max_bid_key]]
  120. tr_ask = [min_ask_key, exch_list[min_ask_key] + " Ask", ask_list[min_ask_key], ask_vol_list[min_ask_key]]
  121.  
  122. gap = tr_bid[2] - tr_ask[2]
  123. gap_pct = (tr_bid[2] / tr_ask[2] - 1)*100
  124. mid_mkt_px = (tr_bid[2] + tr_ask[2])/2
  125.  
  126. if tr_bid[0] != tr_ask[0] and tr_bid[2] > tr_ask[2] and tr_bid[2] != 0 and tr_ask[2] != 0: #and gap_pct > 0.09:
  127. ts = int(time.time())
  128. res2 = {
  129. 'SYMBOL': i.upper(),
  130. 'QUOTE' : i[-3:].upper(),
  131. 'BID_EXCH': exch_list[tr_bid[0]], 'BID_PX': tr_bid[2],
  132. 'ASK_EXCH': exch_list[tr_ask[0]], 'ASK_PX': tr_ask[2],
  133. 'GAP': round(gap,8),
  134. 'GAP%': round(gap_pct,8),
  135. 'TS_UNIX': ts,
  136. 'TS': datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S'),
  137. 'YYYY': datetime.datetime.fromtimestamp(ts).strftime('%Y'),
  138. 'MM' : datetime.datetime.fromtimestamp(ts).strftime('%m'),
  139. 'DD' : datetime.datetime.fromtimestamp(ts).strftime('%d'),
  140. 'HR' : datetime.datetime.fromtimestamp(ts).strftime('%H'),
  141. 'MIN' : datetime.datetime.fromtimestamp(ts).strftime('%M'),
  142. }
  143.  
  144. calculated_crypto_pairs[i.upper()] = res2
  145. else:
  146. calculated_crypto_pairs[i.upper()] = {}
  147.  
  148. return calculated_crypto_pairs
  149.  
  150. {'Watchlist': "{'VUCBTC': {}, 'LSKBTC': {}, 'INSNBTC': {}, 'BCDETH': {}}"}
  151. {'Watchlist': "{'LBCBTC': {}, 'DRPBTC': {}, 'LINDABTC': {}, 'PXIBTC': {}}"}
  152. {'Watchlist': "{'MTHETH': {}, 'KRONEBTC': {}, 'BEANBTC': {}, 'ARGBTC': {}}"}
  153. {'Watchlist': "{'LBCBTC': {}, 'DRPBTC': {}, 'LINDABTC': {}, 'PXIBTC': {}}"}
  154. {'Watchlist': "{'VUCBTC': {}, 'LSKBTC': {}, 'INSNBTC': {}, 'BCDETH': {}}"}
  155. {'Watchlist': "{'LBCBTC': {}, 'DRPBTC': {}, 'LINDABTC': {}, 'PXIBTC': {}}"}
  156. {'Watchlist': "{'MTHETH': {}, 'KRONEBTC': {}, 'BEANBTC': {}, 'ARGBTC': {}}"}
  157. {'Watchlist': "{'VUCBTC': {}, 'LSKBTC': {'GAP%': 0.04828002, 'QUOTE': 'BTC', 'TS_UNIX': 1526899276, 'DD': '21', 'BID_PX': 0.00132624, 'ASK_EXCH': 'Binance', 'MIN': '41', 'BID_EXCH': 'Bittrex', 'YYYY': '2018', 'MM': '05', 'ASK_PX': 0.0013256, 'HR': '10', 'TS': '2018-05-21 10:41:16', 'GAP': 6.4e-07, 'SYMBOL': 'LSKBTC'}, 'INSNBTC': {}, 'BCDETH': {}}"}
  158. {'Watchlist': "{'LBCBTC': {}, 'DRPBTC': {}, 'LINDABTC': {}, 'PXIBTC': {}}"}
  159. {'Watchlist': "{'LBCBTC': {}, 'DRPBTC': {}, 'LINDABTC': {}, 'PXIBTC': {}}"}
  160. {'Watchlist': "{'MTHETH': {}, 'KRONEBTC': {}, 'BEANBTC': {}, 'ARGBTC': {}}"}
  161. {'Watchlist': "{'LBCBTC': {}, 'DRPBTC': {}, 'LINDABTC': {}, 'PXIBTC': {}}"}
  162. {'Watchlist': "{'VUCBTC': {}, 'LSKBTC': {'GAP%': 0.04828002, 'QUOTE': 'BTC', 'TS_UNIX': 1526899304, 'DD': '21', 'BID_PX': 0.00132624, 'ASK_EXCH': 'Binance', 'MIN': '41', 'BID_EXCH': 'Bittrex', 'YYYY': '2018', 'MM': '05', 'ASK_PX': 0.0013256, 'HR': '10', 'TS': '2018-05-21 10:41:44', 'GAP': 6.4e-07, 'SYMBOL': 'LSKBTC'}, 'INSNBTC': {}, 'BCDETH': {}}"}
Add Comment
Please, Sign In to add comment