MetaStock™ Zone Forum & FAQ Artykuły Linki Elliott Waves EasyLanguage™ Zone

 A B C D E F G H I J K L M N O P R S T U V W Y Z #

Normalized Indicator and Normalization - Price/Indicator by Jose Silva
Normalizes indicator to 0~100% boundaries.

Normalized Indicator

{ From: http://www.metastocktools.com }

{ User inputs }

plot:=Input("plot: [1]Indicator, [2]Oscillator",1,2,2);
pds:=Input("Indicator periods",1,2600,21);

{ Indicator - EMA example }

Ind:=Mov(C,pds,E);

{ Normalize indicator to historical highs/lows }

Oscillator:=(Ind-Lowest(Ind)) / Max(Highest(Ind)-Lowest(Ind),.000001)*100;

{ Plot: Indicator on chart, oscillator in own window }

If(plot=1,Ind,Oscillator)

I often get asked something along this line of thinking:"My price chart is out of scale when I apply the MACD to it - how can I get MACD()/price crossover signals?"

Before we can apply any relative comparisons between a chart and unscaled indicator, both plots need to be normalized to a common scale.

There are two easy ways to normalize plots to 0~100%: using historical High/Lows, or x periods' High/Low.

Normalization - Price/Indicator

{ Normalizes two data array plots to within 0~100% boundaries, and allows direct
comparisons between the two plots. }

For personal use only.
http://www.metastocktools.com }

{ Choose between normalizing lookback periods

or historical High/Low normalization }
pds:=Input("Normalizing lookback periods (1= historical Hi/Lo)",1,2600,126);

{ Plot 1: Price section }

PriceX:=C;

{ Choose x pds or historical Price High/Low }

Hi:=If(pds>1,HHV(PriceX,pds),Highest(PriceX));
Lo:=If(pds>1,LLV(PriceX,pds),Lowest(PriceX));

{ Price normalized to 0~100% }

PriceNorm:=(PriceX-Lo)/Max(Hi-Lo,.000001)*100;

{ Plot 2: Indicator/Oscillator section }

IndX:=MACD();

{ Choose x pds or historical Indicator High/Low}

Hi:=If(pds>1,HHV(IndX,pds),Highest(IndX));
Lo:=If(pds>1,LLV(IndX,pds),Lowest(IndX));

{ Indicator normalized to 0~100% }

IndicatorNorm:=(IndX-Lo)/Max(Hi-Lo,.000001)*100;

{ Plot in own window }

PriceNorm;
IndicatorNorm

Source / From: TOP
http://www.metastocktools.com

Equis and MetaStock® and MetaStock Professional® are registered trademarks of Equis International. Achelis Binary Wave®, The DownLoader®,
Expert Advisor®, OptionScope®, Quotecenter® and Smart Charts® are trademarks of Equis International, a Thomson Reuters company.