Composite Stochastic Oscillator (CSO) [SharpStrat]Composite Stochastic Oscillator (CSO)
The Composite Stochastic Oscillator (CSO) is a refined momentum tool designed to improve on the limitations of the traditional stochastic indicator. Standard stochastics are often too sensitive, producing choppy signals and frequent false turns. CSO tackles this problem by combining multiple stochastic calculations, each with different lengths and smoothing settings, into a single, balanced output.
The goal of combining these stochastic variants is to create a more stable and reliable reading of market momentum. Each version of the stochastic captures different aspects of price behavior like shorter ones react faster, while longer ones filter noise. CSO brings them together mathematically to form a composite oscillator that reacts smoothly and consistently across varying market conditions. This makes it a useful improvement over the standard stochastic, providing traders with a more dependable signal while retaining the familiar interpretation framework.
How It Works
Calculates five independent stochastic oscillators with customizable K, D, and slowing parameters.
Each stochastic contributes to the final composite value according to its assigned weight, allowing the user to emphasize faster or slower reactions.
The resulting composite K is then smoothed into a D line using a chosen moving average method (SMA, EMA, WMA, or RMA).
The oscillator is plotted along with optional overbought/oversold levels and a color fill to enhance visual interpretation.
A compact on-chart table displays the current K and D readings for quick reference.
Comparison with normal Stochastic
Compared to a standard stochastic, the CSO generally produces smoother lines and fewer false flips. As evident in the comparison chart, this improves upon the normal stochastic by reducing noise and making signals more reliable, although results depend on parameter settings too.
How To Use It
Use the CSO exactly like a normal stochastic: look for crossovers, overbought/oversold zones, and divergences.
In practice, CSO should provides smoother and more consistent signals than the regular stochastic, especially in sideways or volatile markets.
When plotted beside a standard stochastic, you’ll notice CSO avoids many of the false reversals that clutter traditional readings.
Customization Options
Choice of smoothing method (SMA, EMA, WMA, RMA).
Full control over each stochastic component’s parameters and weights.
Adjustable overbought/oversold levels and display preferences.
Option to enable or disable the on-chart table and zone fills.
Note
This indicator is shared purely for educational and research purposes. It is not financial advice and should not be treated as a ready-made trading system.
I encourage you to experiment with different parameter values (periods, weights, smoothing) to explore how the behavior changes and to learn from the results.
Customoscillator
Just Another RSIThis is slightly different implementation of RSI using arrays. But, it also comes with a twist.
Formula for standard RSI can be found here: www.investopedia.com
If there is green candle, gain for the candle is equal to price movement from previous bar and loss for that candle is 0. Similarly in case of red candle, loss is considered to be movement from previous candle whereas gain is 0. Also, as mentioned in step2, on each bar, average of previous bar gains/losses are merged with present candle gain/loss.
New Process
Gain is considered only on green candles. Hence, there is no zero gain candles
Loss is considered only on red candles. Hence, there is no zero loss candles
Average or median of last N gains and losses are considered. Hence, the movement mainly tell us the strength between bullish and bearish candles.
Let us forget about seeing it as overbought and oversold area and look at it as bullish and bearish region.
How it is different
Since, gain and loss are only considered if there are gain and loss, this index represents the strength between bullish and bearish candles without looking at price movement. Hence, the index has capability to go in opposite direction of the price representing price movement is not supported by strength.
Another advantage of this implementation is it allows using variable length for the method. In case of RSI, length has to be constant. It cannot be variable which can change every bar. But, we do not have that constraint in this implementation due to use of arrays.
At present, this is purely experimental. I will look forward to study this more with respect to divergence and for use in trend following methods.