+1 888 340 6572

# Oscillators > Osc Normalization

Article/Author: "Normalization", Brian R. Bell, S&C Magazine, Traders Tips, 10/2000

File Includes:

Indicator - Osc Normalization
Function - NormATR
Function - NormAvg
Function - NormStdDev

Category: Oscillators > Osc Normalization

Description:

This indicator is created for normalizing any other indicators using its functions.

The first function to be created is one based on Bell's technique for normalizing to average price. This function has three input values. OscValue represents the value of the oscillator to be normalized. This input is included in each of the four functions. The NormPrice and NormLength inputs represent the price and length values used to calculate the average that is used in the normalization.

The second function is for Bell's technique for normalizing to standard deviation of prices. This function also has three input values. I already described the OscValue input. The NormPrice and NormLength inputs represent the price and length values used to calculate the standard deviation that is used in the normalization.

The third function is for Bell's techniques for normalizing to average range of prices. Unlike the two previous functions, this function only has two inputs: the OscValue input, and the NormLength input, which represents the number of bars to use in the calculation of the average true range that is used in the normalization.

The fourth function is for Bell's technique for normalizing to range. This function also has only two inputs: the OscValue input, and a NormLength input, which represents the number of bars to use for the historical range that is used in the normalization.

Usage:

Specify an oscillator and the type of normalization you wish to use for that oscillator.

Inputs:

NormType - oscillator normalization method:(1=Avg, 2=Std Deviation, 3=Avg True Rng, 4=Hist Range)
OscValue - The oscillator that will be normalized
NormPrice - Price to normalize (will not affect the results when NormType 3 or 4 are selected)
NormLength - NormLength should be increased significantly when doing a range normalization (NormType = 4)

EasyLanguage Code:
```INPUTS: NORMTYPE(1), OSCVALUE(MOMENTUM(CLOSE, 10)), NORMPRICE(CLOSE), NORMLENGTH(8);
VARIABLE: NORMOSC(0);

IF NORMTYPE = 1 THEN BEGIN
NORMOSC = NORMAVG(OSCVALUE, NORMPRICE, NORMLENGTH);
PLOT1(NORMOSC, "NORM OSC");
PLOT2(0, "BALANCE");
END;
IF NORMTYPE = 2 THEN BEGIN
NORMOSC = NORMSTDDEV(OSCVALUE, NORMPRICE, NORMLENGTH);
PLOT1(NORMOSC, "NORM OSC");
PLOT2(0, "BALANCE");
END;
IF NORMTYPE = 3 THEN BEGIN
NORMOSC = NORMATR(OSCVALUE, NORMLENGTH);
PLOT1(NORMOSC, "NORM OSC");
PLOT2(0, "BALANCE");
END;
IF NORMTYPE = 4 THEN BEGIN
NORMOSC = NORMRANGE(OSCVALUE, NORMLENGTH);
PLOT1(NORMOSC, "NORM OSC");
PLOT2(50, "BALANCE");
END;```