RSI candle indicator

RSI candle indicator

//@version=5
indicator("RSI Candles with Entries", overlay=false)

// Calculate RSI
rsi = ta.rsi(close, 14)

// Track RSI OHLC values
var float rsi_open = na
var float rsi_high = na
var float rsi_low = na
var float rsi_close = na

if barstate.isnew
rsi_open := rsi
rsi_high := rsi
rsi_low := rsi
else
rsi_high := math.max(rsi_high, rsi)
rsi_low := math.min(rsi_low, rsi)

rsi_close := rsi

// Define entry levels
obLevel = 70
osLevel = 30

// Entry conditions
shortCondition = (rsi_high >= obLevel) and (rsi_close < rsi_open)
longCondition = (rsi_low rsi_open)

// Visual settings
candle_color = rsi_close > rsi_open ? color.green : color.red

// Plot RSI candles
plotcandle(rsi_open, rsi_high, rsi_low, rsi_close, "RSI Candles", candle_color, candle_color)

// Plot entry signals
plotshape(shortCondition, style=shape.triangledown, color=color.red,
location=location.abovebar, size=size.small, title="Short Entry")
plotshape(longCondition, style=shape.triangleup, color=color.green,
location=location.belowbar, size=size.small, title="Long Entry")

// Plot reference lines
hline(obLevel, "Overbought", color=color.red, linestyle=hline.style_dotted)
hline(osLevel, "Oversold", color=color.green, linestyle=hline.style_dotted)

Read More

Share:

Latest News