在python中计算RSI不会得到与Tradingview相同的结果

2024-09-30 02:19:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用python计算RSI,一切都很好。然而,我没有得到与Tradingview的RSI相同的结果,我不明白为什么。你知道问题出在哪里吗?多谢各位

正如您在下面看到的,顶部的RSI是用Python编码的,底部的是Tradingview

RSI Python vs RSI Tradingview

rsi_dif = self.df['Close'].diff()
rsi_gain = pd.DataFrame([x if x > 0 else 0 for x in rsi_dif])
rsi_perte = pd.DataFrame([abs(x) if x < 0 else 0 for x in rsi_dif])
rsi_gain_moy = rsi_gain.rolling(14).mean()
rsi_perte_moy = rsi_perte.rolling(14).mean()
rsi_rs =  rsi_gain_moy.div(rsi_perte_moy)
rsi =  []

for ind in rsi_rs.index:
    val = ( 100 - ( 100 / ( 1 + rsi_rs[0][ind] ) ) )
    rsi.append(val)

Tags: indataframeforifelsepdgainrs

热门问题