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 [email protected], "Tomasz Janeczko" <[EMAIL PROTECTED]> 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" <[EMAIL PROTECTED]> > To: <[email protected]> > 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 [email protected], "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 [email protected], 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 [email protected], 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 > > > > > > >
