+ JMA KDJ with RSI OB/OS SignalsSo, what is the KDJ indicator? If you're familiar with the Stochastic, then you'll know that the two oscillating lines are called the 'K' and 'D' lines. Now you know that this is some sort of implementation of the Stochastic. But, then, what is the J? The 'J' is simply the measure of convergence/divergence of the 'K' and 'D' lines, and the 'J' crossing the 'K' and 'D' lines is representational of the 'K' and 'D' lines themselves crossing. Is this an improvement over simply using the Stochastic as it is? Beats me. I don't use the Stochastic. I stumbled upon the KDJ while surfing around the web, and it sounded cool, so I thought I'd look at it. I do like it a bit more as the 'J' line being far overextended from the other two (usually into overbought/sold territory) does give a clear visual representation of the divergence of the 'K' and 'D' lines, which you might not notice otherwise. So, from that perspective I suppose it is nicer.
But let's get to the good stuff now, shall we? What did I do here?
Well, first thing you're wondering is why there are only two lines when based on my explanation (or your previous experience with the indicator) there should be three. I found this script here on TV, by x4random, who took the 'K' and 'D' lines and made an average of them, so there is only one line instead of the two. So, fewer lines on the indicator, but still the same usefulness. It was in older TV code, so I took it to version4 and cleaned up the code slightly. His indicator included the RSI ob/os plots, and I thought this was neat (even though the RSI being os/ob doesn't tell you much except that the trend is strong, and you should be buying pullback or selling rallies) so I kept them in. His indicator was also the most visually appealing one that I saw on here, so that attracted me too. Credit to x4random for the indicator, though.
Aside from code cleanup and adding the usual bells and whistles (which I will get to) the big thing I did here was change is RMA that he was using for the 'K' and 'D' lines to a Jurik MA's, which smooth a lot of the noise of other moving averages while maintaining responsiveness. This eliminates noise (false signals) while keeping the signals of significance. It took me a while to figure out how to substitute the JMA for the RMA, but thanks to QuantTherapy's "Jurik PPO" indicator I was able to nail down the implementation. One thing you might notice is that there is no input to change signal length. I fiddled with this for a time before sticking to using the period, instead of the signal (thus eliminating the use of the signal input altogether), length to generate the 'K' and 'D' calculations. To make any adjustments other than the period length use the Jurik Power input. You can use the phase input as well, but it has much less of an effect.
Everything else I changed is pretty much cosmetic.
Candle coloring with the option to color candles based on either the 'J' line or the 'KD' line.
color.from_gradients with color inputs to make it beautiful (this is probably my best looking indicator, imo)
plots for when crosses occur (really wish there was a way to plot these over candlesticks! If anyone has any suggestions I'd love to see!)
I think that's about it. Alerts of course.
Enjoy!
Below is a comparison chart of my JMA implementation to the original RMA script.
You can see how much smoother the JMA version is. Both of these had the default period of 55 set, and the JMA version is using the default settings, while the original version is using a length of 3 for the signal line.