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
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.
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.