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

[amibroker] Re: Median and its Frequency



PureBytes Links

Trading Reference Links

Firstly, loops should go from zero to last-1 rather than one to last.
Also, if you're going to use an absolute value for the limit (ie. the
260 in your example) then you need to add checking for that being out
of range of the current chart. Arrays are only dimensioned up to
BarCount, whatever that is for the current chart, so if BarCount is
less than 260 in this case you'll have a problem.

Finally, I don't think that logic will give you what you want. That
just checks, for each bar, if that bar is the same as the median of
the last 260 days and then adds them up, which is what I mentioned
before. I gather you want a value at each bar of the number of bars in
the last interval that match the median over the same interval. I
think you'll need nested loops for that, one to go through the bars,
and another inside it to count back through the previous interval (eg.
260) number of bars, with appropriate range checking.

Regards,
GP


--- In amibroker@xxxxxxxxxxxxxxx, "meenhal" <meenhal@xxx> wrote:
>
> Thanks for you help
> 
> I do not have much of a code....at least not for this segment
> 
> Median is found using the standard AFL function
> 
> I can now envisage the following pseudocode
> 
> medd = median(c,260)
> 
> for k = 1 to 260
>         medo [k] = medd
> next
> 
> freq = 0
> for j = 1 to 260          
>       if c[i] = medo[i] then feq = freq +1
> next
> 
> addcolumn  frequency
> 
> Thanks for pointing the = and ==
> 
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "gp_sydney" <gp.investment@> 
> wrote:
> >
> > > if c [i] = median (close,60)
> > 
> > That won't work because you're trying to compare a number with an
> > array of numbers, plus you need the relational equals operator (==)
> > rather than the assignment one (=). Read the median array into a
> > variable first and then use indexing on that:
> > 
> > medc = median(close,60);
> > if (c[i] == medc[i])
> > 
> > However, without seeing the rest of your code, I have a feeling you
> > still won't end up with what you're expecting. This is comparing 
> the
> > current bar's close with the median of the previous 60 bars 
> (counting
> > the current one), so if you only count those, it will give you a 
> count
> > of how many bars had a close equal to the median of the last 60 
> bars.
> > If at each bar you want a count of how many bars in the previous 60
> > were the same as the median over that range, then the calculation 
> will
> > be different, probably involving nested loops.
> > 
> > GP
> > 
> > 
> > --- In amibroker@xxxxxxxxxxxxxxx, "meenhal" <meenhal@> wrote:
> > >
> > > To set an entry point, I am trying to find price deviations from 
> mean 
> > > and median for different intervals.
> > > 
> > > All is easy except:  I can not determine the frequecy of median 
> i.e. 
> > > the number of occurences when the price was median during the 
> inteval.
> > > 
> > > median (close,260) will give me the median closing price for 260 
> bars 
> > > but it does not tell whether this prices occured 10 tims or 88 
> times.
> > > 
> > > I tried to use the for loop with if c [i] = median (close,60) 
> but 
> > > AFL's handling of arrays does not permit such an attepmt.
> > > 
> > > Can anyone please help. Thanks in advance
> > >
> >
>




Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html
 
Yahoo! Groups Links

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

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

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

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