The technical indicator “Stochastic RSI + Heikin Ashi”, created by user CoffeeshopCrypto, is a hybrid tool that merges two complementary analytical approaches: the Stochastic RSI oscillator and Heikin Ashi candles. Its aim is to provide a clearer and smoother reading of market momentum, helping traders filter price noise and more accurately identify potential turning points.
This indicator is based on two core elements:
Combining both provides a clearer picture of market momentum while reducing the impact of false signals common with traditional oscillators.
The indicator performs the following operations:
lengthRSI).lengthStoch).smoothK) and %D (smoothD) lines.Key inputs include:
lengthRSI: RSI length (default: 14)lengthStoch: stochastic length applied to RSI (default: 14)smoothK: smoothing period for %K (default: 8)smoothD: smoothing period for %D (default: 3)Reference levels:
These can be adjusted to suit your preferred signal sensitivity.
This indicator is particularly useful for:
It serves as both a trend-following filter and a momentum reversal signal generator.
//------------------------------------------------//
//PRC_Stochastic RSI + Heikin Ashi
//version = 0
//02.05.25
//Iván González @ www.prorealcode.com
//Sharing ProRealTime knowledge
//------------------------------------------------//
//-----Inputs
//------------------------------------------------//
src=close
//---Stochastic RSI inputs
lengthRSI=14 //RSI length
lengthStoch=14 //Stochastic Length
smoothK=8 //K
smoothD=3 //D
//------------------------------------------------//
//-----Stochastic RSI Calculation
//------------------------------------------------//
rsi1=rsi[lengthRSI](src)
maxrsi=highest[lengthStoch](rsi1)
minrsi=lowest[lengthStoch](rsi1)
osc=(rsi1-minrsi)/(maxrsi-minrsi)*100
k=average[smoothK](osc)-50
d=average[smoothD](k)
//------------------------------------------------//
//-----Stochastic Heikin-ashi
//------------------------------------------------//
haopen=(k[1]+d[1])/2
haclose=(k+d+d+k)/4
hahigh=max(k,max(haopen,haclose))
halow=min(k,min(haopen,haclose))
//------------------------------------------------//
//-----Candles and Colors
//------------------------------------------------//
if haclose>=haopen then
r=0
g=255
b=0
else
r=255
g=0
b=0
endif
drawcandle(haopen,hahigh,halow,haclose)coloured(r,g,b)
ob1=50
ob2=40
os1=-50
os2=-40
colorbetween(ob1,ob2,255,82,82,50)
colorbetween(os1,os2,122,255,82,50)
//------------------------------------------------//
return 0 as "zero" style(dottedline)