Join the 80,000 other DTN customers who enjoy the fastest, most reliable data available. There is no better value than DTN!

(Move your cursor to this area to pause scrolling)




"Can I get another account from you? I am tired of ******* going down so often" - Comment from George
"If you want customer service that answers the phone, your best bet is IQFeed. I cannot stop praising them or their technical support. They are always there for you, and they are quick. I have used ****** too but the best value is IQFeed." - Comment from Public Forum
"I have been using IQFeed now for a few years in MultiCharts and I have zero complaints. Very, very rare to have any data hiccups or anything at all go wrong." - Comment from Public Forum
"I'm satisfied with IQFeed. It's the most reliable and fastest quote feed I have ever used. Although I'm a resident in China, it's still very fast!" - Comment from Xiaofei
"I used to have *******, but they are way more money for the same thing. I have had no probs with data from DTN since switching over." - Comment from Public Forum Post
"I just wanted to let u know that your data feed/service is by far the best!!! Your unfiltered tick data is excellent for reading order flow and none of your competitors delivers this quality of data!" - Comment from Peter via Email
"I've never had DTN go out on me since switching. ******* would go down a couple times every month when I was using them." - Comment from Bryce in AL.
"There is no doubt that IQFeed is the best data provider. I am very satisfied with your services. And IQFeed is the only one that I would recommend to my friends. Now, most of them are using your product in China." - Comment from Zhezhe
"I'm very glad I switched to IQFeed. It's working perfectly with no lag, even during fast market conditions." - Comment from Andy via Email
"Just a quick one to say I'm very impressed so far :) The documentation for developers is excellent and I've quickly managed to get an app written to do historical downloads. The system is very robust and pretty quick considering the extent of data that's available. The support guys have been very helpful too, in combination with the forums it's been plain sailing so far!" - Comment from Adam
Home  Search  Register  Login  Recent Posts

Information on DTN's Industries:
DTN Oil & Gas | DTN Trading | DTN Agriculture | DTN Weather
Follow DTNMarkets on Twitter
DTN.IQ/IQFeed on Twitter
DTN News and Analysis on Twitter
Viewing User Profile for: kweiss
About Contact
Joined: Mar 28, 2005 09:52 PM
Last Post: Sep 19, 2005 11:08 AM
Last Visit: Sep 19, 2005 11:23 AM
Website:  
Location:
Occupation:
Interests:
AIM:
ICQ:
MSN IM:
Yahoo IM:
Post Statistics
kweiss has contributed to 8 posts out of 21198 total posts (0.04%) in 6,996 days (0.00 posts per day).

20 Most recent posts:
Data and Content Support » Bid/Ask on options Sep 19, 2005 11:08 AM (Total replies: 5)

Hi Jay -

I have no problem limiting my downloads to after hours. My app works well using end of day data. What is the symbol limit?

Data and Content Support » Bid/Ask on options Sep 19, 2005 10:54 AM (Total replies: 5)

Hi Jay -

Is the watch a "push" or a "pull"? If I set a watch, will I get data any information back if there are no trades -- frequently many options in a chain do not trade in a day? Does a watch only receive data when a trade happens?

I need to get option bid/ask data for a lot of symbols. I don't want to place watchs on a lot of options all at once. Would I set a watch on the first option, wait for the current info (bid/ask) to come back? Then cancel the watch, set the watch for the next option, etc.

Thanks for your VERY quick response.

Data and Content Support » Bid/Ask on options Sep 19, 2005 09:34 AM (Total replies: 5)

I need the bid/ask on option chains. If I use the HT (tick) format, I get the bid/ask of the last trade. This can be hours or even days old (if there are no trades on that day.)

What I really need is a 'snapshot' quote or end of day quote for all options.

Does your api supply this and, if so, how do I get it.

Thanks.

IQFeed Developer Support » "Max" Threads question Sep 16, 2005 04:20 PM (Total replies: 2)

Hi! What is the maximum number of threads that can hit IQConnect at any one time? For that matter, what would be optimal?

You should assume that each TCP/IP connection within my program consumes it own thread. I assume that IQConnect uses some sort of thread pool and a request / response queue, but I may be wrong. In either case I want to balance maximum throughput with long-term reliability.

Thanks....

IQFeed Developer Support » API Stability Problems Apr 25, 2005 10:28 PM (Total replies: 5)

By any chance, do you have an estimated time for the new version of IQFeed to be ready. This phase of my project development is now at a dead standstill. Any time estimates would be very helpful.

Thank you

IQFeed Developer Support » API Stability Problems Apr 22, 2005 02:50 PM (Total replies: 5)

Hi! I've been trying to implement a historical datafeed using your API (the production
release v2.3.0.1, NOT the beta, although I've experienced similar problems with the
beta!) but I've been running into a ton of issues using both ActiveX, TCP/IP and .DLL
interfaces. Most notably:

1) I can't instanciate IQConnect.exe reliably via the RegisterClientApp() function.
I've basically come to the conclusion that there is a significant clash with your code
and .NET. It may be related to running the API in a single AppDomain but other
problems prevented my from confirming this even when I split the IQConnect
instanciation and TCP/IP history feed into two separate AppDomains. I know that
AlexBellrock came up with a manual workaround that jibes with this idea (documented in
the "Unstable connection to IQFeed from .NET" thread) but it isn't a viable solution
for me.

2) Even when I [rarely!!] got a connection up and running, there is an obvious memory
leak that crashes my program when I try to marshal data from the DTNHistoryLookup.dll
object. I'd download a fair sized chunk of data just fine, but when the variables went
out of scope a deallocation / stale handle error would always happen in the ActiveX.
This is easy to see either by hand debugging or via the DevPartner Studio Memory Leak
detector.

3) Even, on the rare instances when I got the code to work for a (short!) while I've
had no luck receiving notification messages (via TCP/IP!) that indicated IQCOnnect
shutdown. Needless to say, this is a critical issue for me because I'm want to use the
data feed in a live situation and I have to have rock solid data-feed reliability.
Having the server go south without any notice is very bad.

In case you're wondering, I've tried the API on 4 different machines (1 WIn2K, the rest
WinXP), all with varying degree's of luck but no overall success. The VB 6.0 code,
however, has always worked great, and I've frequently baselined my installation using
the VB 6.0 code just to make sure I didn't screw up the installation.

I'm at wits end and I could clearly use help! For starters, a working example program
would go a long way. Your existing .NET examples are way too sparse to be any help.
More to the point, neither one implements historical data functions.

As to myself, I am a very experienced multi-language developer with lots of API
projects under my belt. I find it hard to believe that a lot of people are using this
product in mission-critical .NET apps. I would, however, like to change that.

To that end I offer my services to whatever exetent you're ready to utilize them. I'd
be happy to work with your developer(s) to create robust documented working code which
I would be happen to share with others.

Regardless, I need your help to move on.

Thanks.....

IQFeed Developer Support » Not receiving WM_MOUSEMOVE Messages Mar 28, 2005 10:02 PM (Total replies: 4)

Hi! I don't appear to be receiving WM_MOUSEMOVE messages after I call RegisterClientApp (via the "Connect" method) from my C# program. I've included the code below. Hopefully you'll be able to see something I missed. Thanks....

--------------------------------------------------------------------------------------------

using System;
using System.Windows.Forms;
using System.Security.Permissions;
using System.Runtime.InteropServices;

namespace DtnFeed
{
public class IqFeed: NativeWindow
{
public enum Status
{
Unknown,
Connecting,
Connected,
Terminating,
Terminated
}

private int SUCCESS = 0;
private const int WM_MOUSEMOVE = 0x0200;
private const string DLL_NAME = "IQ32.DLL";

~IqFeed()
{
if(this.Handle != IntPtr.Zero)
this.DestroyHandle();
}

[DllImport(DLL_NAME, CallingConvention=CallingConvention.StdCall)]
private extern static int RegisterClientApp(IntPtr handle,
[MarshalAs(UnmanagedType.LPStr)] string productName,
[MarshalAs(UnmanagedType.LPStr)] string productKey,
[MarshalAs(UnmanagedType.LPStr)] string productVersion);

[DllImport(DLL_NAME, CallingConvention=CallingConvention.StdCall)]
private extern static void RemoveClientApp(IntPtr handle);

[DllImport(DLL_NAME, CallingConvention=CallingConvention.StdCall)]
private extern static int SetAutoLogin(
[MarshalAs(UnmanagedType.LPStr)] string userName,
[MarshalAs(UnmanagedType.LPStr)] string password);

public delegate void StatusEventHandler(object sender, Status status);

public event StatusEventHandler OnStatus;

public void Connect(string product, string key, string version,
string userName, string password)
{
CreateParams cp = new CreateParams();

this.CreateHandle(cp);

if(OnStatus != null)
OnStatus(this, Status.Connecting);

SetAutoLogin(userName, password);

if(RegisterClientApp(this.Handle, product, key, version) != SUCCESS)
throw new ApplicationException(); //Improve this
}

public void Terminate()
{
if(this.Handle != IntPtr.Zero)
{
if(OnStatus != null)
OnStatus(this, Status.Terminating);

RemoveClientApp(this.Handle);
}
}

protected override void WndProc(ref Message message)
{
if(message.Msg == WM_MOUSEMOVE)
{
uint x = (uint)message.LParam & 0xFFFF;
uint y = (uint)message.LParam >> 16;

if(OnStatus != null)
{
if((x == 0) && (y == 0))
OnStatus(this, Status.Connected);
else if((x == 0) && (y == 1))
OnStatus(this, Status.Unknown);
else if((x == 1) && (y == 0))
OnStatus(this, Status.Terminated);
else if((x == 1) && (y == 1))
OnStatus(this, Status.Terminating);
else
throw new ApplicationException();
}
}

base.WndProc(ref message);
}
}
}


Time: Wed May 22, 2024 2:12 AM CFBB v1.2.0 9 ms.
© AderSoftware 2002-2003