¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io
Date

Re: question about server support and login best practice

 

I looked bit couldn't find docker for newer version of IB Gateway / TWS and IBC (IBController).

Dmitry has a great blog on this but it's not a quick deploy docker image but is nicely detailed.

On Sat, Feb 20, 2021, 1:37 PM Alex Gorbachev <ag@...> wrote:
I think you should look at IBController -?
Official from IBRK.

Or check a docker image like this -?

I took the latter and adapted for me.
I also managed to hack my way into running IB gateway on Google Colab to experiment.

Alex

On Fri, 19 Feb 2021 at 07:37 Stuart Cracraft via <smcracraft=[email protected]> wrote:
My sens is that the current nature of IB is to provide two tools which either can be run.

One is a headful client cumbersmoe and poor UI called TWI and the other is a thinner client.

But that NEITHER of these can be programmed to?

?a) autostart at system boot (I run my clients on AWS and need absolutely no U/I.
? ? ?It is all done in CLI, with NO DESKTOP, to AUTOMATE it.

?b) NEVER require human interaction for the server to authenticate and login to the
? ? ?IB sservers to make paper and cash trades

?c) avoid a ¡°Sunday required U/I human login¡± - what is that? It went out in the 1970¡¯s¡­

My sense is that IB is backwards on the above, does not provide a mechanism for
serverless auto-login password WITHOUT mouse, keyboard, etc. but potentially
with the account + password sitting in a file, run automatically by a Unix/Linux (I use
Ubuntu) daemon, and doing the automation needful with HANDS-OFF.

Please correct me if my above perception is correct or incorrect and then the next question
is why possibly IB would not correct the above and take the final step to automate it all
the way out. This is supposed to be a platform to automate both paper and cash trading
to fully remove emotion and human activity from most market decisions about what to buy
and sell, when to do so, for improved performance.

The best analogy is , , and other platforms
which do ALL the selection and analysis robotically, the rebanacing robotically, and minimize all
human error, as the markets are too error-prone for humans to be in may confer extra security
in situations requiring robotic, boring, precise analysis and actions taken.

Pardon for the length of this question but I never got what think is a bottom line answer from
this list for the above

Stuart Cracraft

P.S. When replying to this email, please ensure you cc my personal email at smcracraft@...

And thanks for taking your time.



Re: Unable to fetch fundamental data

 

Hi Mark,

Message code 430 clearly means "No fundamental data available". This means there is absolutely nothing wrong with the code.?

However, it is intriguing how GOOGLE's fundamental data can be unavailable. I also received the same error for GOOG. While AMZN and other few stocks return data with same script.?

Thanks,
Pratik


Re: CI-testing anyone?

 

My CI testing follows what Mark outlines.??
My code is in Java.? I wrote a broker interface which limits the IB API pieces I use.? I then use a mock class framework (Mockito) to simulate responses.? This of course doesn't simulate TWS, but at least allows for testing of my code.

But sometimes weird things happen in production and TWS doesn't do what you expect, so an idea I had was to implement a TWS API "recorder" so I can record/replay IB API events to diagnose problems that come up in production.? Then use those event records to generate test cases.


Re: question about server support and login best practice

 

¿ªÔÆÌåÓý

how is your docker image working out for you Alex? GREAT intel by the way. I was wondering about this and the github is EXCELLENT!! thanks so much

On 2/20/21 12:36 PM, Alex Gorbachev wrote:

I think you should look at IBController -?
Official from IBRK.

Or check a docker image like this -?

I took the latter and adapted for me.
I also managed to hack my way into running IB gateway on Google Colab to experiment.

Alex

On Fri, 19 Feb 2021 at 07:37 Stuart Cracraft via <smcracraft=[email protected]> wrote:
My sens is that the current nature of IB is to provide two tools which either can be run.

One is a headful client cumbersmoe and poor UI called TWI and the other is a thinner client.

But that NEITHER of these can be programmed to?

?a) autostart at system boot (I run my clients on AWS and need absolutely no U/I.
? ? ?It is all done in CLI, with NO DESKTOP, to AUTOMATE it.

?b) NEVER require human interaction for the server to authenticate and login to the
? ? ?IB sservers to make paper and cash trades

?c) avoid a ¡°Sunday required U/I human login¡± - what is that? It went out in the 1970¡¯s¡­

My sense is that IB is backwards on the above, does not provide a mechanism for
serverless auto-login password WITHOUT mouse, keyboard, etc. but potentially
with the account + password sitting in a file, run automatically by a Unix/Linux (I use
Ubuntu) daemon, and doing the automation needful with HANDS-OFF.

Please correct me if my above perception is correct or incorrect and then the next question
is why possibly IB would not correct the above and take the final step to automate it all
the way out. This is supposed to be a platform to automate both paper and cash trading
to fully remove emotion and human activity from most market decisions about what to buy
and sell, when to do so, for improved performance.

The best analogy is , , and other platforms
which do ALL the selection and analysis robotically, the rebanacing robotically, and minimize all
human error, as the markets are too error-prone for humans to be in may confer extra security
in situations requiring robotic, boring, precise analysis and actions taken.

Pardon for the length of this question but I never got what think is a bottom line answer from
this list for the above

Stuart Cracraft

P.S. When replying to this email, please ensure you cc my personal email at smcracraft@...

And thanks for taking your time.



For tickByTickBidAsk, does SMART exchange provide THE best rate available?

 

If fetching live market depth level 2 tick by tick data for a stock, does setting SMART for the exchange provide THE cheapest rate available in the market or should one consider querying all the exchanges at the same time and find the cheapest available price because SMART doesn't always provide the cheapest price available?

I have the following assumptions:
- For orders, SMART means either the best rate available (in case of market order) OR the fastest execution available (in case of Limit order) which may not be the cheapest available at that moment. So, IBKR algorithm for SMART may work it's best depending on the order type.

But for tickbytick request, does something like above apply or SMART is simply the cheapest available price available and there are no other options because this is just a data request and not an order. If there are other ways SMART works for providing tick by tick data, please explain.

Thanks,


Re: Getting invalid prices by following the relevant market rules.

 

Sorry for the double post but I wanted to let you know that I finally found the cause of this issue. It was related to the added by me in Configuration > Presets > Stock > WMT record that in some strange way interferes with the buy limit orders done by the API for WMT stock but not for the orders done by hand from the TWS. After removing this preset everything started working as expected. Unfortunately I have no time to figure out which parameter exactly was the issue but in case someone else have the same problem: you have to check also the presets in the configuration. Even though the logs in both sides show no problem with the requested price, the error message is misleading and must include information what exactly is wrong with the requested limit price.


Re: question about server support and login best practice

 

I think you should look at IBController -?
Official from IBRK.

Or check a docker image like this -?

I took the latter and adapted for me.
I also managed to hack my way into running IB gateway on Google Colab to experiment.

Alex

On Fri, 19 Feb 2021 at 07:37 Stuart Cracraft via <smcracraft=[email protected]> wrote:
My sens is that the current nature of IB is to provide two tools which either can be run.

One is a headful client cumbersmoe and poor UI called TWI and the other is a thinner client.

But that NEITHER of these can be programmed to?

?a) autostart at system boot (I run my clients on AWS and need absolutely no U/I.
? ? ?It is all done in CLI, with NO DESKTOP, to AUTOMATE it.

?b) NEVER require human interaction for the server to authenticate and login to the
? ? ?IB sservers to make paper and cash trades

?c) avoid a ¡°Sunday required U/I human login¡± - what is that? It went out in the 1970¡¯s¡­

My sense is that IB is backwards on the above, does not provide a mechanism for
serverless auto-login password WITHOUT mouse, keyboard, etc. but potentially
with the account + password sitting in a file, run automatically by a Unix/Linux (I use
Ubuntu) daemon, and doing the automation needful with HANDS-OFF.

Please correct me if my above perception is correct or incorrect and then the next question
is why possibly IB would not correct the above and take the final step to automate it all
the way out. This is supposed to be a platform to automate both paper and cash trading
to fully remove emotion and human activity from most market decisions about what to buy
and sell, when to do so, for improved performance.

The best analogy is , , and other platforms
which do ALL the selection and analysis robotically, the rebanacing robotically, and minimize all
human error, as the markets are too error-prone for humans to be in may confer extra security
in situations requiring robotic, boring, precise analysis and actions taken.

Pardon for the length of this question but I never got what think is a bottom line answer from
this list for the above

Stuart Cracraft

P.S. When replying to this email, please ensure you cc my personal email at smcracraft@...

And thanks for taking your time.



Re: Unable to fetch fundamental data

 

Here is the error...

? ? ?0? 1 2? ? ? ? ? 3 4 5? ? 6? ? ? ? ? ? ? ? ? ? ?7
0? 555? 0? ? 208813720? ? ? 0.0? [ISIN=US02079K1079;]
208813720
were at the loop for saving data
press enter to continueError:? -1? ?2106? ?HMDS data farm connection is OK:fundfarm
Error: Error:? -1? ?2106? ? HMDS data farm connection is OK:fundfarm-1
?Error:? ?-1? 2106? ? 2106? HMDS data farm connection is OK:fundfarm
? HMDS data farm connection is OK:fundfarm
Error:? 999? ?430? ?The fundamentals data for the security specified is not available.failed to fetch


Unable to fetch fundamental data

 

Does anyone know why I'm getting an error unable to fetch fundamental data. This is the contract ID for google stock.

def getnasdaqOPThistdata():
for index, row in DFcontractdata.iterrows():
contract = Contract()
contract.secType = 'STK'
contract.exchange = "SMART"
# contract.conId = row[3]
contract.conId = 208813720
print(contract.conId)
# We are separating out the historical data requests by class to make it easier to identify the type of data coming back from IB.
# app1.reqHistoricalData(row[3], contract, "", "1 D", "1 min", "BID", 1, 1, False, [])
# app2.reqHistoricalData(row[3], contract, "", "1 D", "1 min", "ASK", 1, 1, False, [])
# app3.reqHistoricalData(row[3], contract, "", "1 D", "1 min", "BID_ASK", 1, 1, False, [])
# app4.reqHistoricalData(row[3], contract, "", "1 D", "1 min", "TRADES", 1, 1, False, [])
app1.reqFundamentalData(999,contract,reportType='ReportSnapshot',fundamentalDataOptions='')




Re: CI-testing anyone?

 

Isolate the two parts, exchange connectivity is one part, and actually has a quite finite list of tests. The data processing and historical replication is a different problem that can be solved independent of the tws implementation.

Best wishes,


M


On Fri, 19 Feb 2021, 22:00 Nick, <news1000@...> wrote:
I hate to say it but to do a robust job I think you would have to have a
whole separate project that simulates TWS and the exchanges. You then
connect to that for (most of) your testing.

Anything your framework does that depends on market actions (order
fills, account updates, recovery from outages, etc.) won't have a way to
be repeatable in a paper account.

Of course you'd also want to test against a paper account to verify that
basic request and response processing is working.

This could turn out to be one of the situations where the testing
framework is a much bigger project than the original project.

On 2/19/2021 4:33 PM, Matthias Frener wrote:
>
> Currently we look for a solution to run automated CI-testing.
>
> The setup is no issue, but against what do should we test?
>







Re: question about server support and login best practice

Stuart Cracraft
 

¿ªÔÆÌåÓý

Yes, fwogy.com is what I have on AWS already.?

It¡¯s just so clumsy to have to login to an app manually.?

Awful restriction from interactive brokers.?

Grotesque.?

On Feb 19, 2021, at 5:46 AM, ds-avatar <dimsal.public@...> wrote:

?Many IBKR API complications feel a bit frustrating and long in the tooth indeed. I see little reason to speculate why it's so and when it's about to change, even though I sure wish it did. If you need free solutions, I believe other participants could offer advice regarding third-party automation tools. If you are ready to pay, you can just set up a virtual desktop in AWS and run TWS or IBG permanently or through weekdays, and even accept outside client connections into it. That will still require logging in once a week, and not much else beyond that. I believe depending on your requirements this would cost about $1000-2000 per year with a modestly equipped AWS instance.


Re: CI-testing anyone?

Nick
 

I hate to say it but to do a robust job I think you would have to have a whole separate project that simulates TWS and the exchanges. You then connect to that for (most of) your testing.

Anything your framework does that depends on market actions (order fills, account updates, recovery from outages, etc.) won't have a way to be repeatable in a paper account.

Of course you'd also want to test against a paper account to verify that basic request and response processing is working.

This could turn out to be one of the situations where the testing framework is a much bigger project than the original project.

On 2/19/2021 4:33 PM, Matthias Frener wrote:

Currently we look for a solution to run automated CI-testing.

The setup is no issue, but against what do should we test?


CI-testing anyone?

Matthias Frener
 

Hi all.

We are a group of developers working on an TWS API client in Typescript for node.js
(if you do node.js Apps, might be worth having a look??;)).

Currently we look for a solution to run automated CI-testing.

The setup is no issue, but against what do should we test?

Do you use your personal paper trading account on the CI? Maybe there is a way to get a second, no-expiring paper account? Or have a "dev" account type, that cannot trade live at all but insterad create 100 paper trade account for CI-servers?

How are you doing this?

Thanks for any hints!

?

?


Re: Getting invalid prices by following the relevant market rules.

 


Hello Graham, Did you find any workaround or the cause of this error? I get the same error for a particular stock (WMT) when trying to buy with a limit order on a live account even with round amount (138.00). When requesting ContractDetails I verify that the minTick is 0.01 so, that is not the problem. The same transaction goes well on the paper account but it is not accepted on the live account. Using TWS Build 981.2r, Feb 10 2021. Trying hard to find someone with a solution but no success so far. Just one guy reported that sending a request with transmit = False, waiting some time and send the same with transmit = True solved the problem.

Very?frustrating that I missed a trade yesterday due to this unpredictable transaction rejection.


Re: question about server support and login best practice

 

Many IBKR API complications feel a bit frustrating and long in the tooth indeed. I see little reason to speculate why it's so and when it's about to change, even though I sure wish it did. If you need free solutions, I believe other participants could offer advice regarding third-party automation tools. If you are ready to pay, you can just set up a virtual desktop in AWS and run TWS or IBG permanently or through weekdays, and even accept outside client connections into it. That will still require logging in once a week, and not much else beyond that. I believe depending on your requirements this would cost about $1000-2000 per year with a modestly equipped AWS instance.


Re: How to pull all strikes for a given expiration?

Nick
 

Yes, you are limited by the throttling. One thread can easily reach the maximum throughput for retrieving historical data.

On 2/19/2021 12:22 AM, Crow wrote:
It appears that if I pull the data via 1 thread, it's just as fast as if I pull the data through 4 threads...in other words, threading will not speed up the data pull, likely because it's throttled. Has anyone else noticed this?


Options and future options priced in cents/pence instead of USD/GBP

 

I am trying to collect a list of exchanges that trade options or future options priced in cents/pence instead of dollars/pounds.

I have found issues when placing orders for options and future options meeting this criteria and had to implement fixes.

A short list of options and future options meeting this criteria is: options trading at the LSE/ICEEU (examples: Z, GSK, GLEN) and future options trading at the ECBOT (examples: ZC, ZW)

For these options and future options, the strike price format must not conflict with the strike price information available in other Contract fields like the local symbol or else the order is rejected with the following (undocumented) error:

478 | Parameters in request conflicts with contract parameters received by contract id: requested strike 1300.0, in contract 13.0;


By collecting a list of exchanges where these options and future options are trading, I will be able to program around most of these special cases.

I am aware that the price magnifier information available in ContractDetails should help knowing if an option or option contract meets the criteria but I would prefer not to request contract details information to avoid delays when placing orders.

Looking for input from users who are aware of these types of options and future options.

Thank you.

--


Excel RTD "DelayedLast"

 

For those of you using "DelayedLast" tick for Excel RTD API because of missing market data subscription this might be useful...

I have recently found that "PlPrice" tick provides the live last price even if you do not have market data subscription for such instrument.


Marcos


question about server support and login best practice

Stuart Cracraft
 

¿ªÔÆÌåÓý

My sens is that the current nature of IB is to provide two tools which either can be run.

One is a headful client cumbersmoe and poor UI called TWI and the other is a thinner client.

But that NEITHER of these can be programmed to?

?a) autostart at system boot (I run my clients on AWS and need absolutely no U/I.
? ? ?It is all done in CLI, with NO DESKTOP, to AUTOMATE it.

?b) NEVER require human interaction for the server to authenticate and login to the
? ? ?IB sservers to make paper and cash trades

?c) avoid a ¡°Sunday required U/I human login¡± - what is that? It went out in the 1970¡¯s¡­

My sense is that IB is backwards on the above, does not provide a mechanism for
serverless auto-login password WITHOUT mouse, keyboard, etc. but potentially
with the account + password sitting in a file, run automatically by a Unix/Linux (I use
Ubuntu) daemon, and doing the automation needful with HANDS-OFF.

Please correct me if my above perception is correct or incorrect and then the next question
is why possibly IB would not correct the above and take the final step to automate it all
the way out. This is supposed to be a platform to automate both paper and cash trading
to fully remove emotion and human activity from most market decisions about what to buy
and sell, when to do so, for improved performance.

The best analogy is , , and other platforms
which do ALL the selection and analysis robotically, the rebanacing robotically, and minimize all
human error, as the markets are too error-prone for humans to be in may confer extra security
in situations requiring robotic, boring, precise analysis and actions taken.

Pardon for the length of this question but I never got what think is a bottom line answer from
this list for the above

Stuart Cracraft

P.S. When replying to this email, please ensure you cc my personal email at smcracraft@...

And thanks for taking your time.



Last position opening time and last buy/sell recorded (Python)

 

May I ask which functions I should refer so I?can learn how to 1. get the last position opening time and 2. the last buy/sell action recorded??