indicator · own pane · open source

Inverse Fisher RSI

Deepwick · @deepwickv1Updated 2 Oct 2026▲ 0 users
Running…
Loading chart…

About

Inverse Fisher RSI runs RSI through a hyperbolic-tan transform so its values cluster near ±1 instead of squashing inside 30-70. Far cleaner extremes than raw RSI.

  • Above +0.5 = overbought, below -0.5 = oversold.
  • Great filter for mean-reversion systems on choppy assets.
  • Raise Length for fewer, slower signals.

Source code

//@version=5
indicator("Inverse Fisher RSI", overlay=false)
len = input.int(14, "RSI Length", minval=2, maxval=100)
src = input.source("close", "Source")
rsi = ta.rsi(src, len)
v = 0.1 * (rsi - 50)
ifrs = (math.exp(2.0 * v) - 1.0) / (math.exp(2.0 * v) + 1.0)
hline(0.5, "Overbought", color=color.gray, linestyle=hline.style_dashed)
hline(-0.5, "Oversold", color=color.gray, linestyle=hline.style_dashed)
hline(0, "Zero", color=color.gray, linestyle=hline.style_dotted)
p_IF_RSI = plot(ifrs, "IF RSI", color=color.purple, linewidth=2)
alertcondition(ta.crossover(ifrs, 0.5), "IF RSI overbought", "Inverse Fisher RSI crossed above 0.5")
alertcondition(ta.crossunder(ifrs, -0.5), "IF RSI oversold", "Inverse Fisher RSI crossed below -0.5")

Comments

No comments yet.

Sign in to comment.