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

Re: [amibroker] Re: loop counter



PureBytes Links

Trading Reference Links

Hello,

This single-liner and does not require any looping:

Count = Cum( C > Ref( C, -1 ) );


Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "klaus_korneker" <klaus_korneker@xxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Thursday, January 11, 2007 9:43 AM
Subject: [amibroker] Re: loop counter


> Hello,
> 
> thanks a lot !
> 
> Can you please also show me how i could count any condition like
> C>ref(C,-1);
> 
> I would like to plot a graph that shows me the number of bars where
> the following condition is true. 
> 
> Thanks !
> 
> Klaus
> 
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@xxx> wrote:
>>
>> Hello,
>> 
>> See Comments section in BarIndex() reference:
>> 
>> http://www.amibroker.com/guide/afl/afl_view.php?barindex
>> 
>> When running a loop over array you must NOT access
>> elements outside 0..BarCount-1 range.
>> 
>> The code that you want to write should look as follows:
>> 
>> bi = BarIndex();
>> 
>> for( i = 0; i < BarCount; i++ )
>> {
>>  Cnt[ i ] = i + bi[ 0 ];
>> }
>> 
>> Best regards,
>> Tomasz Janeczko
>> amibroker.com
>> ----- Original Message ----- 
>> From: "klaus_korneker" <klaus_korneker@xxx>
>> To: <amibroker@xxxxxxxxxxxxxxx>
>> Sent: Wednesday, January 10, 2007 8:30 PM
>> Subject: [amibroker] Re: loop counter
>> 
>> 
>> > Thanks for the explanation. But how can i now create a
>> > barindex(counter) through a loop. Graph1 plots the barindex. I have
>> > tried to use (i = 0; i < LastValue(BarIndex()); i++ ) but this
>> > generates an error.
>> > Can you help ?
>> > 
>> > Cnt = 0;
>> > for( i = 0; i < LastValue(BarIndex()); i++ )
>> > {
>> > Cnt[ i ] = i ;
>> > }
>> > 
>> > Graph0 = Cnt;
>> > Graph1 = BarIndex();
>> > 
>> > 
>> > --- In amibroker@xxxxxxxxxxxxxxx, "Terry" <MagicTH@> wrote:
>> >>
>> >> BarCount does not necessarily == LastValue(BarIndex())
>> >> 
>> >> This is because Amibroker uses "quickAFL" which means it only uses
>> > enough
>> >> bars to "get the job done". This frequently is not all the bars.
>> >> 
>> >> --
>> >> Terry
>> >> 
>> >> -----Original Message-----
>> >> From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]
>> > On Behalf
>> >> Of klaus_korneker
>> >> Sent: Wednesday, January 10, 2007 09:48
>> >> To: amibroker@xxxxxxxxxxxxxxx
>> >> Subject: [amibroker] Re: loop counter
>> >> 
>> >> Hi Terry,
>> >> 
>> >> thank you very much for your explanation !
>> >> However it looks a little bit strange. It works still the same.
>> >> When set the entire array to 0 with Cnt = 0; and click Apply, it
> shows
>> >> the same value as with the confirmation code in the graph. However 
>> >> automatically after about 1 second it changes the value to 199
> instead
>> >> 4517
>> >> 
>> >> BTW: i know that it displays the number in the title based on my
>> > cursor. 
>> >> 
>> >> Regards
>> >> 
>> >> Klaus
>> >> 
>> >> 
>> >> --- In amibroker@xxxxxxxxxxxxxxx, "Terry" <MagicTH@> wrote:
>> >> >
>> >> > To initialize the loop you should do this:
>> >> > Cnt = 0; //Initializes entire array, not just 1st element.
>> >> > 
>> >> > When you click on the chart the number should change because
> you are
>> >> > selecting "that bar". Also see last paragraph about barcount.
>> > Otherwise,
>> >> > your loop is correct.
>> >> > 
>> >> > Here's some code to verify with:
>> >> > 
>> >> > x = BarIndex();
>> >> > Plot(x,"x",1,styleStaircase);
>> >> > NumToStr(BarCount,1.0);
>> >> > NumToStr(LastValue(BarIndex()),1.0);
>> >> > 
>> >> > Note the last two statements print in the interpretation window and
>> >> they are
>> >> > different because of quickAFL. The first changes with your
> selection
>> >> and the
>> >> > number of bars showing. The last does not change. It is the
> absolute
>> >> number
>> >> > of bars in your data. This is probably the reason your results are
>> >> changing
>> >> > in unexpected ways as you are using BarCount.
>> >> > --
>> >> > Terry
>> >> > 
>> >> > -----Original Message-----
>> >> > From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]
>> >> On Behalf
>> >> > Of klaus_korneker
>> >> > Sent: Wednesday, January 10, 2007 07:43
>> >> > To: amibroker@xxxxxxxxxxxxxxx
>> >> > Subject: [amibroker] loop counter
>> >> > 
>> >> > Hello,
>> >> > 
>> >> > i am trying to build a counter with a loop. i have already
> tried the
>> >> > following, but it seems that anything is wrong. The chart shows the
>> >> > bar number, but when i click inside the chart, the number changes.
>> >> > 
>> >> > Cnt[0] = 0;
>> >> > for( i = 0; i < BarCount; i++ )
>> >> > { 
>> >> >     Cnt[ i ] = i ;
>> >> > } 
>> >> > 
>> >> > Graph0 = Cnt;
>> >> > 
>> >> > Thanks i 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
>> >> >
>> >> 
>> >> 
>> >> 
>> >> 
>> >> 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
>> >>
>> > 
>> > 
>> > 
>> > 
>> > 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
>> > 
>> > 
>> > 
>> > 
>> >
>>
> 
> 
> 
> 
> 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
> 
> 
> 
> 
>

Content-Description: "AVG certification"
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.16.9/622 - Release Date: 1/10/2007 2:52 PM