This script finds Tops when is in overbought area or Bottoms when is in oversold area and checks the divergence between them. it checks divergence at tops/bottoms after exited from OB/OS areas.
You can change overbought / oversold levels.
You can limit the time that is in OB/OS area with the option "Max Number of Bars in OB/OS"
you can set the minimum/maximum distances between Tops/Bottoms with the options "Min Number of Bars between Tops/Bottoms" and "Max Number of Bars between Topss/Bottoms"
and you can set the color and line widths as you wish.
These tops or bottom must be sequential, means there mustn't be another top while checking tops or bottom while checking bottoms between them.
in next example you can see valid and invalid bottoms:
After you got signal then you better use Stop Order, a few pips higher than the high of colored candle for long positions, (vise versa in short positions). so you may escape from traps. ("Stop order" is filled when the price reached a pre-specified price. for example the price is now 10.0 and you set Buy Stop Order at 11.0 then if price reaches 11.0 then your buy order get filled. you can put stoploss a few pips lower than the low of colored candle or you can use ATR to decice stoploss level. how you wish)
For example in following screenshot you can see that buy stop order was not filled and you didn't take long position.
In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.