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

Re: [amibroker] Re: When AFL just stops updating the chart now and then...



PureBytes Links

Trading Reference Links

Hello,

I am not sure what kind of formula you are using, but I tried 6 linked charts, two
panes each with linking turned on and selecting new quote is still way in
sub-second territory (around 0.2 sec) on 2GHz Althlon.
If your formulas are that slow it takes 2 seconds, I would definitely suggest using
AFL Editior, Tools->Code Check & Profile to find if you are
not calling the same functions with same parameters many times 
and that you are not referencing too many past bars.
Eliminating these two is very important if you want to speed up your formulas.

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "sidhartha70" <sidhartha70@xxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Wednesday, July 02, 2008 11:23 AM
Subject: [amibroker] Re: When AFL just stops updating the chart now and then...


> Tomasz,
> 
> I think my experience with symbol linking slowing things down is
> somewhat of a visual trick... in the sense that, as I mentioned to you
> in another post, I already have AB grinding up about 80-90% of one
> core on my PC (with chart refresh set to tick). I think at this level,
> anything that adds overhead to AB and that core has a pretty noticable
> effect on operation - however, I agree that it might add very little
> in terms of % to processor useage.
> 
> I had 6 charts all symbol linking, with quite complex charts, core
> grinding up at 80-90% as I said... when I clicked on one chart,
> obviously, AB would find the same spot on all the other charts and
> move the cursor to the relevant spot. At that level of processor
> useage this became a very slow operation. Literally it could take 2-3
> seconds to find the right spot on the 6 charts. Obviously for a 3Ghz
> PC that felt very slow.
> 
> But I accept your analysis of course... I guess this is more a generic
> 'single core grinding up' issue than a specific symbol linking issue.
> That was just the straw that broke the camels back so to speak.
> 
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@xxx> wrote:
>>
>> Hello,
>> 
>> Frankly speaking, today for a few hours,
>> I was checking CPU usage with version 5.13 (5.10 should be the same)
>> side by side the same charts linked and not linked
>> with ProcessExplorer
> http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
>>  and did not find ANY difference in performance linked vs unlinked using
>> any formula shipped with AmiBroker with intraday chart refresh set
> to zero (0) - the fastest setting.
>> I was using four linked charts with two panes each, three of them
> floating, one docked inside AB frame,
>> two monitors checking symbol linking, interval linking and both
> turned on at the same time.
>> The average CPU usage was floating 15-23% in both cases (2GHz AMD
> Althlon).
>> To detect if there is any difference a long-term averaging (like 15
> minutes or so) would need
>> to be done. I did not do that, but I doubt if measurable difference
> is greater than 1-2%.
>> 
>> The only thing I could think of is that your formula forces
> refreshes by itself.
>> You may need to send the formula you are using to support, because
> as of now, I can not
>> spot any difference linked vs non-linked. 
>> Please use either Task Manager or Process Explorer and measure
> actual CPU usage
>> linked vs non-linked with update set to 5 second (for averaging) and
> if you see any 
>> difference, send to support. Thank you.
>> 
>> Best regards,
>> Tomasz Janeczko
>> amibroker.com
>> ----- Original Message ----- 
>> From: "sidhartha70" <sidhartha70@xxx>
>> To: <amibroker@xxxxxxxxxxxxxxx>
>> Sent: Saturday, June 28, 2008 10:37 AM
>> Subject: [amibroker] Re: When AFL just stops updating the chart now
> and then...
>> 
>> 
>> > Monitorit,
>> > 
>> > I still trying to work out exactly what your issue is...? Is it speed
>> > ultimately...? If so, I can tell you from my own experience 'symbol
>> > linking' degrades performance of AB very significantly. I had to turn
>> > symbol linking off...
>> > 
>> > --- In amibroker@xxxxxxxxxxxxxxx, "monitorit" <monitorit@> wrote:
>> >>
>> >> Dennis,
>> >> Thanks.  I hope I've not set AB up wrong - don't think so. AB is
> in 1 
>> >> window.  The 5 symbol linked charts (each created from
> file>new>blank 
>> >> chart are all visible simultaneously) - each with a different time 
>> >> interval - the MDI option is off.  The charts are 1min, 2min, 5min, 
>> >> 15min & daily.  If I run an explore in 5min periodicity, AB will run 
>> >> through 100 symbols in ~ 3 seconds total... usually generating 10-30 
>> >> hits.  The output includes most of the indicators on the 5 min 
>> >> chart.  The chart itself takes 3-4 sec to draw when I move from 1
> sym 
>> >> to another.  So... all those 100 sym MUST have been calculated in
> the 
>> >> background because many/most of those symbols were not charted that 
>> >> day.  I keep hitting my head on this - how often are these symbols 
>> >> being recalculated... is it everytime a new price comes in?  is it 
>> >> controlled by the preference>intraday>chart refresh?  is it just
> when 
>> >> a new bar appears (ie, a bar is completed).  If it is the first 
>> >> choice, can you think of any code that would decrease the frequency 
>> >> or limit it to just when the bar is completed?
>> >> 
>> >> If I want to continue w AB in RT mode, I have to solve this
> problem.  
>> >> I will just run a single window of price/vol and just 1 short MovAvg 
>> >> for the coming week to see if my data problem goes away - or not.
>> >> 
>> >> BTW- for clarity my db is 7400 bars/symbol (740000 total bars=23
> Meg).
>> >> I have not used setbarsrequired as each chart calls for bar0---last 
>> >> in 3 loops of the afl (& no arrays in loops).  When I change chart 
>> >> sym, the charts are finished drawing in 1-2 sec (it takes another 2 
>> >> sec or so to finish writing some plottext statement - and that might 
>> >> be d/t my refresh rate).
>> >> 
>> >> Dan
>> >> 
>> >> 
>> >> --- In amibroker@xxxxxxxxxxxxxxx, Dennis Brown <see3d@> wrote:
>> >> >
>> >> > Dan, my comments are embedded:
>> >> > 
>> >> > On Jun 27, 2008, at 10:23 PM, monitorit wrote:
>> >> > 
>> >> > > Hi Dennis,
>> >> > > Perhaps you can help me - you'd be the first on this problem :(
>> >> > > The problem I described is ~daily.
>> >> > 
>> >> > I will do my best..
>> >> > 
>> >> > > MY AB workspace displays the quotes window, 1-2 t&s windows + 5
>> >> > > symbol-linked chart windows (1 min, 2 min, 5 min, 15 min and 
>> >> daily).
>> >> > > Each chart window has 8 sheets - but all these are empty except 
>> >> the
>> >> > > first sheet with 1-3 panes each and 1 window has a study on the
>> >> > > second sheet.  Total time (sum) for the 5 charts via 'display 
>> >> chart
>> >> > > timing' is ~400 msec. Running through these charts afterhours is 
>> >> no
>> >> > > problem (local db is enabled).. I see all charts windows 
>> >> completed in
>> >> > > about 4 seconds after changing symbols.
>> >> > 
>> >> > My charts are as simple as I can make them.  Just one Main chart 
>> >> which  
>> >> > run everything.  Can run as fast as 200ms to as slow as 10s 
>> >> depending  
>> >> > on the trading parameters I am using and the amount of history
> and  
>> >> > especially the number of bars I am displaying.  I might have 
>> >> another  
>> >> > simple chart running in another tab just to keep another symbol  
>> >> > database up to date.
>> >> > 
>> >> > > What do you think are the best settings for the pref>data
>> >> > > tab 'default db settings' in-memory  cache size (max symbols), 
>> >> (max
>> >> > > megabytes) and number of bars to load... for a 7400 bar, 100 
>> >> symbol
>> >> > > db (and perhaps for a longer db with more symbols).  What do
> these
>> >> > > fields actually mean/do?
>> >> > 
>> >> > Good questions, wish I knew all those answers.  My settings:
>> >> > 
>> >> > I only run about a dozen symbols.
>> >> > I keep 300,000 5 second bar database
>> >> > Cache max 82 MB.
>> >> > I load up to 100,000 bars, but only about 3,000 1 minule bars
> when  
>> >> > trading.
>> >> > 
>> >> > > I have 4GB (3 GB available in vista32) and
>> >> > > no other programs running... so is it best to use >1000
> megabytes?
>> >> > 
>> >> > I have a 2GB virtual XP32 running only AB.  I use all default 
>> >> settings.
>> >> > 
>> >> > > What is number of bars to load (does db setting overwrite this?)?
>> >> > 
>> >> > I override this in my AFL with SetBarsRequired()
>> >> > 
>> >> > > DB settings has a 'flush cache' button.  Doesn't seem to do 
>> >> anything
>> >> > > for me.  Does it work for you?
>> >> > 
>> >> > It would just reload it again if it were flushed.
>> >> > 
>> >> > > Refresh and refresh all has no
>> >> > > effect.  If I do a refresh current sym, I get new data for that 
>> >> sym
>> >> > > but then no further updates for any symbol.
>> >> > 
>> >> > Refresh just forces AFL to run one cycle on the chart.
>> >> > 
>> >> > I use RequestTimedRefresh() to make my chart refresh all the time 
>> >> even  
>> >> > if not quotes are coming in.
>> >> > 
>> >> > > My db is 7400 1min bars*100 sym... are you working with a similar
>> >> > > size?
>> >> > 
>> >> > Like I said, 300,000 5 second bars for just a few symbols.
>> >> > 
>> >> > > BTW, I know what you mean about getting hypnotized so I get 
>> >> alerted
>> >> > > to the quote delay with the following in the 1min chart - you can
>> >> > > probably get it to work with shorter periods or make it say 
>> >> something:
>> >> > >
>> >> > > delayedcolor=IIf(TimeNum()<Now(4)-120 OR DateNum()<Now(3),32,16);
>> >> > > //for time at bar start-- 32=colorred, 16=colorblack , red if
>> >> > > last bar start-time is earlier than 1min20 sec of system time
>> >> > > //my bar times are at start of interval so min# could be 101
>> >> > >
>> >> > > Plot( C, "Close", delayedcolor, styleNoTitle | ParamStyle
>> >> ("Style") |
>> >> > > GetPriceStyle() );
>> >> > 
>> >> > Assuming that it is not the AFL that is stalled, I could write  
>> >> > something that would monitor how long since the last quote came 
>> >> in.   
>> >> > However, in my case, I suspect that the AFL may not be running
> any  
>> >> > passes when my charts freeze.
>> >> > 
>> >> > OTOH, I could have another chart running in another tab which
> just  
>> >> > pings messages to the main chart through a static variable to
> make  
>> >> > sure it is alive, and alert me if it has stalled.  Thanks for 
>> >> jogging  
>> >> > that Idea.
>> >> > 
>> >> > Best regards,
>> >> > Dennis
>> >> > 
>> >> > 
>> >> > > Thanks, Dan
>> >> > >
>> >> > > --- In amibroker@xxxxxxxxxxxxxxx, Dennis Brown <see3d@> wrote:
>> >> > >>
>> >> > >> Hello,
>> >> > >>
>> >> > >> I have something that happens once every few days with my RT 
>> >> charts.
>> >> > >>
>> >> > >> At some point in the day, the chart stops updating.  I also have
>> >> > >> getRTData() functions in my AFL that also stop.
>> >> > >>
>> >> > >> I don't know if it is the data feed that stops handing the
> quotes
>> >> > > to
>> >> > >> AB, or if XP is not giving the data, or if the AFL loop stops
>> >> > >> running.  Everything looks normal, but I notice that my broker's
>> >> > >> charts have moved ahead and my AB charts have stalled (My 
>> >> broker's
>> >> > >> charts are prone to stalling in fast markets and my AB charts 
>> >> keep
>> >> > > on
>> >> > >> ticking).  This can be disconcerting when you are in a fast
> trade
>> >> > > and
>> >> > >> you go blind without realizing it.
>> >> > >>
>> >> > >> I am using DTN IQFeed, but the same thing happened with eSignal 
>> >> in
>> >> > >> previous years.  The data feed plug-in indicates everything is
>> >> > > green
>> >> > >> and working.
>> >> > >>
>> >> > >> Clicking on the chart refresh button starts the chart running 
>> >> again.
>> >> > >>
>> >> > >> I am usually in a panic when this happens, so I have not been 
>> >> able
>> >> > > to
>> >> > >> properly go through debug steps to isolate the problem area.
>> >> > >>
>> >> > >> So my questions are:
>> >> > >>
>> >> > >> 1.  Does anyone know the root cause of this?
>> >> > >> 2.  Is there a way to detect that the chart has stopped updating
>> >> > >> (other than by eye)?
>> >> > >> 3.  Is there a way to automatically jump start the updating
> again
>> >> > > when
>> >> > >> it happens?
>> >> > >>
>> >> > >> Thanks for any insights.
>> >> > >>
>> >> > >> If nobody can help, I will ask support.
>> >> > >>
>> >> > >> Best regards,
>> >> > >> 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

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