PureBytes Links
Trading Reference Links
|
Frans,
If it is only the sum of a condition over a fixed period, linked to
your AA-settings, you could use Sum:
Startbar = lastvalue(valuewhen(Status("firstbarinrange")==1,Barindex
()));
Lastbar = lastvalue(valuewhen(Status("lastbarinrange")==1,Barindex
()));
Cond = C>0;
Lookback = Lastbar - Startbar;
Tot = sum (Cond, Lookback);
Tot is now an array, so if you need to know the exact value of it on
the final bar of your test, use:
FinalTot = Tot[LastBar];
PS
--- In amibroker@xxxxxxxxxxxxxxx, "mpmafma" <mpmafma@xxx> wrote:
>
> Bill,
>
> Thank you for your insigth and explanation. I tried this and it
sure
> can help. This discussion als provided me with an alternative
> solution. Just put the datenum() condition in the filter and in the
> condition at the same time. I'me gonna try these options and work
my
> way trough a few examples.
> Within 24 hours from 1 problem to 2 solutions!
> Thanks again for your help.
>
>
> kind regards,
>
> Frans.
>
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "wavemechanic" <fimdot@> wrote:
> >
> > cum() counts from the beginning of the data, as described in the
> function's description, but the display reflects the AA setting
> (e.g., last 20 bars). I gather that this is a problem and you only
> want true/false values for the last xxx bars. One way is to modify
> the code as follows:
> >
> > lookback = param("lookback", 10, 1, 1000, 1);
> > barsincum = barcount - 1 - lookback;
> > trueresult = c > o and barindex() > barsincum;
> > falseresult = c <= o and barindex() > barsincum;
> >
> > AA's parameter box provides control of param(). The number of AA
> rows displayed is controlled by AA's range setting. However, only
> trueresult and falseresult are evaluated when the bars are in the
> barsincum range and will be displayed in the last "barsincum"
rows.
> The rows between barsincum and the range setting will all be 0.
> >
> > Bill
> >
> >
> >
> >
> > ----- Original Message -----
> > From: "mpmafma" <mpmafma@>
> > To: <amibroker@xxxxxxxxxxxxxxx>
> > Sent: Thursday, June 14, 2007 7:38 PM
> > Subject: [amibroker] Re: Summation within exploration
> >
> >
> > > Bill,
> > >
> > > Thanks for your reply. I tried this and it works when in AA the
> date
> > > range
> > > is "all quotations".
> > > But something is still puzzling me. When I choose another
range,
> lets
> > > say last 20 days or a date range within AA, the cum() statement
> still
> > > counts alle quotations.
> > > This list is from your code
> > > Ticker Date/Time trueresult falseresul
> > > tottrue totfalse
> > > AEX 14-6-2006 18:02:00 0.00 1.00 387.00
> > > 389.00
> > > AEX 15-6-2006 18:01:00 1.00 0.00 388.00
> > > 389.00
> > > AEX 16-6-2006 18:02:00 0.00 1.00 388.00
> > > 390.00
> > > AEX 19-6-2006 18:02:00 1.00 0.00 389.00
> > > 390.00
> > > AEX 20-6-2006 18:02:00 1.00 0.00 390.00
> > > 390.00
> > > AEX 21-6-2006 18:02:00 0.00 1.00 390.00
> > > 391.00
> > >
> > > As you can see the tottrue and totfalse start counting from 387
> and
> > > 389
> > >
> > > I changed the code to:
> > > Filterdate = 1060101;
> > > Filter =1;
> > > trueresult = C > O AND DateNum() > filterdate;
> > > falseresult = C <= O AND DateNum() > Filterdate;
> > > tottrue = Cum(trueresult);
> > > totfalse = Cum(falseresult);
> > > AddColumn(trueresult, "trueresult");
> > > AddColumn(falseresult, "falseresult");
> > > AddColumn(tottrue, "tottrue");
> > > AddColumn(totfalse, "totfalse");
> > >
> > > The correct values are now displayed but also it shows, of
> course,
> > > all quotations. Then I changed the code to:
> > > Filterdate = 1060101;
> > > Filter =1 AND DateNum() > Filterdate;
> > > trueresult = C > O;
> > > falseresult = C <= O;
> > > tottrue = Cum(trueresult);
> > > totfalse = Cum(falseresult);
> > > AddColumn(trueresult, "trueresult");
> > > AddColumn(falseresult, "falseresult");
> > > AddColumn(tottrue, "tottrue");
> > > AddColumn(totfalse, "totfalse");
> > >
> > > Now AA shows the correct daterange but also the wrong tottrue
and
> > > totfalse values.
> > > It seems that this is not logical or am I missing something?
> > >
> > > regards,
> > >
> > > Frans
> > >
> > >
> > >
> > >
> > > --- In amibroker@xxxxxxxxxxxxxxx, "wavemechanic" <fimdot@>
wrote:
> > >>
> > >> This is going in circles. The following gives you true,
false,
> and
> > > totals. If you want something else then tell us in simple
terms
> what
> > > that is.
> > >>
> > >> filter = 1;
> > >> trueresult = c > o;
> > >> falseresult = c <= o;
> > >> tottrue = cum(trueresult);
> > >> totfalse = cum(falseresult);
> > >> addcolumn(trueresult, "trueresult");
> > >> addcolumn(falseresult, "falseresult");
> > >> addcolumn(tottrue, "tottrue");
> > >> addcolumn(totfalse, "totfalse");
> > >>
> > >> Bill
> > >>
> > >>
> > >> ----- Original Message -----
> > >> From: "mpmafma" <mpmafma@>
> > >> To: <amibroker@xxxxxxxxxxxxxxx>
> > >> Sent: Thursday, June 14, 2007 3:20 PM
> > >> Subject: [amibroker] Re: Summation within exploration
> > >>
> > >>
> > >> > Bill,
> > >> >
> > >> > My programmings skills are very limited.
> > >> > I tried defining trueresult and falseresult. But when you
> define
> > > this
> > >> > value to zero it starts counting from zero.
> > >> > This is the code I use.
> > >> >
> > >> > Filter = DayOfWeek()==1;
> > >> > Rise = IIf( Close > Open,1,0); //this gives results of 0 or 1
> > >> > TotalRise = Cum(Rise);
> > >> > AddColumn( Close-Open, "Close", 1.2,colorYellow,colorBlue );
> > >> > AddColumn(Rise,"Rise",1,1);
> > >> > AddColumn(TotalRise,"# Rise",1.0);
> > >> >
> > >> > The totalrise value counts all records in stead of the
> > > conditionals.
> > >> >
> > >> > regards,
> > >> >
> > >> > Frans.
> > >> >
> > >> > --- In amibroker@xxxxxxxxxxxxxxx, "wavemechanic" <fimdot@>
> wrote:
> > >> >>
> > >> >> As far as the error goes, did you look it up in the Users
> Guide
> > >> > where it is explained?
> > >> >>
> > >> >> To count true and false results, one way to go is to define
> > >> > trueresult and falseresult and put them into individual
> columns,
> > >> > e.g.,
> > >> >>
> > >> >> filter = 1;
> > >> >> trueresult = ...
> > >> >> falseresult = ...
> > >> >> addcolumn(trueresult, ...
> > >> >> addcolumn(falseresult, ...
> > >> >>
> > >> >> You can also incorporate cum(), sum(), lastvalue() with
> > > trueresult
> > >> > and falseresult to produce what you want.
> > >> >>
> > >> >> Bill
> > >> >>
> > >> >> ----- Original Message -----
> > >> >> From: "mpmafma" <mpmafma@>
> > >> >> To: <amibroker@xxxxxxxxxxxxxxx>
> > >> >> Sent: Thursday, June 14, 2007 1:33 PM
> > >> >> Subject: [amibroker] Re: Summation within exploration
> > >> >>
> > >> >>
> > >> >> > Hi Bill,
> > >> >> >
> > >> >> > Thansk for the reply.
> > >> >> > It works fine within a chart formula. What I try to do is
> > > count
> > >> > the
> > >> >> > number a condition is true within an exploration. When I
> use
> > >> > the "cum
> > >> >> > ()" function all records are counted.
> > >> >> > When I try:
> > >> >> >
> > >> >> > Filter=1;
> > >> >> > result = IIf(Close > Open,1,0);
> > >> >> > totalresults = totalresults+result;
> > >> >> > AddColumn(totalresults,"tot",1,1);
> > >> >> >
> > >> >> > AB gives an error, totalresults is not defined.
> > >> >> > So how do I create a counter in an exploration counting
the
> > >> > number of
> > >> >> > true of false conditions?
> > >> >> >
> > >> >> > kind regards,
> > >> >> >
> > >> >> > Frans.
> > >> >> >
> > >> >> > --- In amibroker@xxxxxxxxxxxxxxx, "wavemechanic"
<fimdot@>
> > > wrote:
> > >> >> >>
> > >> >> >> Why do you say not working? Works for me. How are you
> > > viewing
> > >> >> > results? Try
> > >> >> >>
> > >> >> >> result = ....
> > >> >> >> totalresults = ....
> > >> >> >> plot(totalresults, "totalresults", colorred);
> > >> >> >>
> > >> >> >> Click on any point and totalresults info is displayed in
> > > title.
> > >> >> >>
> > >> >> >> Bill
> > >> >> >>
> > >> >> >>
> > >> >> >> ----- Original Message -----
> > >> >> >> From: "mpmafma" <mpmafma@>
> > >> >> >> To: <amibroker@xxxxxxxxxxxxxxx>
> > >> >> >> Sent: Thursday, June 14, 2007 9:04 AM
> > >> >> >> Subject: [amibroker] Summation within exploration
> > >> >> >>
> > >> >> >>
> > >> >> >> > OK, I tried to do this myself but after extensive
> searching
> > >> > this
> > >> >> > forum
> > >> >> >> > and the AFL database my last hope is to put my
question
> on
> > >> > this
> > >> >> > forum.
> > >> >> >> >
> > >> >> >> > What I try to do is to count the number of
occurrences.
> For
> > >> >> > instance
> > >> >> >> > Result = Open > ref(high,-1);
> > >> >> >> >
> > >> >> >> > TotalResults = cum(Result);
> > >> >> >> > is not working.
> > >> >> >> >
> > >> >> >> > There must be a way, anyone?
> > >> >> >> >
> > >> >> >> > kind regards,
> > >> >> >> >
> > >> >> >> > Frans.
> > >> >> >> >
> > >> >> >> >
> > >> >> >> >
> > >> >> >> >
> > >> >> >> > 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
> > >> >> >> >
> > >> >> >> >
> > >> >> >> >
> > >> >> >> >
> > >> >> >> >
> > >> >> >> > --
> > >> >> >> > No virus found in this incoming message.
> > >> >> >> > Checked by AVG Free Edition.
> > >> >> >> > Version: 7.5.472 / Virus Database: 269.8.15/848 -
> Release
> > >> > Date:
> > >> >> > 6/13/2007 12:50 PM
> > >> >> >> >
> > >> >> >> >
> > >> >> >>
> > >> >> >
> > >> >> >
> > >> >> >
> > >> >> >
> > >> >> > 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
> > >> >> >
> > >> >> >
> > >> >> >
> > >> >> >
> > >> >> >
> > >> >> > --
> > >> >> > No virus found in this incoming message.
> > >> >> > Checked by AVG Free Edition.
> > >> >> > Version: 7.5.472 / Virus Database: 269.8.15/848 - Release
> > > Date:
> > >> > 6/13/2007 12:50 PM
> > >> >> >
> > >> >> >
> > >> >>
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > 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
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > No virus found in this incoming message.
> > >> > Checked by AVG Free Edition.
> > >> > Version: 7.5.472 / Virus Database: 269.8.15/848 - Release
> Date:
> > > 6/13/2007 12:50 PM
> > >> >
> > >> >
> > >>
> > >
> > >
> > >
> > >
> > > 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
> > >
> > >
> > >
> > >
> > >
> > > --
> > > No virus found in this incoming message.
> > > Checked by AVG Free Edition.
> > > Version: 7.5.472 / Virus Database: 269.8.16/849 - Release Date:
> 6/14/2007 12:44 PM
> > >
> > >
> >
>
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/
|