RSI reversion
Forge API 1Updated 13 Oct 2026
Strategy
The entry is true on every bar the RSI is under buy_below, and the exit on every bar it is over exit_above. The stop sits two average true ranges from the entry, and the target is twice the distance to the stop.
rsi_reversion.pypythonOpen in the editor
import forge as fg
from forge import param, ta
FORGE_API = 1
class RsiReversion(fg.Strategy):
"""Buys when the RSI falls under a level and leaves when it recovers."""
meta = fg.Meta(title="RSI reversion", short="RSIR", tags=["mean reversion"])
bars = fg.bars.Time("H1")
direction = "long"
period = param.Int(14, min=5, max=40, step=1, group="RSI")
buy_below = param.Int(30, min=10, max=40, step=5, group="RSI")
exit_above = param.Int(55, min=45, max=70, step=5, group="RSI")
def compute(self, d) -> fg.Signals:
rsi = ta.rsi(d.close, self.period)
return fg.Signals(
long_entry=rsi < self.buy_below,
long_exit=rsi > self.exit_above,
stop=fg.Stop.atr(mult=2.0, length=14),
target=fg.Target.r(value=2.0),
)Test in Forge ↗
Opens oathra.app.
Was this page helpful?