RSI дивергенция на графике цены, вычисление на python
Пишу Flask веб-приложение. Суть есть список тикеров, цена, RSI, которые получаю через вебсокет биржи. Задача написать код на python, который будет сигнализировать (в моменте на закрытии свечи) о начале дивергенции (RSI) на графике цены по выбранным тикерам. Из изученных индикаторов обнаружил, что используют пивоты. Но не могу получить результат. Вот примерный код. Может кто поможет или подскажет, что делаю не так. Собственно сам код:
```
# Функция для нахождения пивотов
def find_pivots(series, lookback):
pivots_high = (series.shift(lookback) < series) & (series.shift(-lookback) < series)
pivots_low = (series.shift(lookback) > series) & (series.shift(-lookback) > series)
return pivots_high, pivots_low
# Функция для проверки дивергенций
def check_divergence(prices, rsi, lookback):
df = pd.DataFrame({'price': prices, 'rsi': rsi})
df['pivot_high'] = find_pivots(df['price'], lookback)[0]
df['pivot_low'] = find_pivots(df['price'], lookback)[1]
df['pivot_high_rsi'] = find_pivots(df['rsi'], lookback)[0]
df['pivot_low_rsi'] = find_pivots(df['rsi'], lookback)[1]
df['bullish_divergence'] = (df['rsi'] > df['pivot_low_rsi']) & (df['price'] < df['pivot_low'])
df['bearish_divergence'] = (df['rsi'] < df['pivot_high_rsi']) & (df['price'] > df['pivot_high'])
if df['bullish_divergence'].iloc[-1]:
return 'B'
elif df['bearish_divergence'].iloc[-1]:
return 'S'
else:
return
```