<answer>.net SQL database through Web services call to Flex...</answer>... 
would like to create a new Array based on existing Array of Ticker data..

So I need to create a new Array Collection then loop through and add the date 
from the Tickers Array Collection along with the Moving 20 day average of the 
Close Price... THEN ( I have not mentioned this )  What I REALLY want is a 
Standard Deviation Calcuation against the Moving Average to plot Upper and 
Lower Bollinger Bands.... 

Here's my initial guesstimate at building the new 20 Day Moving Average Array 
Collection from the Existing Array_Tickers ArrayCollection....


        [Bindable] public var Array_BBands:ArrayCollection; (new mov avg Ac)
        
        public function bld_Array_BBands():void
        {
                Array_BBands = new ArrayCollection;
                for (var i:int=0;i<Array_Tickers.length;i++)                    
\\ loop through existing Array_Tickers
                {
                  Array_BBands.addItem(Array_Tickers.getItemat(i).date);
                  if (i>=20)                                                    
\\ start at 20th row - as Moving Avg is 20 day
                  {                                             
                    var mavg_tick:Int = 0;                                      
\\ create variable to hold Moving Average
                    mvag_tick = Array_Tickers.getItemAt(i).close.valueof();     
 \\ need to pick up the date of the Array_Tickers
                    mvag_tick += Array_Tickers.getItemAt(i-1).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-2).close.valueof(); 
                    mvag_tick += Array_Tickers.getItemAt(i-3).close.valueof(); 
                    mvag_tick += Array_Tickers.getItemAt(i-4).close.valueof(); 
                    mvag_tick += Array_Tickers.getItemAt(i-5).close.valueof(); 
                    mvag_tick += Array_Tickers.getItemAt(i-6).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-7).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-8).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-9).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-10).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-11).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-12).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-13).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-14).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-15).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-16).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-17).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-18).close.valueof();
                    mvag_tick += Array_Tickers.getItemAt(i-19).close.valueof();
                    var mavg:Int = (mavg_tick/20);
                    Array_BBands.addItem(mavg);
                  }
                }

        }

If that works ( and I have no idea if it will ) then I need to get the Standard 
Deviation calcualted somehow.  Because the Formula for what I really want as 
previously stated is The Bollinger Bands formular or (MA+K*sigma)  Moving 
Average (20 period) + or - depending if it's upper or lower (2 * sigma)  Sigma 
is the Standard Deviation, and I am fairly certain that actionscript does not 
calculate the Standard Deviation, so I'll need to do that somehow and I have no 
idea how to do that...


This is a lot for me, and I don't expect you or others have the answers but I 
need to get the Std Deviation caclulated from the Mean Value above and this is 
how to do that...

http://en.wikipedia.org/wiki/Standard_Deviation

I am not sure exactly the best way to proceed, but if anyone has a 
suggestions... I guess I would take the difference of each number in the series 
above form the mean, divide the sum of the numbers by the count (20) and take 
the square root.

It's a brain teaser and I am working on it a piece at a time.....

If anyone has a shortcut I'd take it.

--- In flexcoders@yahoogroups.com, "jc_bad28" <jc_ba...@...> wrote:
>
> How are you receiving your price data to plot? Price feed? Static file? What 
> you could do is create a function to loop through the array and perform the 
> moving average calculation and add the result as an extra "column" in the 
> array.  Are you plotting the full historic price data set?  If so, your MA 
> will begin at the nth bar where n is your MA period setting.  eg.. a 20 day 
> MA won't start until the 20th day into the data set.
> 
> If you're using a static dataset, you could do the calculation in Excel and 
> then save the entire datset as XML and just bring that into flex and plot the 
> MA from the existing values.
> 
> --- In flexcoders@yahoogroups.com, "cjsteury2" <craigj@> wrote:
> >
> > Hi all,
> > 
> > I am stumped.
> > 
> > If I want to add an additional data series to a HLOC Chart that is a line 
> > series of a simple 20 day moving average for the closing price ("Close") 
> > value in an array collection (Array_Tickers)... how would I perform that 
> > calculation in Flex?
> > 
> > <mx:lineSeries id=mavg 
> >  dataprovider="Array_Tickers"
> >  ySeries="Close" />
> > 
> > How would I calculate "Close" as {The SUM for the Value of "Close" for the 
> > previous 20 days / divided by 20}...
> >
>


Reply via email to