Narrow Sideways Channel

Narrow Sideways Channel by Omega Research 1997 uses Standard Deviation in its calculation. Two paths are plotted NSC1, NSC2. The channels are calculated by adding/subtracting a multiple of Standard Deviation (stdDev) from a simple moving average. The user may modify the input (close), method (SMA), periods (14), stdDev factor (3) and range (0). This indicator’s definition is further expressed in the condensed code given in the calculation below.

Narrow Sideways Channel1

How To Trade Narrow Sideways Channel

The high minus low must be greater than the range (set by user). If a high goes above the top channel a sell signal is generated. Conversely, a buy is given if a low goes below the bottom channel.

Narrow Sideways Channel2

How To Access in MotiveWave

Go to the top menu, choose Study>Bands>Narrow Sideways Channel

or go to the top menu, choose Add Study, start typing in this study name until you see it appear in the list, click on the study name, click OK.

Important Disclaimer: The information provided on this page is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security. Please see our Risk Disclosure and Performance Disclaimer Statement.


//input = price (user defined, default is closing price)
//method = moving average (user defined, default is SMA)
//period = user defined, default is 14
//range = user defined, default is 0
//LT = less than, MT = more than
//LOE = less or equal, MOE = more or equal
//index = current bar number

count = period;
lastIndex = getEndIndex();
for (index = period; index LOE lastIndex; index++)
    if (index LT count) continue;
    ma = ma(method, period, input);
    stdDev = std(index, period, input);
    top = ma + (stdDev * stdDevFactor);
    bottom = ma - (stdDev * stdDevFactor);
    for (int i = index-(period-1); i LOE index; i++);
        plot1: top;
        plot2: bottom;
        sell  = (high - low) MOE range AND (high MT top);
        buy = (high - low) LOE range AND (low LT  bottom);
    end for;
    count = index + period;
    if (count MT lastIndex)
        period = lastIndex-index;
        count = lastIndex;
end for;