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

Re: [amibroker] Re: how to improve loop speed



PureBytes Links

Trading Reference Links

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

*********************************




Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___