Joined: Aug 5, 2016
Posted: Aug 5, 2016 09:03 AM
Msg. 1 of 1
Hi all, I'm building a Java app for a client based off of the same idea as the sample Level1Socket.java app in the developer examples. The gist of it is basically a socket listener app (command line, no GUI) that..
1. Sets the fieldset to 'Symbol','Last','Total Volume', 'High','Low','Number of Trades Today', and 'VWAP'.
2. It then loads in a CSV 'symbol loader' file that has one symbol per line (about 600 in total right now, but the plan is for there to be closer to 6,000 when at expected capacity) and runs the 'w[SYMBOL]' Watch command on each of them.
3. Next it stores the returned summary lines (either P or Q) in an ArrayList. It ignores all T, F, and n lines.
4. A separate Timer thread every three seconds will loop through this ArrayList and save the data to a MySQL database, Updating if the Symbol already has a row in there, or Inserting if not.
My question is, there's a lot of data that I don't necessarily need to come through the feed. The 'F' Fundamental lines in particular - is there any way to turn those off like there is with Timestamps and News lines?
Another question - Is this the best way to get the most current data from IQFeed in realtime? I was hoping there might be a way to do a batch poll of a bunch of Symbols, specifically looking for a certain fieldset, and to be able to re-poll that data every 2 seconds to look for change, rather than wait on the variability of a socket session to spit out data (which is providing some inconsistent results when we go to save data to our DB).
I'm coming to find that I can't get enough good data saved from the feed to do accurate data processing into my database table, and I'm guessing it's got to be because there's too much other data that the reader is dealing with to be able to keep up with the data as it's coming down the pipeline, so I'm trying to find a way to free it up and save some bandwidth.
Any help would be greatly appreciated, I've been banging my head against the wall all night on this! :)