[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Metastockusers] Re: Percentage charts



PureBytes Links

Trading Reference Links


I think the trick when normalising numbers is to actually understand 
what normalising means.  Jose has formulated some really good ways of 
normalising data, but if you don't fully understand his methodology 
then sometimes it possible to get a little 'lost'.

The most common definition for 'normalising' means to apply 
correction factors to a series of numbers such that the resultant 
values are between 0 and 1 (inclusive) whilst maintaining their 
relativity to the remainder of the series.

One way to achieve this with any set of numbers:
... Subtract the lowest value in the series from every number in the 
series.  This will make the lowest value in the series zero.
... Then, divide each number in the series by the highest adjusted 
value in the series.
... The new highest value will be one whilst the lowest will remain 
at the zero level, and all values will be betwen 0 and 1.

As the same corrections are being applied to every value in the 
series, they retain their relativity.

Multiply the resultant series by 100 to return 'percentages'

The way that Jose has shown is perfectly valid, however, an 
alternative way to create the percentage plot might be to:

--8<-------------------
x:=Input("Data: 1-O 2-H 3-L 4-C 5-MP 6-Typ",1,6,4);
x:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=4,C,If(x=5,MP(),Typical())))));

y:=x-LastValue(Lowest(x));
normalisedData:=100*y/Lastvalue(Highest(y));
normalisedData;
--8<-------------------


You can apply these principles to any data series.

Hope this helps.

wabbit :D


--- In Metastockusers@xxxxxxxxxxxxxxx, "Jose" <josesilva22@xxxx> 
wrote:
> 
> Try this:
> 
> ==========================
> Normalized price to 0~100%
> ==========================
> ---8<---------------------
> 
> { ©Copyright 2004 Jose Silva }
> { For personal use only }
> { http://users.bigpond.com/prominex/pegasus.htm }
> 
> { User input }
> pds:=Input("Normalizing periods (none=0)",
>  0,25200,252)+1;
> 
> { Cummulative RoC }
> x:=Cum(C/Ref(C,-1)-1)*100;
> 
> { Normalize RoC }
> y:=HHV(x,pds)-LLV(x,pds);
> y:=If(y=0,.000001,y);
> xNorm:=(x-LLV(x,pds))/y*100;
> xNorm:=If(pds<2,x,xNorm);
> 
> { Normalized-RoC Average }
> avg:=Cum(xNorm)/Cum(IsDefined(xNorm));
> 
> { Plot in own window }
> If(pds<2,xNorm,avg);xNorm
> 
> ---8<---------------------
> 
> 
> jose '-)
> 
> 
> --- In Metastockusers@xxxxxxxxxxxxxxx, Tony <TraderSeven@xxxx> 
wrote:
> > Hello Metastockusers,
> > 
> > I want the replace the price on the chart display with a 
percentage.
> > The lowest  price on the *visible* part of the chart should be 0%
> > All other prices should be calculated relative to the '0% price'
> > I'm reviewing a large number of charts for a 'first impression'
> > One of the things I look at how large the average trends are.
> > Now I just do that by calculating a percentage from the prices.
> > What I requested above should roughly do the same.
> > Any idea's how to do this?
> > Or other ways with a similar effect?
> > 
> > -- 
> > Best regards,
> > TraderSeven





------------------------ Yahoo! Groups Sponsor --------------------~--> 
Make a clean sweep of pop-up ads. Yahoo! Companion Toolbar.
Now with Pop-Up Blocker. Get it for free!
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/zMEolB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/Metastockusers/

<*> To unsubscribe from this group, send an email to:
    Metastockusers-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/