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. }

{(C)Copyright 2004 Jose Silva.
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.

TradeStation® Pro, TradeStation® 2000i, OptionStation®, SuperCharts®, PowerEditor® and EasyLanguage®
are registered trademarks of TradeStation Technologies, Inc. Other names and marks referred to are the property of their respective owners.

All information provided on this website is for educational purposes only. Trading involves risk, including possible loss of principal and other losses.

Ten i inne materiały na tej stronie zostały zamieszczone zostały jedynie w celach edukacyjnych, nie ponoszę żadnej odpowiedzialno¶ci za ich stosowanie.

Gra na giełdzie i rynkach walutowych (FOREX) niesie ze sob± ryzyko poważnych strat finansowych!