This code snippet demonstrates how to identify bullish and bearish divergences using the Relative Strength Index (RSI) modified by Bollinger Bands in the ProBuilder programming language. Divergences occur when the price of an asset moves in the opposite direction of a technical indicator and can be a signal of potential price reversals.
ZMYR = RSI[21](close)
ZSR = RSI[2](ZMYR)-50
M=wilderAVERAGE[18](ZSR)
SD=STD[18](ZSR)
UB=M+1.2*SD
LB=M-1.2*SD
//bullish divergences
//trough
trough=zsr>zsr[1] and zsr[1]lb then
//trough
if trough then
if low[1]oscLL and oscbar>0 then
drawarrowup(barindex[1],zsr[1]) coloured(69,139,116)
drawsegment(oscbar,oscll,barindex[1],zsr[1]) coloured(69,139,116)
oscbar=0
oscll=1000
endif
endif
endif
//bearish divergences
//peak
peak=zsrzsr[2]
//reset on new cross
if zsr crosses over UB then
oscbarr=0
oschh=0
endif
//oscillator above
if zsr[1]>UB then
if peak and zsr[1]>=oschh then
oschh=zsr[1]
oscbarr=barindex[1]
endif
endif
//osc below ub
if zsrhigh[barindex-oscbarr] and zsr[1]0 then
drawarrowdown(barindex[1],zsr[1]) coloured(255,0,0)
drawsegment(oscbarr,oschh,barindex[1],zsr[1]) coloured(255,0,0)
oscbarr=0
oschh=0
endif
endif
endif
Return zsr style(line,3) as "MOMENTUM", ub coloured(190,190,190) style(dottedline,2) as "OverBought" , lb coloured(190,190,190) style(dottedline,2) as "OverSold"
The code is structured to calculate and visualize divergences in trading data:
This approach helps in spotting potential reversal points in the price of an asset based on technical divergences.
Check out this related content for more information:
https://www.prorealcode.com/topic/divergence-on-rsi-with-bollinger-band/#post-104013
Visit Link