开云体育

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

Re: Option stoploss order depending on underlying price

 

开云体育

I believe if you do a bracket order then all is based on pricing of the contract that you buy, ie. the option, and that you can't have some order components based on the price of the contract and others based on the price of the underlying contract.

However I don't see the rationale for placing a stoploss based on the price of the underlying: for the same underlying price, the option price will highly fluctuate based on DTE and IV. Seems more logical to base it on option price itself which directly sets your loss.
On Jan 18, 2023 at 4:33 AM -0800, souvik.trader via groups.io <souvik.trader@...>, wrote:

Hi,
I am developing an option buying strategy and right now, I am monitoring the underlying to get a signal for long(Call buy) or short(Put buy)
Upon signal, the strategy picks the ATM strike and place a MKT order with adjusted trailing stop order. Present code is pasted below.
With this, more or less I am keeping a fixed stoploss whereas profit is indefinite.

Now, I will require to change the logic such that,
The stoploss will be dependent on a particular price of underlying and not price of option. Say for example:

At 9:30 AM
Underlying price: 42300
ATM Call strike 42300 price : 340
I need to place a market order for 42300 Call strike and at the same time place a stop loss order if underlying touches 42100
The complexity here is that the stoploss is monitored for underlying contract whereas the stoploss order itself is for Option contract.

Are there any such combo order possible ? If not, then I will have to place the stoploss order separately by monitoring the underlying price
Requesting experts advice.

Cheers,
Souvik

# Adjustable bracket order. STP order adjusted to TRAIL
? ? def adjusted_trailing_stop_order(self, instr:Instrument, direction: Direction,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? quantity, stopLossPrice,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? trailTriggerPrice, trailStopPrice, trailAmt):
? ? ? ? parent = Order()
? ? ? ? parent.orderId = IDGen.next_id()
? ? ? ? parent.action = "BUY" if direction is Direction.LONG else "SELL"
? ? ? ? parent.orderType = "MKT" # Let say market price is. 340
? ? ? ? parent.totalQuantity = quantity
? ? ? ? parent.eTradeOnly = ''
? ? ? ? parent.firmQuoteOnly = ''
? ? ? ? parent.transmit = False

? ? ? ? #Attached order is a conventional STP order
? ? ? ? stopLoss = Order()
? ? ? ? stopLoss.orderId = IDGen.next_id()
? ? ? ? stopLoss.action = "SELL" if direction is Direction.LONG else "BUY"
? ? ? ? stopLoss.orderType = "STP"
? ? ? ? stopLoss.auxPrice = stopLossPrice ?# e.g. 320
? ? ? ? print("=========>STP stopLossPrice:{}".format(stopLossPrice))
? ? ? ? stopLoss.totalQuantity = quantity
? ? ? ?
? ? ? ? #Additional Fields for adjusted order
? ? ? ?
? ? ? ? #When trigger price is penetrated
? ? ? ? stopLoss.triggerPrice = trailTriggerPrice ?# e.g. 365
? ? ? ? #The STP order will be turned into a TRAIL order
? ? ? ? stopLoss.adjustedOrderType = "TRAIL"
? ? ? ? #With a stop price of...
? ? ? ? stopLoss.adjustedStopPrice = trailStopPrice # e.g. 360
? ? ? ? #trailing by and amount (0) or a percent (1)...
? ? ? ? stopLoss.adjustableTrailingUnit = 0
? ? ? ? #of...
? ? ? ? stopLoss.adjustedTrailingAmount = trailAmt # e.g. 5
? ? ? ?
? ? ? ? stopLoss.parentId = parent.orderId
? ? ? ? stopLoss.eTradeOnly = ''
? ? ? ? stopLoss.firmQuoteOnly = ''
? ? ? ? stopLoss.transmit = True

? ? ? ? bracketOrder = [parent, stopLoss]

? ? ? ? contract = Contract()
? ? ? ? contract.localSymbol = instr.symbol ?#local symbol signifies all right, strike and expiry
? ? ? ? contract.secType = switcher_ib_instr_type.get(instr.type)
? ? ? ? contract.currency = switcher_ib_currency.get(instr.currency)
? ? ? ? contract.exchange = switcher_ib_exchange.get(instr.exchange)

? ? ? ? print("=========>ParentOrderId:{}, action:{}, quantity:{}, stopLossPrice:{}".format(
? ? ? ? ? ? parent.orderId, direction, quantity, stopLossPrice))

? ? ? ? for o in bracketOrder:
? ? ? ? ? ? self.ibkr_app.placeOrder(o.orderId, contract, o)


Option stoploss order depending on underlying price

 

Hi,
I am developing an option buying strategy and right now, I am monitoring the underlying to get a signal for long(Call buy) or short(Put buy)
Upon signal, the strategy picks the ATM strike and place a MKT order with adjusted trailing stop order. Present code is pasted below.
With this, more or less I am keeping a fixed stoploss whereas profit is indefinite.

Now, I will require to change the logic such that,
The stoploss will be dependent on a particular price of underlying and not price of option. Say for example:

At 9:30 AM
Underlying price: 42300
ATM Call strike 42300 price : 340
I need to place a market order for 42300 Call strike and at the same time place a stop loss order if underlying touches 42100
The complexity here is that the stoploss is monitored for underlying contract whereas the stoploss order itself is for Option contract.

Are there any such combo order possible ? If not, then I will have to place the stoploss order separately by monitoring the underlying price
Requesting experts advice.

Cheers,
Souvik

# Adjustable bracket order. STP order adjusted to TRAIL
? ? def adjusted_trailing_stop_order(self, instr:Instrument, direction: Direction,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? quantity, stopLossPrice,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? trailTriggerPrice, trailStopPrice, trailAmt):
? ? ? ? parent = Order()
? ? ? ? parent.orderId = IDGen.next_id()
? ? ? ? parent.action = "BUY" if direction is Direction.LONG else "SELL"
? ? ? ? parent.orderType = "MKT" # Let say market price is. 340
? ? ? ? parent.totalQuantity = quantity
? ? ? ? parent.eTradeOnly = ''
? ? ? ? parent.firmQuoteOnly = ''
? ? ? ? parent.transmit = False

? ? ? ? #Attached order is a conventional STP order
? ? ? ? stopLoss = Order()
? ? ? ? stopLoss.orderId = IDGen.next_id()
? ? ? ? stopLoss.action = "SELL" if direction is Direction.LONG else "BUY"
? ? ? ? stopLoss.orderType = "STP"
? ? ? ? stopLoss.auxPrice = stopLossPrice ?# e.g. 320
? ? ? ? print("=========>STP stopLossPrice:{}".format(stopLossPrice))
? ? ? ? stopLoss.totalQuantity = quantity
? ? ? ?
? ? ? ? #Additional Fields for adjusted order
? ? ? ?
? ? ? ? #When trigger price is penetrated
? ? ? ? stopLoss.triggerPrice = trailTriggerPrice ?# e.g. 365
? ? ? ? #The STP order will be turned into a TRAIL order
? ? ? ? stopLoss.adjustedOrderType = "TRAIL"
? ? ? ? #With a stop price of...
? ? ? ? stopLoss.adjustedStopPrice = trailStopPrice # e.g. 360
? ? ? ? #trailing by and amount (0) or a percent (1)...
? ? ? ? stopLoss.adjustableTrailingUnit = 0
? ? ? ? #of...
? ? ? ? stopLoss.adjustedTrailingAmount = trailAmt # e.g. 5
? ? ? ?
? ? ? ? stopLoss.parentId = parent.orderId
? ? ? ? stopLoss.eTradeOnly = ''
? ? ? ? stopLoss.firmQuoteOnly = ''
? ? ? ? stopLoss.transmit = True

? ? ? ? bracketOrder = [parent, stopLoss]

? ? ? ? contract = Contract()
? ? ? ? contract.localSymbol = instr.symbol ?#local symbol signifies all right, strike and expiry
? ? ? ? contract.secType = switcher_ib_instr_type.get(instr.type)
? ? ? ? contract.currency = switcher_ib_currency.get(instr.currency)
? ? ? ? contract.exchange = switcher_ib_exchange.get(instr.exchange)

? ? ? ? print("=========>ParentOrderId:{}, action:{}, quantity:{}, stopLossPrice:{}".format(
? ? ? ? ? ? parent.orderId, direction, quantity, stopLossPrice))

? ? ? ? for o in bracketOrder:
? ? ? ? ? ? self.ibkr_app.placeOrder(o.orderId, contract, o)


Discord Server

 

Hi. Just a thought that came to mind. With sooo many people using IB TWS API and ib_insync, I thought it would be a good idea to start a new discord server.

Is there any existing one that I can join? If there isnt one, I guess I can open one if there are enough people interested.

Let me know.

Thanks.


Re: Unable to parse date with Standard code from TWSapi.jar

 

Joachim, You mention in your message the request you submit:
reqHistoricalData("630345", "1328293", "20221215 17:39:47 UTC", "1 M", 1 day", "TRADES", 1,1, false, null")
I think that some double quotes are incorrectly placed? Shouldn't it be:
reqHistoricalData("630345", "1328293", "20221215 17:39:47 UTC", "1 M", "1 day", "TRADES", 1,1, false, null)
Having said that, I'm not sure that this would result in the date related error you have posted.


Unable to parse date with Standard code from TWSapi.jar

 

Hi?

I am using the standard demo code from Interactive brokers using the IB Gateway. But all of a sudden it cannot parse the dates returned for a European asset. The data seem to be returned in as "20221215 17:39:47 MET"
I am using TWSapi.jar for 1020 version
The ib gateway is 1020.1f

To me it looks like incorrect data is returned to the IB gateway or the processMsgs is not handling only getting the date back without time
20221116 09:58:58 MET-20221216 09:58:58 MET-22-
20221117-2077.6500-2094.7700-2054.3600-2067.0800-0-0-17588

Processing msg
Exception: Text '20221117' could not be parsed at index 8
Wait for signal

The request is a standard call for OMXS30 in sweden.?
reqHistoricalData("630345", "1328293", "20221215 17:39:47 UTC", "1 M", 1 day", "TRADES", 1,1, false, null")
There is no change to the event loop from the demo
Thread {
while (client.isConnected) {
logger.info("Wait for signal")
signal.waitForSignal()
try {
logger.info("Processing msg")
reader.processMsgs()
}
catch (e: Exception) {
logger.info("Exception: " + e.message)
}
}
}.start()

LOG:
Processing msg
Exception: Text '20221117' could not be parsed at index 8
Wait for signal


The data is returned in the client log for the IB gateway

07:58:57:664 -> --K17-717455-20221116 09:58:58 MET-20221216 09:58:58 MET-22-20221117-2077.6500-2094.7700-2054.3600-2067.0800-0-0-17588-20221118-2074.0300-2095.0400-2069.8500-2087.3700-0-0-16860-20221121-2082.2000-2093.1000-2072.3900-2082.5750-0-0-15983-20221122-2082.0300-2103.3500-2072.2100-2096.5650-0-0-16436-20221123-2103.3200-2112.3400-2098.5400-2109.8350-0-0-15834-20221124-2109.9900-2118.5200-2100.5200-2106.7550-0-0-15066-20221125-2109.9000-2117.6700-2103.5300-2116.7400-0-0-15320-20221128-2106.9000-2110.8200-2092.4900-2096.3750-0-0-16271-20221129-2103.0100-2108.1100-2089.8600-2092.2450-0-0-15298-20221130-2105.7800-2120.3500-2097.2200-2102.4250-0-0-17025-20221201-2125.5300-2137.8600-2115.3000-2125.0950-0-0-18106-20221202-2123.0200-2136.8400-2110.1800-2129.4650-0-0-17312-20221205-2128.0700-2145.0000-2123.8900-2139.6900-0-0-17279-20221206-2134.6100-2145.2100-2105.7000-2111.2850-0-0-17728-20221207-2107.5300-2109.7700-2082.8100-2088.4250-0-0-17649-20221208-2093.3100-2099.7700-2085.6800-2091.8800-0-0-16203-20221209-2102.7100-2120.7600-2099.3500-2116.4450-0-0-16073-20221212-2104.8400-2111.4000-2095.2200-2108.9250-0-0-14576-20221213-2115.3400-2162.3000-2106.8000-2140.6950-0-0-18050-20221214-2136.5000-2149.8100-2111.4700-2139.0300-0-0-18084-20221215-2116.0400-2119.1000-2079.5200-2079.5200-0-0-19033-20221216-2076.7800-2084.4400-2043.7400-2046.0950-0-0-18770-


Re: streaming bandwidth

 

Give it a quick try with the 100 simultaneous instruments you can stream without boosters, Chris. I have the feeling you will be fine since we have members that stream 1,000 instruments and more.

Cable modems often have high latencies compared with other connections, but the 200mbps cable modem should work just fine. Except if your cable company plays games, does "traffic shaping", and interferes with the steady stream of data you receive from IBKR. Look out for situations where they may combine several small data packets so that you see a "bunching up" of tick arrival versus a steady stream.

The other responses pointed that out already, but you need to keep in mind that IBKR is a brokerage and not a commercial data provider. If you have not done so yet, you may want to read the ? section of the TWS API Guide to get a feel for the limitations and the kind of data you can expect. Data you request via is generally aggregated at sub-second intervals and real-time feeds are limited to less than 300 (even with quote boosters)

Let me give you a few hard numbers. We use a very small virtual cloud server that does not break a sweat and receives data in a timely (sub second) fashion under the following load:
  • Subscription to all available for 80 instruments. Each data object is very small such as a single integer or decimal value
  • Subscription to all available data (Last, BidAsk, MidPoint) for five very actively traded instruments (Futures). Each data object is relatively large with five to seven numeric and up to two string values
  • Subscription to three feeds (Futures). Each data object is relatively large with six numeric and one string value.
  • The average data rate for every 23hr day in 2022 was 566 objects per second (min 96, max 1148)
  • The average peak second for each day in 2022 had 10,906 objects (min 333 , max 26,955)
66% our traffic is generated by the five TickByTick and three Market Depth streams and only 34% comes from Level 1 data for the 80 instruments. If the IBKR data is "good enough: for you, 300 streams should be no problem.

闯ü谤驳别苍

PS. Here the stats? for last week. We had 267Mio ticks


Tick Type Request Type Tick Count % Tick Count #Subscriptions
MarketDepth reqMarketDepth 70,482,829 26% 3
TickByTickMidPoint reqTickByTick 50,542,262 19% 5
TickByTickBidAsk reqTickByTick 50,542,260 19% 5
BidSize reqMktData 18,877,690 7% 80
AskSize reqMktData 18,764,896 7% 80
AskPrice reqMktData 6,408,614 2% 80
BidPrice reqMktData 6,402,412 2% 80
TickByTickLast TickByTick 5,492,344 2% 5
RtVolume reqMktData 4,958,289 2% 80
MarkPrice reqMktData 4,482,862 2% 80
LastSize reqMktData 4,464,967 2% 80
RtTradeVolume reqMktData 3,823,749 1% 80
Volume reqMktData 3,258,937 1% 80
LastTimestamp reqMktData 3,046,657 1% 80
RtDataBar reqMktData 2,618,689 1% 80
LastPrice reqMktData 2,531,629 1% 80
41 more tick types reqMktData 10,623,711 4% 80
? ? ? ? ?
Grand Total ? 267,322,797 100% 80


Re: streaming bandwidth

 

General
To give you a more elaborated answer require to know what is your time frame for trading. Also are you expecting to trade outside RTH ?
300 is a hybrid value, just between "too many" (generally you may have some filtering giving good reason to only focus on 50)
and "not enough" (extensive scrutation require to listen to at least 1000 to 2000 symbols).

#1
The bandwidth is not the main issue, data are small and very well packed by IB.
It’s more a question of number of transactions and time-trough (~ping time)
Don't expect to get from IB what you can get subscribing directly to NASDAQ like NLS (IB? give you a lot more bang for you bucks but they nearly offer it for free. IB also cover many more market place)

#2
Minutes level, no problem.
Sub-second level, IB is not the best solution.
1 sec to 5 sec time frame then you are close to limits of IB.

#3
Assuming "100 Streaming block" is what IB does offer by increment to increase listening capabilities:
From my experience and understanding using it, it does not mean that it increases significantly your "bandwidth allocation" with them, but that will just avoid pacing violation.
Anyway it seems that there is some hard limits (see docs), whatever you buy as data feed limitation from them. (at least using their on the shelf offers)

The 300 range is already in the high range class from "ticks" standpoint, (bar standpoint too but surely less critical), and you most probably be progressively paced down without being warned about it (because it is not an official pacing violation)
Maybe 300 can be achieved using IB with cares, tick only, as a listener, without calling anything historical.
Split your requests on a few different? account and different machine and aggregate.
I am also under the "feeling" that your code must show a capability to answer quickly (< 10 ms, preferably <100 micro), like if their gateway does a kind of bandwidth allocation based on how long you will take to process it. The longer you take the more they will pace you down.? Even if they answer async, it behave like if they look at how many messages are in standby to your app. (just a feeling never had time to benchmark that and they don't seems ready to give many explanations about how they do)

#4
Be careful if you need to deal with true L1 level data from various origin, You may find significant differences between the data feed suppliers (around 0.5% difference which can be dangerous)
And unfortunately (or fortunately) the most accurate values are those from IB, which also are directly related to values you can use to set orders. (especially as you most probably require Bid/Ask which is a rare offer)
Cheap data vendors don't care very much about accuracy, looks like their offer is more focused on day trade or slower, sometime their minute bar can even be late by 10 seconds, even if they officially time stamp their data with sub micro-second stamp.

To shorten the answer (already too long)
1- Experiment how much you can get out of IB based on your algos and needs
2- If your experiment show that you didn't get enough juice. Call IB and see.
3- Consider also buying data directly from GFIS or Thomson/Reuters.
4- If limited budget, focus on a single good alternate vendors for a preselection for your algo. Generally alternate cheap vendors can be wrong but seems consistently wrong.
Good alternate are polygon (probably the best price/perf ratio, also good is IEX but narrow market places),
Then use IB to fetch data but on the smallest subset needed to do final build of orders.
If speed is of the essence and want to only use IB, try to keep set of symbols you deal with below 50, you will get more consistent timing of answers.



Re: streaming bandwidth

 

开云体育

Thanks Mike. So I am assuming that I will be selecting the 300 top volume US stocks (spread across sectors); I plan purchase blocks of 100 streaming level 1 capability based on my understanding of how streaming works using the IB service. As a comparison, I am able to get 300 stocks from an alternative provider and works well (I assume) but I am aware of delays (ms to seconds) during high volume events depending on whether it is : (open/close, news events, calender events like CPI or fed events). The delay I see is dependent on the relative importance of event (I assume). A different class of delays I see are various forms of issues whether it is hardware failure or internet failure.With my experience I am able to deduce these various forms of issues relatively quickly (a few seconds). I just wanted to try it on TWS (using IB servers) to get a comparison point. I am asking the group's knowledge if anyone is willing to share. The data pipeline from the provider is the general internet to a cable modem setup with 200mbps capability. Thanks.

The type of service I? am discussing is basically like NASDAQ NLS if you know what that entails. Like basic level I.

Best,
? Chris



---- On Sun, 15 Jan 2023 11:43:03 -0500 FreeGoldRush <mike@...> wrote ---

If your question is specific to IB:? This isn't going to work well.? Use an inexpensive data provider like polygon.io. The bandwidth required to consume 300 symbols will vary greatly depending on what stocks those are.? NBBO updates are sent whenever there is a change and will consume most of the bandwidth.? Trade data is less.? Assume it'll be something less than 20 mbps total.






Re: streaming bandwidth

 

If your question is specific to IB:? This isn't going to work well.? Use an inexpensive data provider like polygon.io. The bandwidth required to consume 300 symbols will vary greatly depending on what stocks those are.? NBBO updates are sent whenever there is a change and will consume most of the bandwidth.? Trade data is less.? Assume it'll be something less than 20 mbps total.


Re: Cloud server configuration suggestion and Paper/Live trading related

 

闯ü谤驳别苍,
Much appreciated for allowing to post and the detailed response.
As you rightly pointed, these are newbie queries for someone trying to host a live algo and continue to develop using IB paper account.

All my queries answered to the point. Only that I need to work on finding a right co located VM in Hong Kong from the cloud providers.
Thanks and next posts from me would be more relevant to the group and TWS API related

Cheers,
Souvik


Re: Cloud server configuration suggestion and Paper/Live trading related

 

Welcome, Souvik.

Your first post is a little outside of our scope (the TWS API itself) but I have approved it since your questions are likely relevant for many newcomers. Having said that, I would like to keep the discussion of cloud environment selection and configuration details to general remarks and avoid long discussions about what offering or configuration is better than all the others.

You’d first select the operating system you are most comfortable with and the cloud service provider that supports that operating system best. Our members run their clients and TWS/IBGW on Windows, Linux, and MacOS both locally, in dedicated remote servers, and in virtual servers from pretty much every cloud vendor.

TWS/IBGW will require a graphic environment that is supported by JavaFX and every operating system has tools to give you remote desktop access (such as VNC and x2go for Linux and Remote Desktop Services for Windows). I encourage you to search for tutorials online based upon the operating system you select. You can also search the archives of our group and the IBC group since both had discussions about TWS/IBGW remoting.

There are several IBKR sites with relevant information about connectivity. You can find:
  • The at
  • A list of many IBKR entry points at
  • An a connectivity test page at

Your TWS/IBGW will have selected the closest entry point into the IBKR network for you. That is probably the Asia gateway at hdc1.ibllc.com, but you might want to check that in TWS/IBGW. You should be able to find a cloud service provider that is located close to your entry point TWS/IBGW uses. The IBKR entry points do support ping so that you can measure the "round trip flight time" when you make your final provider selection.

And finally, you can run a TWS/IBGW logged into a live account and one logged into a paper account at the same time on the same server. In fact if you do that, the paper account can share the real account’s market data subscription free of charge. TWS API uses different default port numbers for connections to paper and live accounts so that your strategy would (carefully) use the appropriate port.

Hope this gets you started

闯ü谤驳别苍


Cloud server configuration suggestion and Paper/Live trading related

 

Friends,
First of all I am feeling grateful to find this group and being part of it recently.
I have developed a very simple EMA strategy for Option trading and need to run it live very soon. Experts here please help me with following queries -

1. Want to deploy the strategy in a cloud environment. Can someone guide with basic configuration of cloud server/VM that might suffice. As I mentioned, strategy is neither CPU nor memory hungry
2. While choosing the data center location, I want to choose as close to IB DC. I am in India and I shall be trading in Indian (NSE) exchange. Any idea where is the DC of IB for India ? Can I trace it somewhere ?
3. Since the IB Gateway is a GUI based SW, how can I make it running without having a GUI console. Must be something readily available. Please help with the link
4. While the strategy runs Live on cloud, I would require to develop further with my paper trading account. Does it work for Paper and Live trading account in parallel ? Are there any data streaming restrictions ??

Apologies for asking so many queries together

Cheers,
Souvik


streaming bandwidth

 

开云体育

Hi,

I am planning a North American Equity streamer app that will take in around 300 stock symbols. Does anyone have experience knowing whether reading that number of simulataneous symbols real-time during standard market hours? I am curious to know whether the bandwidth of the serving system can cope with that amount of data especially during high volume impulse events throughout the day. Any advice is appreciated; thanks.

Best,
? Chris



Re: Simulated trades outside of regular trading hours

 

开云体育

You must also set order.outsideRTH = True. ?Not sure if this works for simulated but definitely works for real orders.

On Jan 14, 2023, at 6:16 AM, GreenGreen via groups.io <alexsviridov@...> wrote:

?I would like to continue simulating trades outside of regular trading hours (RTH). I changed configuration in TWS to allow trades outside RTH. I placed market order for SPY, but for some reason it did not fill. What could be wrong? Should I use different ticker?


Simulated trades outside of regular trading hours

 

I would like to continue simulating trades outside of regular trading hours (RTH). I changed configuration in TWS to allow trades outside RTH. I placed market order for SPY, but for some reason it did not fill. What could be wrong? Should I use different ticker?


Re: How to check order init margin (Java API)

 

Thank you for your reply! Im trying to place LMT orders before market opens. Very strange situation, because other strikes for same expiration returns correct margin requirements..


Re: Install TWS or IB gateway on Ubuntu and ARM64 bit processor

Franco Chiesa Docampo
 

Congratulations Andy, this is great. Would you mind telling us in better resolution how did you achieve this?

Cheers,
Frank

El 12 ene. 2023, a la(s) 19:24, Derek Fung <ibmderekfung@...> escribió:

Hi Andy,

Will you be able to share more installation details?

Derek


Re: Install TWS or IB gateway on Ubuntu and ARM64 bit processor

 

开云体育

Hi Andy,

Will you be able to share more installation details?

Derek

On 12 Jan 2023, at 21:30, Andy <tunggft@...> wrote:

?

Since I last wrote on this topic, last year, technology has moved forward and I am now pleased to report that IB Gateway will run on a Raspberry Pi 4B (4GB); a python client on the Pi reads in market data via the ib_insync package.
The install I used :
The stock PI OS 64 Bit 22 Sep 2022 Kernel 5.15 (Debian 11).
Bellsoft java jre11.0.17+7-linux-aarch64-full. (this includes the critical javafx libraries which the Gateway requires).
Gateway Ver 10.20 (copied over from a Linux Intel host).
The Pi was run up in headless mode over VNC.
It seems to work quite well under light load.

Andy

?

<Screenshot at 2023-01-12 21-13-19.png>


Re: Install TWS or IB gateway on Ubuntu and ARM64 bit processor

 

interesting.


On Thu, Jan 12, 2023 at 3:30 PM Andy <tunggft@...> wrote:

Since I last wrote on this topic, last year, technology has moved forward and I am now pleased to report that IB Gateway will run on a Raspberry Pi 4B (4GB); a python client on the Pi reads in market data via the ib_insync package.
The install I used :
The stock PI OS 64 Bit 22 Sep 2022 Kernel 5.15 (Debian 11).
Bellsoft java jre11.0.17+7-linux-aarch64-full. (this includes the critical javafx libraries which the Gateway requires).
Gateway Ver 10.20 (copied over from a Linux Intel host).
The Pi was run up in headless mode over VNC.
It seems to work quite well under light load.

Andy

?


Re: Install TWS or IB gateway on Ubuntu and ARM64 bit processor

 

Since I last wrote on this topic, last year, technology has moved forward and I am now pleased to report that IB Gateway will run on a Raspberry Pi 4B (4GB); a python client on the Pi reads in market data via the ib_insync package.
The install I used :
The stock PI OS 64 Bit 22 Sep 2022 Kernel 5.15 (Debian 11).
Bellsoft java jre11.0.17+7-linux-aarch64-full. (this includes the critical javafx libraries which the Gateway requires).
Gateway Ver 10.20 (copied over from a Linux Intel host).
The Pi was run up in headless mode over VNC.
It seems to work quite well under light load.

Andy

?