pilwon / node-ib

Interactive Brokers TWS API client library for Node.js
380 stars 133 forks source link

How to support newer versions of the IB API #143

Closed tredondo closed 5 years ago

tredondo commented 5 years ago

@pilwon, I know you no longer have time to maintain this project, but since you mentioned you'd be willing to accept PRs, ca you give us a few guidelines about how to add support for new order fields, and how to increase the version number of the IB API that the package supports? The goal is to add support for newer fields, e.g. all the Order fields.

I've looked at diffs for commits like this but I wasn't able to increase the supported API version.

Looks like this library's CLIENT_VERSION is 62, while the current one from the TWS Java API is 66. I've tried changing the version to 63, but the placeOrder example freezes (no data is received).

Any idea why that's happening?

Also, what does "41" mean here? some server version? MIN_SERVER_VERSION goes up to 130 though. Why 41?

pilwon commented 5 years ago

Hi @meteorpublish, here is my reply to your question but I am not sure if this is what you're looking for.

When I first ported this library back in 2013, I (mostly) directly ported it from the official Java library (please refer to ref directory). You may find clues to some questions by digging the matching Java code under this reference directory.

There's no easy, automatic way to increase the version number. You need to manually check updates and apply patches. I suggest starting with diffs between ref directory against the latest version of Java client library. Please carefully pay attention to any change in IB socket protocols because you can accidentally break something.