Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @staticmethod
- def movingAvarage(data: List, time=300, step=1):
- min, max = Converter.getLimits(data)
- xs = []
- ys = []
- length = len(data)
- ibegin = iter(data)
- iend = iter(data)
- begin = next(ibegin)
- end = next(iend)
- summe = 0
- len = 0
- for i in range(min, max, step):
- try:
- while begin["date"] < i - time:
- b = begin
- begin = next(ibegin)
- len -= 1
- summe -= b["price"]
- except:
- pass
- try:
- while end["date"] < i:
- e = end
- end = next(iend)
- len += 1
- summe += e["price"]
- except:
- pass
- if len <= 0:
- continue
- xs.append(i)
- ys.append(summe / len)
- return xs, ys
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement