Thank you for your answers. Answering your original question - plugin send WM_USER_STREAMING_UPDATE not only when new trades or bid/ask appear. They send it also: a) when general update is sent (data sources periodically send quotes even if there is no new trade or bid/ask to ensure that you get last quotes after trading session is over or when there is period of inactivity) b) the update is also sent when bid/ask SIZE changes (even though bid/ask price does not) c) periodic messages can be sent as well (all our plugins send WM_USER_STREAMING_UPDATE every one second, even if data source does not send anything).
Best regards, Tomasz Janeczko amibroker.com ----- Original Message ----- From: "mikesmith930b" <[email protected]> To: <[email protected]> Sent: Thursday, December 18, 2008 4:02 PM Subject: [amibroker] Re: Capturing IQFeed streaming tick data via plugin > Tomasz, >> What exactly you are writing? > > My interest is in indicators that combine information on varying time > scales for an automated trading system to Interactive Brokers via > AmiBroker. For the shortest time scale I want to get as close to the > raw data feed as I can. > > I want to use IQFeed's streaming feed rather than IB's 250ms snapshots. > >> How do you exactly use AmiBroker IQFeed plugin ? > > In the help file you discuss the limitations of GetRTData(); so I am > writing my own plugin version of GetRTData() which updates as fast as > the data used for the Time&Sales window. > >> You can not normally see the WM_USER_STREAMING_UPDATE. > > A plugin dll can see all Windows messages. > >> Are you really writing external application that mimics AB interface > and connects to our plugin? > > Not at all. I'm just looking for a way to access the data stream in > real time to try to make a better indicator. > > The bigger problem may be that the timestamps are in seconds (not ms). > And relying on reception times as an accurate reflection of tick > timing may render this aspect of the indicator unusable. > > Tomasz, if you have any further questions or concerns about what I am > doing, or if you would rather answer my initial questions privately, > please feel free to contact me via email. > > You should have my address from our Dec 3rd correspondence regarding > Delphi. > > Regards, > Mike S > > > > > > --- In [email protected], "Tomasz Janeczko" <gro...@...> wrote: >> >> Hello, >> >> What exactly you are writing? How do you exactly use AmiBroker > IQFeed plugin ? >> You can not normally see the WM_USER_STREAMING_UPDATE. >> Are you really writing external application that mimics AB interface > and connects to our plugin? >> >> Best regards, >> Tomasz Janeczko >> amibroker.com >> ----- Original Message ----- >> From: mikesmith930b >> To: [email protected] >> Sent: Thursday, December 18, 2008 5:55 AM >> Subject: [amibroker] Capturing IQFeed streaming tick data via plugin >> >> >> Hi, >> >> I'm writing a plugin that analyzes the IQFeed streaming tick data, > (and also saves it to a file for later use). My main database is > 1-minute, not tick. >> >> Since GetRTData() is called at the chart refresh rate, I am > getting the the data in real time by monitoring the message loop for > WM_USER_STREAMING_UPDATE, (which I believe is called whenever a new > tick arrives), and then reading RecentInfo directly. >> >> Looking at ADK/QT.cpp as an example of how RecentInfo, (ri in the > code below), is filled I see: >> >> (*1) if( ri->fLast != fOldLast || ri->fAsk != > fOldAsk || ri->fBid != fOldBid ) >> { >> ri->nDateUpdate = ri->nDateChange; >> ri->nTimeUpdate = ri->nTimeChange; >> } >> >> ri->nBitmap = RI_LAST | ( ri->fOpen ? > RI_OPEN : 0 ) | ( ri->fHigh ? RI_HIGHLOW : 0 ) | RI_TRADEVOL | > RI_52WEEK | >> RI_TOTALVOL | RI_PREVCHANGE | > RI_BID | RI_ASK | RI_DATEUPDATE | RI_DATECHANGE; >> >> (*2) ri->nStatus = RI_STATUS_UPDATE | > RI_STATUS_BIDASK | RI_STATUS_TRADE | RI_STATUS_BARSREADY; >> >> Now with IQFeed I see plenty of ticks where (*1)is false, and they > don't seem to be used by the Time&Sales, so what do they represent? >> >> Also I would expect nStatus to generally not be zero, see (*2), > but it is zero - once the initial feed gets up to date. Why? >> >> Thanks, >> Mike S >> > > > > ------------------------------------ > > **** 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 > > >
