Advertisement
oneat

arghhhh

Dec 22nd, 2017
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.00 KB | None | 0 0
  1.     @staticmethod
  2.     def movingAvarage(data: List, time=300, step=1):
  3.         min, max = Converter.getLimits(data)
  4.         xs = []
  5.         ys = []
  6.  
  7.         length = len(data)
  8.  
  9.         ibegin = iter(data)
  10.         iend = iter(data)
  11.  
  12.         begin = next(ibegin)
  13.         end = next(iend)
  14.  
  15.         summe = 0
  16.         len = 0
  17.  
  18.         for i in range(min, max, step):
  19.             try:
  20.                 while begin["date"] < i - time:
  21.                     b = begin
  22.                     begin = next(ibegin)
  23.                     len -= 1
  24.                     summe -= b["price"]
  25.             except:
  26.                 pass
  27.  
  28.             try:
  29.                 while end["date"] < i:
  30.                     e = end
  31.                     end = next(iend)
  32.                     len += 1
  33.                     summe += e["price"]
  34.             except:
  35.                 pass
  36.  
  37.             if len <= 0:
  38.                 continue
  39.  
  40.             xs.append(i)
  41.             ys.append(summe / len)
  42.            
  43.         return xs, ys
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement