IbcAlpha / IBC

Automation of Interactive Brokers TWS. You can download the latest release here: https://github.com/ibcalpha/ibc/releases/latest
GNU General Public License v3.0
1.07k stars 185 forks source link

Directory names and locations different (Gateway 981.2r, TWS 981.2r, macOS 11.2.1) #112

Closed brschick closed 3 years ago

brschick commented 3 years ago

Hello,

I have IB Gateway and TWS installed per defaults. I downloaded https://github.com/ibcalpha/ibc/releases/tag/3.8.4-beta.2. It failed on my Mac (log attached that shows both the failure, and it succeeding after the change). After looking at ibcstart.sh, I found that the directory structure and vmoptions location has changed (see screenshot). I made some changes to the ibcstart.sh to reflect the new structure (also attached). I confirmed the new script works for IB gateway, I don't have the non-updating TWS installed, so I didn't confirm that. Thank you!

Screen Shot 2021-02-11 at 8 38 18 PM Screen Shot 2021-02-11 at 8 37 00 PM

ibcstart.sh.txt

ibc-3.8.4-beta.2_GATEWAY-981_Thursday.txt

rlktradewright commented 3 years ago

Thanks for alerting me to this change.

I'd be very grateful, as I don't have access to a Mac, if you could please install the non-updating TWS 981 so that you can confirm where the tws.vmoptions file is stored? I presume it will be in ${tws_path}/Trader Workstation ${tws_version}/tws.vmoptions, but it would be unwise not to confirm this.

sdudley-bsc commented 3 years ago

@brschick and @rlktradewright, I installed the offline version of TWS 981.2r on a Mac. The directory ~/Applications/Trader Workstation 981 includes the file: tws.vmptions

The directory ~/Jts does not include a file by that name.

sdudley-bsc commented 3 years ago

I suspect older versions of TWS use ~/Jts.

rlktradewright commented 3 years ago

@sdudley-bsc thanks very much for that info.

I'll update the script so that it handles both the older and the newer locations.

brschick commented 3 years ago

Hello - OK I downloaded the latest TWS standalone, and confirm my updated ibcstart.sh does indeed open TWS 981.2r successfully. I don't know how backwards compatible you want things to be, but obviously unless you have a conditional for older/newer TWS/IB Gateway versions, making this change would break things for older versions for Mac. Looking at the ~/Jts directory, the last copy of vmoptions there was 2020.08... but I was intermittently developing during the summer so can't be sure exactly the switch happened (probably sometime over summer 2020).

rlktradewright commented 3 years ago

@brschick If the standalone TWS works with the update you posted before, that's only because the original tws.vmoptions file is still in place - either because you didn't uninstall the self-updating version or because, like other platforms, when you uninstall it doesn't remove the tws.vmoptions file.

The amendment needed to work with both old and new locations is trivial: try the new location first, and if the file doesn't exist there, try the old location. I'll publish a new IBC version including this change soon (ie some time this week).

brschick commented 3 years ago

@rlktradewright your implementation idea sounds better than anything I had thought up, but glad overall I could help!

sdudley-bsc commented 3 years ago

@rlktradewright, I updated ibcstart.sh to address the MacOS issue. If you'd like me to submit a pull request, let me know.

rlktradewright commented 3 years ago

@sdudley-bsc sorry for the delay in responding. It's been one of those days where things fall apart, but of course not just one thing, several things.

Actually I've already done the change, but haven't pushed it out yet.

But I'm a bit hesitant, because I've discovered that with TWS 981.2r on Windows, IB have changed the default install location for TWS (haven't checked Gateway yet) - it now doesn't involve the version number at all, which is hopeless, although one can override the default to put it in the same version-dependent place as has been the default for about the last twenty versions.

So I'm wondering whether they might do the same for the Mac installer (and I'll have to check out Linux as well, which I haven't done yet).

This may just be a mistake with the Windows installer, and perhaps it will change back to the norm some time soon. But if they persist in this new approach I'll have to update the advice in the User Guide accordingly. Why oh why do they have to make such pointless changes!...

sdudley-bsc commented 3 years ago

@rlktradewright, thanks for the update. That kind of change is annoying, but I guess it comes with the territory. I installed Trader Workstation 981.2r for Mac. I think the install location is: ~/Applications

It includes the directory: Trader Workstation 981