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

Re: [amibroker] Why does it take so long to apply edits?



PureBytes Links

Trading Reference Links

Tomasz,

I "re-invented the wheel" because I found the permanent storage to be  
not so permanent.  About one in 5 times I would apply an edit to my  
AFL, all my parameters would get reset to defaults and I would lose  
all my settings.  This was especially true if during the long apply  
times, I happened to click on any AB window.  It was driving me crazy  
as I might be making 5-15 edits an hour to my program while testing  
new trading ideas in realtime.  I reported this at the time.

Because of this (and the increasing apply times), I started using  
more parameters instead of just changing values in the AFL to test  
ideas.  With more parameters, came the need to organize them with  
more hierarchy and conditionally so that they were easy to manage and  
maintain in the Parameters window.

Of course as my testing of different systems progressed, I wanted to  
be able to save different named sets of parameters for my chart for  
different conditions.  For instance day trading the S&P500 uses a  
different set of parameters than day trading OIH.  Also I wanted to  
be able to switch between time mode and volume or range mode charts  
instantly which require different settings of course.  The reason for  
not using different chart tabs for this is because my hand drawn  
studies do not move between charts.  It also helps the organization  
to keep everything in one chart in one window.  However, by having  
the named sets, I could also apply the same settings to other charts  
if I wanted to operate this way.

By finding a way to expand the Params functionality of AB in AFL, I  
went from seriously doubting that I could reach my goals using AB to  
being very happy with what I can do with AB.

The way the data is presented and the UI functionality is of extreme  
importance to realtime traders.   Because of this, I have spent 80%  
of my development efforts in UI areas and 20% in trading  
algorithms.   However, I have the utmost confidence in you Tomasz,  
that you will continue to make AB better for all your users over  
time.  I appreciate the support and flexibility that you have  
provided and continue to expand in AB and the AFL language.

Best regards,
Dennis


On Nov 20, 2007, at 4:31 AM, Tomasz Janeczko wrote:

> Hello,
>
> It saves parameter values for all charts - it is needed as
> "permanent" storage of parameters, so when you shut down AmiBroker
> and re-run the parameters are restored to values they were set  
> prior to shut down.
>
> I think that you "re-invented wheel" - parameters are saved by  
> AmiBroker already
> and I am not quite sure why to re-implement the same from AFL.
>
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message -----
> From: "Dennis Brown" <see3d@xxxxxxxxxxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Tuesday, November 20, 2007 5:13 AM
> Subject: Re: [amibroker] Why does it take so long to apply edits?
>
>
>> Tomasz,
>>
>> The broker.params file is 117KB and you are right it contains
>> thousands of parameters from past versions of the chart.
>> Since I keep all my parameters in separate files I deleted this file
>> and it is now only 5KB and my program runs the same (I made a copy
>> first).
>> How interesting.  Could this have slowed down applying my edits as it
>> grew?
>> I could just delete this file from time to time.  Does it serve any
>> other purpose?
>>
>> Best regards,
>> Dennis
>>
>> On Nov 19, 2007, at 9:29 PM, Tomasz Janeczko wrote:
>>
>>> Hello,
>>>
>>> You should look inside broker.params file.
>>> I guess that thousands of different (now unused)
>>> parameter names were created by the formula.
>>>
>>> Best regards,
>>> Tomasz Janeczko
>>> amibroker.com
>>> ----- Original Message -----
>>> From: "Dennis Brown" <see3d@xxxxxxxxxxx>
>>> To: <amibroker@xxxxxxxxxxxxxxx>
>>> Sent: Tuesday, November 20, 2007 2:45 AM
>>> Subject: Re: [amibroker] Why does it take so long to apply edits?
>>>
>>>
>>>> Hello,
>>>>
>>>> I just wanted to let everyone know that I found how to fix this
>>>> problem.  Somehow my chart had become corrupted in such a way that
>>>> every edit I made would progressively add a little bit more to the
>>>> time it took to "Apply Indicator".  I was up to 15 minutes today
>>>> before I found it was not my AFL that was doing it.  AB Support  
>>>> tried
>>>> my AFL and let me know that it was not the problem which got me
>>>> looking in the right direction.  Copying my AFL to another sheet
>>>> fixed the problem.  It actually takes less than a second to do this
>>>> operation now.
>>>>
>>>> Best regards,
>>>> Dennis
>>>>
>>>> On Nov 8, 2007, at 9:09 PM, Dennis Brown wrote:
>>>>
>>>>> Tomasz,
>>>>>
>>>>> Thank you for your response on the forum.  Since this problem  
>>>>> seems
>>>>> to have gone way beyond the purpose of the forum at this point,  
>>>>> I am
>>>>> switching to AB Support to debug this issue.  I have included this
>>>>> whole thread as background with that email.
>>>>>
>>>>> But to answer your questions here for the completeness of this
>>>>> thread:
>>>>>
>>>>> Yes, I am talking about "Apply Indicator" taking so long and it  
>>>>> did
>>>>> not make sense to me either that it should take so long.
>>>>>
>>>>> If I do a "Verify syntax" it takes less than a second.
>>>>>
>>>>> Normal operation mode is .25 seconds and resulted in the  
>>>>> following:
>>>>>
>>>>> Using constant volume bar mode resulted in an "Apply" time of 8.5
>>>>> minutes.
>>>>> Switching to daily mode resulted in an "Apply" time of 9.5
>>>>> minutes --
>>>>> so not an improvement.
>>>>> Commenting out ALL 2700 lines of my AFL code resulted in an apply
>>>>> time of 3 minutes.
>>>>>
>>>>> The Profiler runs instantly and shows .01 seconds execution time,
>>>>> but
>>>>> consists of only 6 functions that are checked because most of the
>>>>> AFL
>>>>> is conditionally executed in indicator mode only.
>>>>>
>>>>> I edited out my indicator mode wrapper and used the Profiler  
>>>>> again.
>>>>> This time it showed the results on the screen for about 2 seconds,
>>>>> then the window disappeared and none of the AB windows could be
>>>>> selected, as if the profiler model dialog box was still open  
>>>>> but now
>>>>> invisible.  I was able to catch the AFL run time from the window
>>>>> before it disappeared.  One time it said .45 seconds, another
>>>>> time it
>>>>> was 1.1 seconds.
>>>>>
>>>>> I took screen shots of the Task Manager while it is doing an  
>>>>> "Apply
>>>>> indicator" and sent them along with my AFL code to the AB support
>>>>> email.
>>>>>
>>>>> Thank you for all you do for us.
>>>>> Best regards,
>>>>>
>>>>> Dennis
>>>>>
>>>>> On Nov 7, 2007, at 4:26 PM, Tomasz Janeczko wrote:
>>>>>
>>>>>> Dennis,
>>>>>>
>>>>>> If you speak about "Apply indicator" - it should be sub-second
>>>>>> time.
>>>>>> Minutes mean that something is wrong.
>>>>>> "Applying indicator" executes the code for ALL bars with selected
>>>>>> symbol and selected interval.
>>>>>>
>>>>>> Your formula needs to be doing some weird things if that takes  
>>>>>> that
>>>>>> much time.
>>>>>> Use built in Profiler (in 5.0.1) to find out which functions that
>>>>>> you are using cause such long times.
>>>>>>
>>>>>> Other than looking at your formula I can only suggest to  
>>>>>> switch to
>>>>>> daily interval when applying the code during editing.
>>>>>>
>>>>>> Best regards,
>>>>>> Tomasz Janeczko
>>>>>> amibroker.com
>>>>>> ----- Original Message -----
>>>>>> From: "Dennis Brown" <see3d@xxxxxxxxxxx>
>>>>>> To: <amibroker@xxxxxxxxxxxxxxx>
>>>>>> Sent: Wednesday, November 07, 2007 6:24 PM
>>>>>> Subject: Re: [amibroker] Why does it take so long to apply edits?
>>>>>>
>>>>>>
>>>>>>> Ok,
>>>>>>>
>>>>>>> This has totally frustrated me.  I am ready to abandon the
>>>>>>> built-in
>>>>>>> AFL editor.  It is taking forever to debug code when I have to
>>>>>>> wait
>>>>>>> 4-8 minutes for every typo.
>>>>>>>
>>>>>>> However, I need to keep my AB chart running while editing the  
>>>>>>> AFL
>>>>>>> (because my AB startup setup is complicated).
>>>>>>>
>>>>>>> Can I use an external editor as a *direct* replacement for the
>>>>>>> built-
>>>>>>> in editor?
>>>>>>> Alternatively, is there a way to disable the checking done by  
>>>>>>> the
>>>>>>> AFL
>>>>>>> formula editor when applying?
>>>>>>> Actually the syntax checking is fast, it is what it does after
>>>>>>> that
>>>>>>> that takes so long.
>>>>>>>
>>>>>>> Am I the only one who sees this problem?
>>>>>>>
>>>>>>> Best regards,
>>>>>>> Dennis
>>>>>>>
>>>>>>> On Oct 30, 2007, at 10:21 AM, Dennis Brown wrote:
>>>>>>>
>>>>>>>> Tomasz,
>>>>>>>>
>>>>>>>> As time has gone on, I have increased the complexity of my  
>>>>>>>> AFL to
>>>>>>>> 2500 lines and my database to 200K.  The time to apply edits  
>>>>>>>> has
>>>>>>>> also
>>>>>>>> gone up to 8 minutes even though I have wrapped the code so  
>>>>>>>> that
>>>>>>>> most
>>>>>>>> only executes in indicator mode.  Finally today I became
>>>>>>>> frustrated
>>>>>>>> enough to track down the offending AFL.  I started by  
>>>>>>>> commenting
>>>>>>>> out
>>>>>>>> my entire AFL.  Time to apply --4 minutes for 2500 lines of
>>>>>>>> comments!  I am at a loss for how to track down what is
>>>>>>>> causing the
>>>>>>>> long apply edits now.  Do you know how I might approach this?
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Dennis
>>>>>>>>
>>>>>>>> On Sep 4, 2007, at 9:16 PM, Dennis Brown wrote:
>>>>>>>>
>>>>>>>>> Tomasz,
>>>>>>>>>
>>>>>>>>> Thank you for your insights.
>>>>>>>>>
>>>>>>>>> I wrapped my code today as you suggested below and in an  
>>>>>>>>> earlier
>>>>>>>>> post
>>>>>>>>> today, so unwrapped are only the uncalled functions and a few
>>>>>>>>> variables initialized to keep out syntax errors.  I am using a
>>>>>>>>> 90,000
>>>>>>>>> bar 5 second database, but the chart timeframe is run at about
>>>>>>>>> 7,000
>>>>>>>>> bars, and my complex loop processing is limited by  
>>>>>>>>> parameter to
>>>>>>>>> less
>>>>>>>>> than 2,000 bars.  Changing that parameter to 200 bars reduces
>>>>>>>>> the
>>>>>>>>> execution time from 1 second to .2 seconds, but as you
>>>>>>>>> suggested,
>>>>>>>>> does not seem to have much affect on the apply time --which  
>>>>>>>>> now
>>>>>>>>> varies from 35 to 65 seconds.  I also tried different tickers
>>>>>>>>> with
>>>>>>>>> fewer bars (30,000) and it did made the apply time longer.   
>>>>>>>>> So I
>>>>>>>>> would say my edit apply time is no longer dependent on my
>>>>>>>>> database
>>>>>>>>> size or AFL complexity.
>>>>>>>>>
>>>>>>>>> Even though I am glad to have under a minute apply time  
>>>>>>>>> now, it
>>>>>>>>> seems
>>>>>>>>> as though there is still something else that is slowing it
>>>>>>>>> down.  Do
>>>>>>>>> any other possibilities come to mind?
>>>>>>>>>
>>>>>>>>> One thing that I noticed, is that it is a consistent 35
>>>>>>>>> seconds to
>>>>>>>>> apply when I start up AB and just do a lot of applies.
>>>>>>>>> Switching
>>>>>>>>> symbols, more edits, enabling complex AFL sections, etc.
>>>>>>>>> cause the
>>>>>>>>> time to lengthen up to the 55 second area and it does not go
>>>>>>>>> back
>>>>>>>>> down until I quit AB.  I am guessing that these things take
>>>>>>>>> memory
>>>>>>>>> that does not get released and it reduces the RAM available  
>>>>>>>>> for
>>>>>>>>> processing the apply.
>>>>>>>>>
>>>>>>>>> PS.  When I turn on ALL of my formula (enabled in sections  
>>>>>>>>> with
>>>>>>>>> multiple timeframes and indicators) it takes about 5  
>>>>>>>>> seconds to
>>>>>>>>> execute with all the speed-up tricks so far --which is why  
>>>>>>>>> I am
>>>>>>>>> obsessed with getting the most speed I can out of AFL by  
>>>>>>>>> clever
>>>>>>>>> programming tricks.
>>>>>>>>>
>>>>>>>>> Best regards,
>>>>>>>>> Dennis
>>>>>>>>>
>>>>>>>>> On Sep 4, 2007, at 6:00 PM, Tomasz Janeczko wrote:
>>>>>>>>>
>>>>>>>>>> Dennis,
>>>>>>>>>>
>>>>>>>>>> If you are "applying" the code - it is for the first time
>>>>>>>>>> executed
>>>>>>>>>> with ALL bars, regardless of QuickAFL and SetBarsRequired
>>>>>>>>>> settings.
>>>>>>>>>>
>>>>>>>>>> Now *if* your formula is complex and uses looping and you are
>>>>>>>>>> using
>>>>>>>>>> for example tick database with hundreds of thousands of bars
>>>>>>>>>> it may take a while. Usually it is non-issue as people are  
>>>>>>>>>> not
>>>>>>>>>> using such complex formulas.
>>>>>>>>>> (1 second is *very* long for execution under normal
>>>>>>>>>> circumstances.
>>>>>>>>>> My formulas usually execute well below 0.1 sec).
>>>>>>>>>>
>>>>>>>>>> You may wrap your code into
>>>>>>>>>>
>>>>>>>>>> if( Status("action")==actionIndicator)
>>>>>>>>>> {
>>>>>>>>>> ...
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> and this will prevent this effect.
>>>>>>>>>>
>>>>>>>>>> Best regards,
>>>>>>>>>> Tomasz Janeczko
>>>>>>>>>> amibroker.com
>>>>>>>>>> ----- Original Message -----
>>>>>>>>>> From: "Dennis Brown" <see3d@xxxxxxxxxxx>
>>>>>>>>>> To: <amibroker@xxxxxxxxxxxxxxx>
>>>>>>>>>> Sent: Tuesday, September 04, 2007 11:25 PM
>>>>>>>>>> Subject: [amibroker] Why does it take so long to apply edits?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Hello,
>>>>>>>>>>>
>>>>>>>>>>> I have noticed that the time it takes to apply an edit to my
>>>>>>>>>>> large
>>>>>>>>>>> indicator AFL takes a long but variable amount of time.  It
>>>>>>>>>>> might
>>>>>>>>>>> take 15 seconds one time and 3 minutes another time.  It
>>>>>>>>>>> usually
>>>>>>>>>>> takes about 2.5 minutes to apply an edit, though if there  
>>>>>>>>>>> is a
>>>>>>>>>>> syntax
>>>>>>>>>>> error, it comes back right away.  The AFL itself has an
>>>>>>>>>>> execution of
>>>>>>>>>>> about 1 second per pass and starts up right away from  
>>>>>>>>>>> scratch.
>>>>>>>>>>>
>>>>>>>>>>> I was wondering if there were any general rules that I
>>>>>>>>>>> should be
>>>>>>>>>>> aware of that would make applying edits faster and more
>>>>>>>>>>> consistent?
>>>>>>>>>>>
>>>>>>>>>>> Another thing that is interesting is that if I click
>>>>>>>>>>> anywhere on
>>>>>>>>>>> the
>>>>>>>>>>> chart or UI while the edit is being applied, it runs even
>>>>>>>>>>> slower,
>>>>>>>>>>> and
>>>>>>>>>>> always resets all the params.
>>>>>>>>>>>
>>>>>>>>>>> Insights anyone?
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Dennis
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 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
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> 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

<*> 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/