Title: Re: [amibroker] Re: how to improve loop speed
The second loop is limited by what you have displayed, not what is in the database.
also, not sure here, but i think that >> is not a legal operator in AFL
Try outputting i to your logging window to confirm what is happening:
_trace("i= "+i);
herman
Friday, November 28, 2008, 7:35:23 PM, you wrote:
> Hi
> Today I was playing without fully understanding what I was doing and
> I believe I made a break through.
> Any way what I found is if I use
> for(i = 0; i < BarCount; i++ )
> the results are 3446 data bars used during this check. Total
> execution time was 0.0228476 sec.
> and If I use
for(i=BarCount-1;i>>1 AND Status("firstvisiblebar");i--)
> The results are 3446 data bars used during this check. Total
> execution time: 0.00249557 sec.
> so the second loop looks faster.
> I would like to ask one more time what can I write to use just the
> visible bars? Is this possible? I am trying to find a way to speed up
> the loops in codes that require them ,and to count just the visible
> bars or as less as possible.
> Thank you
> Panos
> --- In amibroker@xxxxxxxxxxxxxxx, "Panos Boufardeas" <panosbouf@xxx>
> wrote:
>> Thank you Tomasz
>>
>> So what I can see from your reply, this example here is correct.
>> But must be a way for a loop to calculate only the last X bars, and
>> not all of theme
>>
>> Thank you
>> Panos
>> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@>
>> wrote:
>> >
>> > Hello,
>> >
>> > Move ALL array functions OUTSIDE of loop!
>> >
>> > Inside the loop there should be only NON-array functions.
>> >
>> >
>> > // THIS MUST BE OUTSIDE THE LOOP !!!!!!
>> >
>> > Q=Param( "% Change",1.50,.25,14 ,0.25);
>> >
>> > Z= Zig(C,q ) ;
>> >
>> > HH=((Z<Ref(Z,- 1) AND Ref(Z,-1) > Ref(Z,-2)) AND (Peak(z,q,1 )
>> >
>> > >Peak(Z,q,2 )));
>> >
>> > LL=((Z>Ref(Z,- 1) AND Ref(Z,-1) < Ref(Z,-2)) AND (Trough(Z,q,1 )
>> <Trough(Z,q,2 )));
>> >
>> >
>> > dist = 0.5*ATR (20);
>> >
>> >
>> > for( i = 0; i < BarCount; i++ )
>> > {
>> >
>> > // ONLY THIS should be inside the loop
>> > if( HH [i]) PlotText( "HH"+ "\n"+H[ i ], i, H[ i ]+dist[i],
>> colorGreen );
>> > if( LL [i] ) PlotText( ""+L[ i ]+"\nLL", i, L[ i ]-dist[i],
>> colorRed );
>> > }
>> >
>> > Nothing more is needed.
>> >
>> > Best regards,
>> > Tomasz Janeczko
>> > amibroker.com
>> > ----- Original Message -----
>> > From: "Panos Boufardeas" <panosbouf@>
>> > To: <amibroker@xxxxxxxxxxxxxxx>
>> > Sent: Thursday, November 27, 2008 6:45 PM
>> > Subject: [amibroker] how to improve loop speed
>> >
>> >
>> >
>> >
>> > Hi
>> >
>> > I am curious to find out how to make a loop to run from
>> firstvisiblebar
>> >
>> >
>> > I think I need to write something like the following . but I
> don't
>> know how
>> >
>> >
>> > lvb = Status("lastvisiblebar");
>> >
>> > fvb = Status("firstvisiblebar");
>> >
>> >
>> > for( i = 0; i < ??? ; i++ )
>> >
>> > {
>> >
>> >
>> > I have an example here that executes very slowly in live intra
> day
>> chart
>> >
>> > Can you tell me please how I can correct this example ?
>> >
>> >
>> > Q=Param( "% Change",1.50,.25,14 ,0.25);
>> >
>> > Z= Zig(C,q ) ;
>> >
>> > HH=((Z<Ref(Z,- 1) AND Ref(Z,-1) >
>> >
>> > Ref(Z,-2)) AND (Peak(z,q,1 )
>> >
>> > >Peak(Z,q,2 )));
>> >
>> > LL=((Z>Ref(Z,- 1) AND Ref(Z,-1) < Ref(Z,-2)) AND (Trough(Z,q,1 )
>> >
>> > <Trough(Z,q,2 )));
>> >
>> >
>> > dist = 0.5*ATR (20);
>> >
>> >
>> > for( i = 0; i < BarCount; i++ )
>> >
>> > {
>> >
>> > if( HH [i]) PlotText( "HH"+ "\n"+H[ i ], i, H[ i
>> >
>> > ]+dist[i], colorGreen );
>> >
>> > if( LL [i] ) PlotText( ""+L[ i ]+"\nLL", i, L[ i
>> >
>> > ]-dist[i], colorRed );
>> >
>> > }
>> >
>> >
>> > Plot(C,"",IIf(C>O,colorGreen,colorRed),styleCandle);
>> >
>> >
>> > Thank you
>> >
>> > Panos
>> >
>> >
>> >
>> >
>> >
> ------------------------------------
> **** IMPORTANT ****
> This group is for the discussion between users only.
> This is *NOT* technical support channel.
> *********************
> TO GET TECHNICAL 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/
__._,_.___
**** IMPORTANT ****
This group is for the discussion between users only.
This is *NOT* technical support channel.
*********************
TO GET TECHNICAL 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
*********************************
__,_._,___
|