Diversion

17
def high_accuracy_signal(df):
df['ma10'] = df['close'].rolling(10).mean()
df['ma50'] = df['close'].rolling(50).mean()
df['rsi'] = compute_rsi(df['close'], 14)
df['avg_volume'] = df['volume'].rolling(5).mean()

df['signal'] = (
(df['close'] > df['ma50']) &
(df['rsi'] > 55) & (df['rsi'] < 70) &
(df['volume'] > 2 * df['avg_volume'])
)

return df[['close', 'rsi', 'volume', 'signal']]

def compute_rsi(series, period=14):
delta = series.diff()
gain = delta.where(delta > 0, 0)
loss = -delta.where(delta < 0, 0)
avg_gain = gain.rolling(period).mean()
avg_loss = loss.rolling(period).mean()
rs = avg_gain / avg_loss
rsi = 100 - (100 / (1 + rs))
return rsi

Penafian

Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.