PureBytes Links
Trading Reference Links
|
Your kind attention to detail must be gratefully admired
I used the following code
medo = Median(C,65);
medoo [0] = medo;
for( i = 1; i < 65; i++ )
{ medoo[ i ] = medo; }
freq=0;
for( i = 1; i < 65; i++ )
{ if ( C[i] == medoo[ i ] )
freq= freq+1 ; )
First loop was an attempt to populate an array with the value of
median so that then the array [c] could be compared with it. Well it
did not work. The only option left is to actually find the numerical
value of the median for each ticker in the first instance and then
mechanically plug in that number in the second loop to find the
frequency. This seems to be the dumbest way of programming. I am
sure there must be a better way.
More help please
Ta
--- In amibroker@xxxxxxxxxxxxxxx, "gp_sydney" <gp.investment@xxx>
wrote:
>
> Firstly, loops should go from zero to last-1 rather than one to
last.
The first FOR loop was to populate a dummy array with > 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@> 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/
|