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)




"I started a trial a few weeks back before the market went wild. DTN.IQ didn’t miss anything and beat my other provider. I decided to stay with you because of the great service through all the volatility." - Comment from Mike
"The service is great, I see a noticeable improvement in my volume profiles over [broker]'s data feed" - Comment from Larry
"Awesome response, as usual. It is a sincere and refreshing pleasure to do business with DTN, compared to your competition." - Comment from Ryan
"DTN feed was the only feed that consistently matched Bloomberg feed for BID/ASK data verification work these past years......DTN feed is a must for my supply & demand based trading using Cumulative Delta" - Comment from Public Forum Post
"I like you guys better than *******...much more stable and a whole lot fewer issues." - Comment from Philip
"I was with ******* for 4 years at $230 a month, this is a huge savings for me, GOD BLESS YOU PEOPLE," - Comment from T.S. via Email
"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
"Very impressed with the quality of your feed - ******* is a real donkey in comparison." - Comment from A.C. via Email
"Everything is working great with the API. I love it." - Comment from Calvin
"IQ feed is brilliant. The support is mind-bending. What service!" - Comment from Public Forum Post
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
»Forums Index »Archive (2017 and earlier) »IQFeed Developer Support »API on Linux
Author Topic: API on Linux (11 messages, Page 1 of 1)

TrumpeT
-Interested User-
Posts: 1
Joined: Oct 30, 2019


Posted: Oct 30, 2019 10:59 AM          Msg. 1 of 11
I'm curious what guided the man who designed this API in such a weird, ridiculous and just a bad way.
Why do you deliver it as some strange .exe file?
Don't you realize that Windows is not even the default system for a Software Developer?
When the API for Linux will be released?

DTN_Gary_Stephen
-DTN Guru-
Posts: 394
Joined: Jul 3, 2019


Posted: Oct 31, 2019 09:23 AM          Msg. 2 of 11
Marcin,

IQFeed has always been developed as a Windows program. The app IQConnect.exe is what makes the connection to the API servers. The only thing you have to do is launch it with some parameters to make the connection with the IQFeed servers.

IQFeed does have a number of Linux users, and there is a long-term plan to implement IQFeed for it, though there is currently no ETA. So, in the meantime, you’ll have to use Wine or a comparable solution to run IQConnect.exe in Linux. I can help with this.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist

hyperbaboon
-Interested User-
Posts: 1
Joined: Jan 12, 2020


Posted: Jan 12, 2020 09:12 AM          Msg. 3 of 11
Quote: I'm curious what guided the man who designed this API in such a weird, ridiculous and just a bad way

Hahaha. So true

Quote: Don't you realize that Windows is not even the default system for a Software Developer


Preach!

Are there documentation anywhere for me to write my own client? If you provide me the details, I will write a cross platform client, and share it for free/open-source to everyone.

mathpaquette
-Interested User-
Posts: 22
Joined: May 18, 2018


Posted: Jan 30, 2020 07:19 PM          Msg. 4 of 11
Hyperbaboon,

what do you mean by cross platform client?

Thanks,
Mathieu

karthikkrishnan
-Interested User-
Posts: 22
Joined: Nov 4, 2015


Posted: Apr 9, 2020 06:36 PM          Msg. 5 of 11
Agreed. Not having a proper linux SDK is unbelievable.

DTN_Stephen
-DTN Guru-
Posts: 453
Joined: Aug 22, 2014


Posted: Apr 10, 2020 06:29 AM          Msg. 6 of 11
We appreciate your interest in a Linux based API. It is on our Roadmap. Unfortunately I cannot provide an ETA.

Stephen Shockey
Senior Customer Support Representative and Product Support Specialist

DTN
800-779-7299
stephen.shockey@dtn.com

karthikkrishnan
-Interested User-
Posts: 22
Joined: Nov 4, 2015


Posted: Apr 11, 2020 11:26 AM          Msg. 7 of 11
The other recommendation was to use wine which is super flaky. Has anyone been successful with it on a consistent basis on Linux ? I am running on Ubuntu and it fails to launch randomly. Here's how I do it. I have wine with all the dependencies installed.
#1) /opt/wine-stable/bin/wine "/home/ubuntu/.wine/drive_c/Program Files (x86)/DTN/IQFeed/IQLinkLauncher.exe"
This launches which needs a start button clicked manually.
#2) After this, the IQConnect Login window appears [I have save password enabled and Automatically connect enabled]. If I am lucky, this goes through. Many times, I am stuck at #1) where #2) does not even appear.

I have to keep killing #1) and relaunch until #2) is successful. It is random enough that I can't figure out what is happening. Race condition ? Threading Error ?

This is frustrating because without automating data collection via the API on Ubuntu, I don't know how one could use it [Running it on Windows would be rebuilding the entire stack on windows..too cumbersome]. Most vendors these days offer a simple RESTful interface.

stargrazer
-DTN Guru-
Posts: 302
Joined: Jun 13, 2005

Right Here & Now


Posted: Apr 11, 2020 09:23 PM          Msg. 8 of 11
I find that if I start news or the quote tool, the app initiates the login sequence, and serves to keep the service pinned up.

Typically the first time doesn't work. On the second try it works. Then I can connect my tools. The session seems to be reliable for me at that point.

DTN has been promising an API for many years.

At the very least, it would be nice if they could simulate a WINE session themselves, and maybe see what this issue is and at least resolve it, so that at minimum, WINE does work reliably.

And as a note, this is using x64 version of Wine with the x86 32 bit extensions.

taa_dtn
-DTN Evangelist-
Posts: 154
Joined: May 7, 2004


Posted: Apr 13, 2020 07:30 PM          Msg. 9 of 11
I've been using IQFeed under Wine on Fedora successfully for a very long time. My usage pattern is simple, though -- a "monitor" app starts up before the opening session and stays open until the close, while apps performing specialized functions connect as needed during the day. The monitor app is the only one that tracks and manages the status of the service.

I'd certainly like a native API, and in the past have offered to help out with an implementation, but I understand the need to keep the support load under control.

karthikkrishnan
-Interested User-
Posts: 22
Joined: Nov 4, 2015


Posted: Apr 15, 2020 04:30 PM          Msg. 10 of 11
@stargazer - Thanks for the tips.

@taa - In your setup, is IQfeed launched manually ? I could certainly use more tips from you if you've been successful. I really want to have IQFeed running forever in the background and my client connect whenever needed with minimal intervention. Can multiple clients connect to IQfeed or just one ?

taa_dtn
-DTN Evangelist-
Posts: 154
Joined: May 7, 2004


Posted: Apr 15, 2020 05:50 PM          Msg. 11 of 11
@karthikkrishan: I start my monitoring app when my machine boots. That can be done manually, by a command in rc.local, or by a systemd service. (I haven't done the last, though the configuration process looks pretty reasonable.) The monitor runs until the system shuts down, though it can be killed and restarted manually.

The monitor can be commanded to remain active 24/7, which is useful during development, but normally it sleeps while the market is closed and wakes up shortly before the open. It starts up IQConnect by forking and execing
/usr/bin/wine /home/home-dir/.wine/drive_c/Program Files/DTN/IQFeed/iqconnect.exe -product product-name -version version-number -login iqfeed-username -password iqfeed-password -autoconnect 
Then it opens the streaming port and communicates with the usual protocol.

The monitor has an exponential-fallback procedure to attempt reconnection in case the connection is lost, but I'll skip that for now. It's not clear to me that it's needed to the extent that it used to be.

At the end of the day the monitor automatically forks and execs other apps to collect the day's history and fundamentals. Multiple connections work fine; for example, I usually do history fetch with seven clients running in parallel.

During the day I start my other apps manually for analysis and trading. They just assume IQConnect is running, connect to the appropriate port(s), and go. Obviously you could do something more sophisticated, but I haven't found it necessary, and having a single "master" process to handle error conditions simplified things when I was writing the code years ago.

At the end of the trading day the monitor closes the last connection and after a while iqconnect.exe exits. Just to make sure everything stays sane for the next day, the monitor shoots it down with
killall iqconnect.exe
if it's hanging around unexpectedly.

So that's an overview of how it all works. IQFeed is a stronger, more reliable product than it was when I started this long ago, so you can probably get by with a simpler infrastructure nowadays.
 

 

Time: Fri April 26, 2024 5:57 PM CFBB v1.2.0 10 ms.
© AderSoftware 2002-2003