TradingView
IntelTrading
22 фев 2022 г., 17:18

отличие RSI в TV от классического Обучение

Bitcoin / TetherUS PERPETUAL CONTRACTBinance

Описание

В видео построен индикатор RSI тремя различными способами (штатный и два самописных). Приведено их сравнение, и рассмотрено влияние построения на результаты стратегий.

Подписывайтесь и ставьте лайк если было полезно.
Комментарии
t_den
в документации ТВ указано, что RSI считается по RMA

plot(ta.rsi(close, 7))

// same on pine, but less efficient
pine_rsi(x, y) =>
u = math.max(x - x[1], 0) // upward ta.change
d = math.max(x[1] - x, 0) // downward ta.change
rs = ta.rma(u, y) / ta.rma(d, y)
res = 100 - 100 / (1 + rs)
res

plot(pine_rsi(close, 7))
IntelTrading
@t_den, благодарю за информацию!
Michael_Valikov
Отличный разбор, спасибо автору 👍
IntelTrading
@Michael_Valikov, благодарю!
VrStrat
А как вы в питоне округляете числа после запятой? ТВ по какой-то странной логике округляет. Сколько не округлял, всегда немного разные числа выходят.
IntelTrading
@VrStrat, round(число, а), где а - количество знаков после запятой. В этом плане пайн и питон идентичны
VrStrat
@IntelTrading, а вы библиотеку pandas используете или свои собственные функции пишите?
VrStrat
@IntelTrading, я использую pandas, может быть поэтому?
IntelTrading
@VrStrat, да, преимущественно панды. там есть проблемы с функцией round()?
VrStrat
@IntelTrading, да есть. Например, для вычисления EMA(4) я пишу: Close.ewm(span=4, adjust=False).mean().round(tick). Однако при сравнении с ТВ всегда числа на конце малость другие. Особенно это ярко выражено в парах с btc где идут цены в сатошах с большим кол-вом чисел после запятой.
Ещё