Apart from zerodha's api and upstox API are there any other APIs available from any other trader?

#4
Interactive brokers is the best option with api
I am interested to pass data from TWS to AmiBroker and was going through the below articles that has triggered my curiosity tremendously.
1) For realtime
2) For backfilling
3) AB's ADK Guide

I am a total noob when it comes to Socket Programming, DLLs, APIs. My C/C++ knowledge is limited to High School programming basics only. Could you kindly give me some advice or refer some books that will guide to let TWS and AB shake hands with each other.
 

TracerBullet

Well-Known Member
#5
I am interested to pass data from TWS to AmiBroker and was going through the below articles that has triggered my curiosity tremendously.
1) For realtime
2) For backfilling
3) AB's ADK Guide

I am a total noob when it comes to Socket Programming, DLLs, APIs. My C/C++ knowledge is limited to High School programming basics only. Could you kindly give me some advice or refer some books that will guide to let TWS and AB shake hands with each other.
See this.
Also, python might be a lot faster to write things ..
 
#6
See this.
Also, python might be a lot faster to write things ..
Passing on OHLC quotes are pretty straightforward (because of the inbuilt DLL that comes with AB) but how do you get hold of other tons of data points offered by TWS's API such as IV%, etc.?

I am after a guide or step by step "how-to" reference for writing C++ DLLs or EXEs in order to interact with one application's TCP Sockets (or APIs) and pass it on to components of a different application. In this case the Sockets or APIs are of IB's TWS and the other application is AB.

@josh1 and other seniors have written such applications where they have successfully created a server-client interface between Nest and Amibroker for real-time data feed. I was trying to decipher their source code but for me its like reading a novel without knowing the letters. I am interested to learn the core technology behind such fascinating endeavors.

Any guidance would be of much assistance. Thank you!
 
Last edited:

TracerBullet

Well-Known Member
#7
Passing on OHLC quotes are pretty straightforward (because of the inbuilt DLL that comes with AB) but how do you get hold of other tons of data points offered by TWS's API such as IV%, etc.?

I am after a guide or step by step "how-to" reference for writing C++ DLLs or EXEs in order to interact with one application's TCP Sockets (or APIs) and pass it on to components of a different application. In this case the Sockets or APIs are of IB's TWS and the other application is AB.

@josh1 and other seniors have written such applications where they have successfully created a server-client interface between Nest and Amibroker for real-time data feed. I was trying to decipher their source code but for me its like reading a novel without knowing the letters. I am interested to learn the core technology behind such fascinating endeavors.

Any guidance would be of much assistance. Thank you!
Yes, i wrote RTDMan but its built for Nest/NOW only.
IB provides direct api for multiple languages. There are many projects online, you can try searching github and /or look at the reference.
They have an api for python too and it should be much simpler to write for. I have only experimented with the ordering interface of IB on python so cant help on streaming. Since you seem to be new, i would say learn with python - it should be much simpler ...
 
#8
Yes, i wrote RTDMan but its built for Nest/NOW only.
What a pleasant surprise!
@TracerBullet I am a programming enthusiast without any formal degree in Computer science and love playing, trying out stuffs (in Hindi "kir kiri karna" :D). Three years back when I was looking to feed AB, I found RTDMan/NestRtd extremely helpful and your technology fascinates me till date. You might be laughing at my ignorance but it's something that I don't understand and wonder at your creativity. I have tried and Googled extensively to make clear-cut chronological orderly sense of the presented solutions but has failed at every attempt. Without the knowledge of the core technology or approach, it's difficult to discern the methods or functions written in any programming language be it C++ or Python.
 

TracerBullet

Well-Known Member
#9
What a pleasant surprise!
@TracerBullet I am a programming enthusiast without any formal degree in Computer science and love playing, trying out stuffs (in Hindi "kir kiri karna" :D). Three years back when I was looking to feed AB, I found RTDMan/NestRtd extremely helpful and your technology fascinates me till date. You might be laughing at my ignorance but it's something that I don't understand and wonder at your creativity. I have tried and Googled extensively to make clear-cut chronological orderly sense of the presented solutions but has failed at every attempt. Without the knowledge of the core technology or approach, it's difficult to discern the methods or functions written in any programming language be it C++ or Python.
1) Quality of (freely available) courses in Coursera and the like is much better than anything i did for my 'degree'. So pick up programming courses there. Python is very easy to write for and has some very very nice libraries. I am using it without even studying it on its own, just google/stackexchange (but you will need to study some language at least once for basic concepts .. )
2) Skill needs work. Just keep on writing some projects that interests you, esp try to do things that might help in your day-to-day work. Start small. Some day in future (maybe 3-4 years), you will 'get' it. Programming skill, atleast for me, is more about trying to divide problems, solve one thing at a time and then forget/abstract it away and trying to simplify/reuse.
3) RTDMan was based on an excel tool that josh wrote. I just tried to make a faster c++ version for my use, and because i read a c++ book. These days a lot of work can be reduced by googling for things. So for eg, all of the COM stuff (to call AB) in it were written by looking for solutions and then trying to adapt it. I dont even understand COM. You can also do same - divide, search ( and rule ? ) ...
4) Reading other people's code is not easy, you can try to debug it to understand whats happening. And best to write your own tools
 
#10
divide, search ( and rule ? ) ...
Ha...ha... ha... :D

The only programming book that I finished reading was Yashwant Kanetkar's "Let us C" about a decade back. The best that I can do in C/C++ is to read/write files on a local disk. Thank you for suggesting Coursera! Will definitely explore that. Thank you!
RTDMan was based on an excel tool that josh wrote. I just tried to make a faster c++ version for my use, and because i read a c++ book.
Is there a book in C++ that consolidates these concepts like COM, API, TCP Socket programming, etc. learning which one can understand and successfully establish one-way, two-way or multi-threaded communication between different applications within Windows environment. Which C++ book you read before coding RTDMan?

I am learning R now-a-days, because it is pretty easy to use with AB. Have no hands-on Python, added that to the list. This TWS API haunts me every-time I close my eyes.