Joined: |
Nov 5, 2009 08:23 AM |
Last Post: |
Jan 7, 2013 11:38 AM |
Last Visit: |
Jan 7, 2013 11:38 AM |
Website: |
|
Location: |
|
Occupation: |
|
Interests: |
|
|
AIM: |
|
ICQ: |
|
MSN IM: |
|
Yahoo IM: |
|
|
sappjason has contributed to 8 posts out of 21251 total posts
(0.04%) in 5,578 days (0.00 posts per day).
20 Most recent posts:
Steve,
I'll have to update the ticket tomorrow as I cannot reproduce it until the next morning.
Thanks,
Jason
I've been running fine for the past year or so with no problems what-so-ever, but after the new year, I must reboot my server every morning in order to properly connect to IQFeed. My application is written in Java and I use IQFeed 4.9.0.3 on a Windows Server 2008 running 68 bit.
One (possibly important) point is that my application connects to IQFeed in the morning and typically disconnects in the evening around 9:00PM. However, the iqconnect.exe will sometimes stay up all night (not always, but sometimes).
Anyway, the technique the I use to connect is as follows (with autologin information provided in the IQFeed dialog box):
----------------------------------------------------------------------------------------------------- Runtime.getRuntime().exec ("iqconnect.exe -product PRODUCT_NAME -version 1.0"); Thread.sleep (5000);
Socket sockAdmin = new Socket(InetAddress.getByName("localhost"), 9300); BufferedReader bufreadAdmin = new BufferedReader (new InputStreamReader (sockAdmin.getInputStream())); BufferedWriter bufwriteAdmin = new BufferedWriter (new OutputStreamWriter (sockAdmin.getOutputStream())); String strAdminLine = ""; // loop while we are still connected to the admin port or until we are connected while (((strAdminLine = bufreadAdmin.readLine()) != null) && !bConnected) { System.out.println (strAdminLine); if (strAdminLine.indexOf (",Connected,") > -1) { System.out.println ("IQConnect is connected to the server."); bConnected = true; } else if (strAdminLine.indexOf (",Not Connected,") > -1) { System.out.println ("IQConnect is Not Connected.\r\nSending connect command."); bufwriteAdmin.write ("S,CONNECT\r\n"); bufwriteAdmin.flush (); } }
// cleanup admin port connection sockAdmin.shutdownOutput(); sockAdmin.shutdownInput(); sockAdmin.close(); bufreadAdmin.close(); bufwriteAdmin.close(); iqFeedStarted = true;
------------------------------------------------------------------------------------------------------
Thanks,
Jason
Thanks Steve. I'll give that a try.....
Jason
Hello, Perhaps I'm doing something wrong, but I just wanted to make sure. I have an automated trading system (written in Java) that connects to IQFeed as follows:
RegisterClientApp("XXXXXXX", "1.0", "0.11111111");
All is well and good and my ATS runs just fine. The problem is that my ATS doesn't shut itself down until 4:30 PM. However, at 4:05, I have another application that starts up and collects tick data for the current day. This application uses the exact same RegisterClientApp () call.
The problem happens when my ATS shuts down. Basically, when my ATS shuts down, my running data collector application gets a connection reset error on the open socket to IQFeed. I'm just wondering what I'm doing wrong? Should I be calling RegisterClientApp with a different 3rd parameter or is this just the way it works and I'm doing things incorrectly and perhaps I shouldn't be trying to have two different processes connecting to IQFeed at the same time (from the same machine)?
Any thoughts out there?
Jason
OK. Thanks.....
I'm new to streaming level II data and I wanted to make sure I'm understanding things correctly. When I watch Level II data on a NASDAQ stock (say RIMM), I see that there are a bunch of market makers offering quotes. So, this morning, I was playing around and I decided to bid for RIMM (below the current best bid) and low and behold, I saw an Update come through on my Level II feed. The update was marked as MMID-NSDQ (which made sense). Then, I added another limit order below my current one and I didn't not see this update. So, what I'm gathering is that IQFeed only sends me the BEST Level II quote for each market maker, not their whole depth? Doesn't that kind-a defeat the purpose?
Is this an IQFeed disadvantage or am I misunderstanding how Level II feeds work?
Thanks,
Jason Sapp
I would be interested in seeing in added.
Jason
Hello, I'm new to IQFeed and am developing in Java. My short term goal with IQFeed is to implement 5 second OHLC bars (with VWAP for each 5 second bar). So, to do this, it looks like I must request tick data and build the bars myself. I was able to do all of this last night with historical data. So, kudos to you guys for making such an easy to use API. I'm very pleased. The question I have is how to build my 5 second bars in real time. So, in a perfect world, this is fairly straightforward. Just sit and watch tick data and build my 5 second bars. But, my question is, when do I know that a bar is finished? In other words, on some more illiquid issues, I may not even receive tick data every 5 seconds. So, how to I know when to disseminate a new 5 second bar? My 2nd question has to do with lag. When (for whatever reason), my data feed is lagging, how do I handle that situation? The reason I ask this second question is because I was contemplating issuing a "T<CR><LF>" command every second and when the time changes to the next 5 second interval, I would spit out my previous 5 second bar. But that's problematic if there is lag in receiving tick data. Any pointers would be greatly appreciated.
Thanks,
Jason Sapp
|
|