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

[amibroker] Re: Problem with MarketCast data feed into Amibroker



PureBytes Links

Trading Reference Links

Thanks Tomasz
Unfortunately not a simple mistake on my part (I'd rather problems 
they be that simple), 5000 Bars was entered correctly (both in global 
preferences and local database setting). When conducting tests I am 
very careful, this comes from years of designing, testing and 
commissioning real time, mission critical telemetry systems. I also 
ran a test with 2000 bars and more than 2000 bars were reported 
retrieved (but less than 5000). Maybe the extra bar count on the 
status line message are related to trading timeframes other 
than "daytime" for I have the database configured for displaying only 
daytime trades. If you are not concerned about the discrepancy 
between the database setting and the reported count, then I won't 
worry abotu it either. I was just raising it for I did not expect 
that result. i.e. any discrepancy may eventually lead to a solution.

Yes, of course enabling local storage will improve performance. A 
major strong point of Amibroker's database design. The purpose of my 
post was not to highlight the relative performances of Amibroker or 
MarketCast but to highlight the inconvenience of no user control of 
Amibroker if MarketCast (or any other data service) takes longer to 
retrieve the data than the realtime refresh interval in amibroker 
(default is 5 seconds), and to explore if that inconvenience could be 
avoided by enhancing the way Amibroker handles plugin performance 
(for error conditions?). Combine this with the unexpected double 
retrieval for the slower tickers has meant that I have had no choice 
but to kill Amibroker using the task manager when displaying a ticker 
that has just become corrupted or scrolling through my watchlist. On 
occassions I have got away with queuing a mouse click to shutdwon 
cleanly. Whilst this is clearly NOT a fault of Amibroker the 
relationship between realtime refresh interval and the time to 
retrieve the data might be improved in future versions to better 
accomodate variations in data source performance.

"In-memory cache" is set at 200 symbols and my testing was conducted 
using a total of 5 symbols/tickers after starting Amibroker, 3 with 
healthy retrieval and 2 with a problem in the marketcast database. I 
would not have thought caching would have come into the equation. 
Once again if the double retrieval is expected behaviour to you, then 
I won't worry about it further.

Unfortunately, unlike the excellent support from Amibroker, I have to 
wait until Monday morning to take up my problem with MarketCast, and 
a full days trading possibly lost to boot.

Meanwhile, this discussions is helping me understand the workings of 
Amibroker much better. Thanks for your valuable time Tomasz.

regards
Shawky

--- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <amibroker@xxxx> 
wrote:
> Hello,
> 
> > Tomasz
> > Regarding my problem with Amibroker consuming 100% CPU for 
certain 
> > stocks, I can add the following information:
> > 1. I enabled "Display Plugin Activity" in Preferences and set the 
> > Realtime chart refresh interval to the maximum of "30" seconds.
> > 2. Database setting is set for loading 5000 bars and local 
storage is 
> > disabled (for now).
> > 3. For tickers that appear to work OK, the status bar 
> > reports "Processing data through plugin" result "8460 data bars 
> > retrieved during 2.351 sec". The number of bars and time taken 
varies 
> > for each ticker and at each realtime refresh interval. I am not 
sure 
> > why the quantity of data bars varies from that configured in the 
> > database.
> 
> Maybe you have entered 50000 bars instead of 5000 (by mistake). 
Please check.
> As for the time it takes to get the data: the plugin is limited by 
the speed
> of Marketcast Database API, in order to improve perfomance please
> ENABLE local database storage (in File->Database Settings) as 
enabling it allows to 
> get all the quotes only once and then getting only new updates 
instead
> of retrieving all history over and over again.
> 
> 
> > 4. For a ticker where there seems to be a data retrieval problem 
> > (i.e. suspect ticker)the chart retrieval takes about 20 seconds, 
and 
> > the status bar reports 18-21 seconds. But Amibroker appears to 
> > initial a second retrieval immediately after the first.
> 
> Then it is the problem of Database API. Please report the ticker 
symbol
> to MarketCast and please tell them that Database API takes 20 
seconds
> to retrieve the data. Otherwise provide this information (the symbol
> and time) to support[at]amibroker.com and I will forward
> it with appropriate comment to MarketCast staff.
> 
> > 5. After the initial "double" retrieval as described in item 4. 
for 
> > suspect tickers data retrieval is carried out once only per 
realtime 
> > scan interval. For healthy tickers the data retrieval appears to 
> > occur only once per realtime interval included the first time.
> Yes that's true but only as long as data can be cached in in-memory 
(RAM) cache.
> If you want to cache more data locally (more than just in RAM 
memory)
> please ENABLE local database storage.
> This will definitely improve performance.
> 
> > 6. My 100% CPU usage and loss of control of Amibroker was a 
result of 
> > the plugin taking longer than the realtime refresh interval to 
> > retrieve data. Thus, almost no "free" time was allocated to 
servicing 
> > the user. It is possible to "queue" so to speek a single mouse 
click 
> > or key press to exit the application which would eventually be 
> > serviced.
> Yes the Database API is somewhat slow, however after initial (slow)
> retrieval of data and local database enabled you should be able to
> get subsequent updates quite fast, since not all history but only 
missing
> part is retrieved.
> 
> > 
> > So, there is clearly a problem somewhere in the data retrieval 
> > process and I will see how well marketcast can help me in this 
> > regard. There also appears to be a double retrieval which I am 
> > guessing is a result of an error after the first initial query. I 
> > hope this makes sense.
> 
> Your assumptions are correct.
> MarketCast plugin uses MarketCastGetTrade Database API function to
> retrieve historical intraday data and spends 90% of time inside
> MarketCastGetTrade function. 
> 
> Best regards,
> Tomasz Janeczko
> amibroker.com
> 
> 
> ----- Original Message ----- 
> From: "Chris" <shawky2004@xxxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Saturday, September 25, 2004 10:25 AM
> Subject: [amibroker] Re: Problem with MarketCast data feed into 
Amibroker
> 
> 
> > 
> > Check AmiBroker web page at:
> > http://www.amibroker.com/
> > 
> > Check group FAQ at: 
http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
> > Yahoo! Groups Links
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> >



------------------------ Yahoo! Groups Sponsor --------------------~--> 
$9.95 domain names from Yahoo!. Register anything.
http://us.click.yahoo.com/J8kdrA/y20IAA/yQLSAA/GHeqlB/TM
--------------------------------------------------------------------~-> 

Check AmiBroker web page at:
http://www.amibroker.com/

Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

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