Я создаю генератор сигналов на основе классов, который, учитывая список цен и список средних значений, создает «покупку» сигнала «продавать» в данный день, если цена с этого дня больше, чем в среднем, но за день до того, как он был не таким большим, в основном, когда цена пересекает среднее значение, оно дает сигнал продажи и сигнал покупки, когда цена пересекается по средним значениям (она ниже средней в день, но за день до этого не было) это мой код, но он просто возвращает список с пустыми строками из 3-го случая.Сложность с логикой сравнения индексов
class Simplemovingaverage_signals():
def __init__(self, list_of_prices, list_of_averages):
self.list_of_prices = list_of_prices
self.list_of_averages = list_of_averages
def calculate(self):
signals = []
for i, j in zip(self.list_of_prices, self.list_of_averages):
if i > j and not i-1 > j-1:
signals.append('Sell')
elif i < j and not i-1 < j-1:
signals.append('Buy')
else:
signals.append('')
return signals
Ошибка, которую вы получаете, вероятно, является синтаксической ошибкой и не имеет ничего общего с фактической целью кода. Независимо от того, вы должны опубликовать фактическую трассировку, которую вы получили. – Iguananaut
@Iguananaut Я исправил синтаксис, но он не возвращает правильный результат. –