移動平均を計算する関数があります。しかし、「購入」シグナルの出力が間違っています。ここに私のコードがあります:
def calculate(self, alist, days=2):
averages = []
signals = []
prices = [float(n) for n in alist[1::2]]
window = collections.deque(maxlen=days)
for price in prices:
window.append(price)
averages.append(0)
signals.append("")
if len(window) == days:
mavg = sum(window) / days
averages[-1] = mavg
if price < mavg:
signals[-1] = "SELL"
elif price > mavg:
signals[-1] = "BUY"
tol=0.01
averages[:] = ("%.2f" % avg if abs(avg)>=tol else ' ' for avg in averages)
return averages, signals
この関数は、当日の終値が当日の移動平均よりも高かったかどうかをチェックします。ただし、買い条件は、当日終値が当日移動平均線よりも高く、前日終値が前日移動平均線よりも低いことです。これをどのように変更できますか?