Giter VIP home page Giter VIP logo

ibc's People

Contributors

benalexau avatar blades avatar fugaz avatar jaredbroad avatar kevinlsk avatar nickles avatar papadp avatar rlktradewright avatar shanecastle avatar skoschnicke avatar walterdolce avatar ziwei-yang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ibc's Issues

Gateway exits - unexistent error message

Running into some issues with odd exits at random times - i.e. no exit at HH:MM set.

All I can deduce from the log is the following:

/home/jo/opt/ibc/scripts/ibcstart.sh: line 428: 6258 Killed "$java_path/java" -cp "$ibc_classpath" $java_vm_options $entry_point "$ibc_ini" ${mode}
Gateway finished

The IB log weren't giving anything further information either.

Any takes on these? I am missing the obvious?

IBC Command Server + Linux - "STOP" command

In the Linux (Debian 9 + XFCE) version, I can not end IBC with the "STOP" command sent to the Command Server.
Is there a solution to the problem? Thank you

Log:

2018-11-18 18:13:24:847 IBC: CommandServer accepted connection from: 127.0.0.1
2018-11-18 18:13:28:656 IBC: CommandServer received command: STOP
2018-11-18 18:13:28:658 IBC: Getting main window
2018-11-18 18:13:28:658 IBC: Main window already found
2018-11-18 18:13:28:658 IBC: Scheduling backup forced exit

Telnet response:

ERROR Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@292bde6 rejected from java.util.concurrent.ScheduledThreadPoolExecutor@1afa697a[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]

TWS restart function disappearing from TWS itself, when using IBC

Hi there,

TWS 974 has an auto-restart function built in. You can find it in Settings, under Lock and Exit.
Yet when I boot TWS with IBC, this function disappears. Meaning it does not work anymore, and it even (visually) disappears from Lock and Exit @ TWS !

My idea was to have IBC auto-start my TWS on sunday night, and then just have TWS restart itself every next day, untill I kill it on Friday.

Kind regards,

Hendrik

Running StartIBC.bat fails

On windows, with TWS 969 and IBC 3.6.0 installed at default locations, I'm getting an error when running StartIBC.bat:

C:\IBC>c:\IBC\scripts\StartIBC.bat 969

================================================================================

Starting IBC version  on Sun 03/18/2018 at 16:15:49.05

Operating system:  Microsoft Windows 10 Pro  64-bit          10.0.14393

Arguments:

TWS version = 969
Entry point = ibcalpha.ibc.IbcTws
/TwsPath =
/IbcPath =
/Config =
/Mode =
/JavaPath =
/User =
/PW =
/FIXUser =
/FIXPW =

=================================

Generating the classpath
Classpath=!IBC_CLASSPATH!C:\Jts\ibgateway\969\jars\twslaunch-install4j-1.8.jar;C:\IBC\IBC.jar

Generating the JAVA VM options
Java VM Options=!JAVA_VM_OPTIONS! -DnightlyEnabled=true

Determining the location of java.exe
Location of java.exe="C:\ProgramData\Oracle\Java\javapath"

Starting IBC with this command:
""C:\ProgramData\Oracle\Java\javapath"\java.exe" -cp  "!IBC_CLASSPATH!C:\Jts\ibgateway\969\jars\twslaunch-install4j-1.8.jar;C:\IBC\IBC.jar" !JAVA_VM_OPTIONS! -DnightlyEnabled=true ibcalpha.ibc.IbcTws "\Users\Ewald\Documents\IBC\config.ini"

Error: Could not find or load main class !JAVA_VM_OPTIONS!

TWS finished at Sun 03/18/2018 16:15:49.35

Here are the environment variables after the script failed:

ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Ewald\AppData\Roaming
ARG=969
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=TOPCAT
ComSpec=C:\WINDOWS\system32\cmd.exe
CONFIG=\Users\Ewald\Documents\IBC\config.ini
ENTRY_POINT=ibcalpha.ibc.IbcTws
ENTRY_POINT_GATEWAY=ibcalpha.ibc.IbcGateway
ENTRY_POINT_TWS=ibcalpha.ibc.IbcTws
E_CONFIG_NOT_EXIST=1006
E_IBC_PATH_NOT_EXIST=1005
E_INVALID_ARG=1003
E_NO_JAVA=1001
E_NO_TWS_VERSION=1002
E_TWS_VERSION_NOT_INSTALLED=1004
E_TWS_VMOPTIONS_NOT_FOUND=1007
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Ewald
IBC_CLASSPATH=!IBC_CLASSPATH!C:\Jts\ibgateway\969\jars\twslaunch-install4j-1.8.jar;C:\IBC\IBC.jar
IBC_PATH=C:\IBC
INSTALL4J=C:\Jts\ibgateway\969\.install4j
JAVA_PATH="C:\ProgramData\Oracle\Java\javapath"
JAVA_VM_OPTIONS=!JAVA_VM_OPTIONS! -DnightlyEnabled=true
LOCALAPPDATA=C:\Users\Ewald\AppData\Local
LOGONSERVER=\\TOPCAT
NUMBER_OF_PROCESSORS=4
OneDrive=C:\Users\Ewald\OneDrive
OS=Windows_NT
Path=C:\Program Files\Python36\Scripts\;C:\Program Files\Python36\;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\AMD\ATI.ACE\Core-Static;c:\Python35;C:\Users\Ewald\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\coreutils\bin;C:\Program Files\Git\cmd;C:\Users\Ewald\AppData\Local\Microsoft\WindowsApps;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW
PHASE=Starting IBC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=3a09
PROGRAM=TWS
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\Users\Ewald\AppData\Local\Temp
TMP=C:\Users\Ewald\AppData\Local\Temp
TOKEN=-DnightlyEnabled=true
TWS_JARS=C:\Jts\ibgateway\969\jars
TWS_PATH=C:\Jts
TWS_VERSION=969
TWS_VMOPTS=C:\Jts\ibgateway\969\ibgateway.vmoptions
USERDOMAIN=topcat
USERDOMAIN_ROAMINGPROFILE=topcat
USERNAME=Ewald
USERPROFILE=C:\Users\Ewald
VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\
VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\
windir=C:\WINDOWS

The StartTWS.bat and StartGateway.bat scripts will also fail when run in this environment, but will succeed in a clean environment.

Is there any way to get the StartIBC.bat script to run?

IBC with TWS 974 may ignore the TradingMode setting in config.ini

If you set TradingMode=paper in your config.ini, you may find that login doesn’t succeed, particularly if this is the first time you’ve tried paper trading mode. This is due to a change in the TWS login dialog that causes IBC to fail to find the relevant toggle buttons, so it can’t set the trading mode as per the config.ini. In this case, TWS just uses whatever setting it finds in jts.ini: if you’ve run paper trading before, this is likely to already be tradingMode=p, so you won’t notice any problem.

The Gateway is fine.

I’ve fixed this, but haven’t yet issued another release. I’ll probably do that later tonight.

Not handled WARNING dialog in paper-trade

IB Gateway logs:

2018-05-24 22:00:03.719 [BW] INFO  [AWT-EventQueue-0] - Parent for Dialog does not implement IToFrontAsGroupWindow, isAlwaysOnTop: false parent: ibgateway.ao[frame1,162,109,700x550,invalid,layout=java.awt.BorderLayout,title=IB Gateway.  API Account: stef4810,resizable,normal,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,700x550,layout=jtscomponents.plaf.ae,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
2018-05-24 22:00:03.719 [BW] INFO  [AWT-EventQueue-0] - Parent for Dialog is not isAlwaysOnTop: ibgateway.ao[frame1,162,109,700x550,invalid,layout=java.awt.BorderLayout,title=IB Gateway.  API Account: stef4810,resizable,normal,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,700x550,layout=jtscomponents.plaf.ae,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]

The pop-up dialog that shows up and does not get handled automatically.:
popup

I have accepted it manually, but on each new order it keeps reappearing. Can't use the IB Gateway in headless mode with that.

IBC: 3.6.0
IB Gateway: 963, 969, 972 - all behave the same
IBApi: 9.73.6

Question on Multiple IBC Instances

When I create two new folders C:\JtsLive and C:\JtsPaper to store the settings, do I need to copy everything within C:\Jts folder into those new folders?
Does anyone have any suggestions?
Thanks in advance for any suggestions

IBC doesn't work with TWS 974.4g Login

I'm using IBC 3.7.3 with the Latest Offline TWS 974.4g from Dec 18, but it doesn't work.
IBC is raising an error message, because it can't find the Use/store settings on server control in the login screen.
The IBC Log file contains the following messages:

================================================================================

This log file is located at:

C:\IBC\Logs\IBC-3.7.3_TWS-974_MONDAY.txt

================================================================================

Starting IBC version 3.7.3 on Mon 01/07/2019 at 17:00:27.57

Operating system: Microsoft Windows Server 2016 Datacenter 64-bit 10.0.14393

Arguments:

TWS version = 974
Entry point = ibcalpha.ibc.IbcTws
/TwsPath = C:\Jts
/IbcPath = C:\IBC
/Config = C:\IBC\config.ini
/Mode =
/JavaPath =
/User =
/PW =
/FIXUser =
/FIXPW =

=================================

Generating the classpath
Classpath=C:\Jts\974\jars\jts4launch-974.jar;C:\Jts\974\jars\locales.jar;C:\Jts\974\jars\log4j-api-2.5.jar;C:\Jts\974\jars\log4j-core-2.5.jar;C:\Jts\974\jars\total-2018.jar;C:\Jts\974\jars\twslaunch-974.jar;C:\Jts\974\jars\twslaunch-install4j-1.9.jar;C:\IBC\IBC.jar

Generating the JAVA VM options
Java VM Options= -Xmx768m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=20 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70 -Dinstaller.uuid=c49f19ed-353e-4f27-83a6-132409f2de73 -DvmOptionsPath=C:\Jts\974\tws.vmoptions -Dsun.awt.nopixfmt=true -Dsun.java2d.noddraw=true -Dswing.boldMetal=false -Dsun.locale.formatasdefault=true

Determining the location of java.exe
Location of java.exe=c:\program files\common files\i4j_jres\1.8.0_152\bin

Starting IBC with this command:
"c:\program files\common files\i4j_jres\1.8.0_152\bin\java.exe" -cp "C:\Jts\974\jars\jts4launch-974.jar;C:\Jts\974\jars\locales.jar;C:\Jts\974\jars\log4j-api-2.5.jar;C:\Jts\974\jars\log4j-core-2.5.jar;C:\Jts\974\jars\total-2018.jar;C:\Jts\974\jars\twslaunch-974.jar;C:\Jts\974\jars\twslaunch-install4j-1.9.jar;C:\IBC\IBC.jar" -Xmx768m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=20 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70 -Dinstaller.uuid=c49f19ed-353e-4f27-83a6-132409f2de73 -DvmOptionsPath=C:\Jts\974\tws.vmoptions -Dsun.awt.nopixfmt=true -Dsun.java2d.noddraw=true -Dswing.boldMetal=false -Dsun.locale.formatasdefault=true ibcalpha.ibc.IbcTws "C:\IBC\config.ini"

2019-01-07 17:00:28:783 IBC: Properties file C:\Users\Administrator\Documents\IBC\config.ini not found
System Properties

swing.boldMetal = false
java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = c:\program files\common files\i4j_jres\1.8.0_152\bin
java.vm.version = 25.152-b16
sun.awt.nopixfmt = true
vmOptionsPath = C:\Jts\974\tws.vmoptions
java.vm.vendor = Oracle Corporation
java.vendor.url = http://java.oracle.com/
path.separator = ;
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg = sun.io
user.country = US
user.script =
sun.java.launcher = SUN_STANDARD
sun.os.patch.level =
java.vm.specification.name = Java Virtual Machine Specification
user.dir = C:\Jts
java.runtime.version = 1.8.0_152-b16
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs = c:\program files\common files\i4j_jres\1.8.0_152\lib\endorsed
os.arch = amd64
java.io.tmpdir = C:\Users\ADMINI~1\AppData\Local\Temp\2
line.separator =

java.vm.specification.vendor = Oracle Corporation
user.variant =
os.name = Windows Server 2016
sun.java2d.noddraw = true
sun.jnu.encoding = Cp1252
java.library.path = c:\program files\common files\i4j_jres\1.8.0_152\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;;.
java.specification.name = Java Platform API Specification
java.class.version = 52.0
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
os.version = 10.0
user.home = C:\Users\Administrator
user.timezone = Europe/Berlin
installer.uuid = c49f19ed-353e-4f27-83a6-132409f2de73
java.awt.printerjob = sun.awt.windows.WPrinterJob
file.encoding = Cp1252
java.specification.version = 1.8
java.class.path = C:\Jts\974\jars\jts4launch-974.jar;C:\Jts\974\jars\locales.jar;C:\Jts\974\jars\log4j-api-2.5.jar;C:\Jts\974\jars\log4j-core-2.5.jar;C:\Jts\974\jars\total-2018.jar;C:\Jts\974\jars\twslaunch-974.jar;C:\Jts\974\jars\twslaunch-install4j-1.9.jar;C:\IBC\IBC.jar
user.name = Administrator
java.vm.specification.version = 1.8
sun.java.command = ibcalpha.ibc.IbcTws C:\IBC\config.ini
java.home = c:\program files\common files\i4j_jres\1.8.0_152
sun.arch.data.model = 64
user.language = en
java.specification.vendor = Oracle Corporation
awt.toolkit = sun.awt.windows.WToolkit
java.vm.info = mixed mode
java.version = 1.8.0_152
java.ext.dirs = c:\program files\common files\i4j_jres\1.8.0_152\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path = c:\program files\common files\i4j_jres\1.8.0_152\lib\resources.jar;c:\program files\common files\i4j_jres\1.8.0_152\lib\rt.jar;c:\program files\common files\i4j_jres\1.8.0_152\lib\sunrsasign.jar;c:\program files\common files\i4j_jres\1.8.0_152\lib\jsse.jar;c:\program files\common files\i4j_jres\1.8.0_152\lib\jce.jar;c:\program files\common files\i4j_jres\1.8.0_152\lib\charsets.jar;c:\program files\common files\i4j_jres\1.8.0_152\lib\jfr.jar;c:\program files\common files\i4j_jres\1.8.0_152\classes
java.vendor = Oracle Corporation
file.separator =
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
sun.desktop = windows
sun.locale.formatasdefault = true
sun.cpu.isalist = amd64

2019-01-07 17:00:28:799 IBC: Using default settings provider: ini file is C:\IBC\config.ini
2019-01-07 17:00:28:799 IBC: Using default login manager: getting username and password from args but not found. Will get from settings
2019-01-07 17:00:28:799 IBC: Using default main window manager: constructor parameter isGateway=false
2019-01-07 17:00:28:799 IBC: Using default trading mode manager: constructor parameter args but trading mode not present - will be taken from settings
2019-01-07 17:00:28:808 IBC: Using default config dialog manager
2019-01-07 17:00:28:816 IBC: CommandServer is not started because the port is not configured
2019-01-07 17:00:29:156 IBC: TWS Settings directory is: C:\Jts
2019-01-07 17:00:29:162 IBC: Ensuring C:\Jts\jts.ini contains required minimal lines
2019-01-07 17:00:29:166 IBC: Found section: [Logon]
2019-01-07 17:00:29:166 IBC: Can't find setting: s3store=false
2019-01-07 17:00:29:166 IBC: Found section: [Logon]
2019-01-07 17:00:29:166 IBC: Found setting: s3store=true
2019-01-07 17:00:29:166 IBC: Found section: [IBGateway]
2019-01-07 17:00:29:166 IBC: Found setting: ApiOnly=true
2019-01-07 17:00:29:166 IBC: Confirmed C:\Jts\jts.ini contains required minimal lines
2019-01-07 17:00:37:156 IBC: Detected frame entitled: Login; event=Activated
2019-01-07 17:00:37:170 IBC: Detected frame entitled: Login; event=Opened
2019-01-07 17:00:37:171 IBC: Trading mode from settings: tradingMode=live
2019-01-07 17:00:37:172 IBC: Setting Trading mode = live
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2019-01-07 17:00:37:174 IBC: Could not login: could not find control: Use/store settings on server
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

TWS finished at Mon 01/07/2019 17:00:37.87

Determing TWS crash reason

Hello, after running for some time TWS/IBC crashed at a seemingly random point. Below is the log of that whole day.

Is it possible to see what caused the crash and how to avoid it in the future?

...
2019-01-29 18:15:01:614 IBC: Detected dialog entitled: Shutdown progress; event=Activated
2019-01-29 18:15:01:627 IBC: Detected dialog entitled: Shutdown progress; event=Opened
2019-01-29 18:15:01:665 IBC: Detected frame entitled: DU600365 Exit Session Setting (Simulated Trading); event=Closed
2019-01-29 18:15:02:690 IBC: Detected dialog entitled: Uploading settings to server; event=Closed
2019-01-29 18:15:04:953 IBC: Detected dialog entitled: Uploading settings to server; event=Closed
2019-01-29 18:15:12:939 IBC: Detected dialog entitled: Uploading settings to server; event=Closed
2019-01-29 18:15:13,041 JTS-IA Stopper-150239 ERROR Attempted to append to non-started appender d
2019-01-29 18:15:13,049 NIA-Input-Queue-2 ERROR Attempted to append to non-started appender d
2019-01-29 18:15:13,050 NIA-Input-Queue-2 ERROR Attempted to append to non-started appender d
2019-01-29 18:15:13,210 NIA-Input-Queue-2 ERROR Attempted to append to non-started appender d
2019-01-29 18:15:13:735 IBC: Detected frame entitled: Loading...; event=Closed

TWS finished at Tue 01/29/2019 18:15:14.99

IBC running TWS 972 has finished at Tue 01/29/2019 18:15:15.03

I'm using IBC 3.7.4 and TWS 972. Here's the IBC configuration used:

LogToConsole=no
FIX=no
IbLoginId=<LOGIN>
IbPassword=<PASS>
FIXLoginId=
FIXPassword=
TradingMode=paper
IbDir=C:\\JtsPaper
StoreSettingsOnServer=no
MinimizeMainWindow=no
ExistingSessionDetectedAction=primary
AcceptIncomingConnectionAction=accept
ShowAllTrades=no
OverrideTwsApiPort=
ReadOnlyLogin=no
AcceptNonBrokerageAccountWarning=yes
IbAutoClosedown=no
ClosedownAt=
AllowBlindTrading=no
DismissPasswordExpiryWarning=no
DismissNSEComplianceNotice=yes
SaveTwsSettingsAt=
CommandServerPort=7462
ControlFrom=
BindAddress=
CommandPrompt=
SuppressInfoMessages=yes
LogComponents=never

@rlktradewright Thank you for making this software!

Why IBGateway not able to finish initialization?

Recently, IBGateway cannot finish initialization during login, and I would like to know on how to solve this issue.

IBGateway version 963.3m
IBC version 3.6.0
Furthermore, I have also tried and download the IBGateway latest version 7xx, and still do not have luck on initialization during login process, but I can login TWS without any problem, which confirm no problem with my account.

Does anyone have any suggestions on how to solve it?
Thanks in advance for any suggestions

Give IBC the ability to run TWS/Gateway with a predefined config

There is an increasing desire amongst users to be able to run IBC in situations where the user does not have convenient (or even any) access to the target machine. Examples might be locked-down on-premises servers, cloud servers such as AWS or Azure, or containers (eg Linux or Windows containers running in Docker).

In these cases, the problem arises of how to make sure TWS or the Gateway (usually the latter, and we will assume Gateway for the remainder of this post) run with the desired configuration, which may be different from user to user and will always be different from the default as-installed configuration if only because the latter includes ReadOnlyApi = true).

This problem was referenced several times in the IBController repository (before the fork of IBC), and the general recommendation was that the user should somehow arrange for their desired configuration to be copied to the target machine or container, having first configured it to meet their needs in a local installation where they had full access. However, no specific guidance as to how best to achieve this was given, and I suspect several ingenious solutions have been invented by various users, though there has been little direct feedback on this.

Recently @charles-cooper faced this problem in Issue #10, and I'm grateful to him for the suggestion that perhaps IBC could itself do more to assist the user to achieve this. My view has always been that IBC is not a tool for configuring the Gateway (primarily because there is a large number of configuration options for which IBKR already provide an extensive configuration GUI), but I have no problem with IBC assisting with picking up a pre-defined configuration and using it when running Gateway. Thus the user would configure Gateway to meet their requirements using a local machine to which they have full access, and IBC would then be instructed to transfer the necessary configuration data to the target environment automatically.

So this is an initial post to introduce the topic, and I'll add to this when I've had time to think about it a bit. But please feel free to make any suggestions, or describe ways that you have already addressed the issue, or even submit PRs that have some bearing on it.

"Re-Login" dialog not automated

I've started using IBC. (v3.6.0) for a little over a week and have faced this issue twice in that time.

My client will indicate the gateway is down, however when I remote into the gateway server I see it is stuck at this prompt.

I will capture a screenshot the next time this issue occurs.

Is this a known issue? I see there are no newer releases than the one I have.

Is there any data I can capture or tools I can use to obtain information about the dialog to expedite this ticket? Would using Inspect (https://msdn.microsoft.com/en-us/library/windows/desktop/dd318521(v=vs.85).aspx) be of any use?

Starting Automatically with Systemd

I'm struggling to use IBC with systemd on Ubuntu 16.04 LTS. I have seen some posts detailing how to start IBController with systemd and would like to implement the same for IBC - I'd be happy to detail a guide on how to set it up correctly once I get it working. Now I am using a detached screen session in production, which works fine but if anything happens to the system itself it will not correct itself without manual intervention. I could do a "periodic test" with cron, but I prefer the robustness of systemd alongside other architecture.

Here is my unit file:

[Unit]
Description=Job that runs the IBController for paper account
Requires=xvfb.service
After=xvfb.service

[Service]
Environment="DISPLAY=:0"
ExecStart=/opt/ibc/gatewaystart.sh
Restart=always

[Install]
WantedBy=multi-user.target

Note: xvfb is working fine on restart. Now when I restart my machine I set the display variable and gatewaystart.sh does everything perfectly (manually).

Richard - I had noticed a thread in the groups.io page about waiting for a banner to load on a new version that you had released (could this be related?). Just an idea.

The error I'm getting from journalctl is too many reload attempts from systemd:

-- Logs begin at Tue 2018-03-20 19:16:19 UTC, end at Tue 2018-03-20 19:17:44 UTC. --
Mar 20 19:16:24 ip-172-31-40-221 systemd[1]: ibcontroller-paper.service: About to execute: /opt/ibc/gatewaysta
Mar 20 19:16:24 ip-172-31-40-221 systemd[1]: ibcontroller-paper.service: Forked /opt/ibc/gatewaystart.sh as 11
Mar 20 19:16:24 ip-172-31-40-221 systemd[1]: ibcontroller-paper.service: Changed dead -> running
Mar 20 19:16:24 ip-172-31-40-221 systemd[1]: ibcontroller-paper.service: Job ibcontroller-paper.service/start 
Mar 20 19:16:24 ip-172-31-40-221 systemd[1]: Started Job that runs the IBController for paper account.
Mar 20 19:16:24 ip-172-31-40-221 systemd[1126]: ibcontroller-paper.service: Executing: /opt/ibc/gatewaystart.s
Mar 20 19:16:24 ip-172-31-40-221 systemd[1]: ibcontroller-paper.service: Service hold-off time over, schedulin
Mar 20 19:16:24 ip-172-31-40-221 systemd[1]: Stopped Job that runs the IBController for paper account.
Mar 20 19:16:24 ip-172-31-40-221 systemd[1]: Started Job that runs the IBController for paper account.
Mar 20 19:16:24 ip-172-31-40-221 systemd[1]: ibcontroller-paper.service: Service hold-off time over, schedulin
Mar 20 19:16:24 ip-172-31-40-221 systemd[1]: Stopped Job that runs the IBController for paper account.
Mar 20 19:16:24 ip-172-31-40-221 systemd[1]: Started Job that runs the IBController for paper account.
Mar 20 19:16:24 ip-172-31-40-221 systemd[1266]: ibcontroller-paper.service: Executing: /opt/ibc/gatewaystart.s
Mar 20 19:16:25 ip-172-31-40-221 systemd[1]: ibcontroller-paper.service: Service hold-off time over, schedulin
Mar 20 19:16:25 ip-172-31-40-221 systemd[1]: Stopped Job that runs the IBController for paper account.
Mar 20 19:16:25 ip-172-31-40-221 systemd[1]: Started Job that runs the IBController for paper account.
Mar 20 19:16:25 ip-172-31-40-221 systemd[1287]: ibcontroller-paper.service: Executing: /opt/ibc/gatewaystart.s
Mar 20 19:16:25 ip-172-31-40-221 systemd[1]: ibcontroller-paper.service: Service hold-off time over, schedulin
Mar 20 19:16:25 ip-172-31-40-221 systemd[1]: Stopped Job that runs the IBController for paper account.
Mar 20 19:16:25 ip-172-31-40-221 systemd[1]: Started Job that runs the IBController for paper account.
Mar 20 19:16:25 ip-172-31-40-221 systemd[1302]: ibcontroller-paper.service: Executing: /opt/ibc/gatewaystart.s
Mar 20 19:16:25 ip-172-31-40-221 systemd[1]: ibcontroller-paper.service: Service hold-off time over, schedulin
Mar 20 19:16:25 ip-172-31-40-221 systemd[1]: Stopped Job that runs the IBController for paper account.
Mar 20 19:16:25 ip-172-31-40-221 systemd[1]: ibcontroller-paper.service: Start request repeated too quickly.
Mar 20 19:16:25 ip-172-31-40-221 systemd[1]: Failed to start Job that runs the IBController for paper account.

Are there some points in the bash script I could add some verbose logging (printing) to see what's going on?

I'll keep investigating and report back with any findings. If you'd like me to migrate to groups.io I can do that - but I thought others with similar issues may look here first. My apologies if this is the incorrect place to add the issue.

Repeated prompts from IB Key

  1. When the forced reconnection I mentioned in the previous issue happened, I authenticated using the IB Key Android app, data resumed arriving to my client, but then I kept getting the IB Key authentication prompt. The 4th time I got it, I tapped cancel. But, then my app stopped receiving data.

  2. So I launched /opt/ibc/gatewaystart.sh again, remembering from the IBController days that this would not spawn a new instance, but rather "reboot" the current one. However, I ended up with two process trees (/opt/ibc/gatewaystart.sh -> java etc.).

Thought I'd report this, and happy to provide more information next Sunday.

What setting to change for upgrading from 963 to 974?

Once 963 is uninstalled and 974 is installed, I change following setting, which is able to launch 974 gateway, but not able to input those saved username and password for logon.
I would like to know on which setting and files should be changed.

Does anyone have any suggestions?
Thanks in advance for any suggestions

File : C:\StartGateway.bat
set TWS_MAJOR_VRSN=974
set CONFIG=%HOMEDRIVE%%HOMEPATH%\Documents\IBC\config.ini
set TRADING_MODE=paper
set IBC_PATH=%SYSTEMDRIVE%\IBC
set TWS_PATH=%SYSTEMDRIVE%\Jts
set LOG_PATH=%IBC_PATH%\Logs
set TWSUSERID=
set TWSPASSWORD=
set FIXUSERID=
set FIXPASSWORD=
set JAVA_PATH=
set HIDE=

IbAutoClosedown=no doesn't work properly with TWS 974

There has been a change in behaviour in TWS 974 relating to the IbAutoClosedown=no setting in config.ini, compared to earlier TWS versions.

IBC made this work by intercepting the Exit Session Setting dialog that TWS displays about 4 or 5 minutes before the configured autologoff, and changing the autologoff to 23hrs 50min ahead: thus, if it was 07:43PM, IBC would change it to 07:33PM, and TWS would then continue running. At 07:28PM the next day, it would display the Exit Session Setting dialog again, and IBC would repeat the process: this could be continued indefinitely.

But with TWS 9.74, TWS only seems to allow this deferral to happen once: the second time, it ignores the fact that IBC has changed the autologoff time, and just logs off anyway.

I’m not convinced I’ve fully understood this behaviour yet, but I do have a possible workaround in mind. So it might be a while before I announce a fix. It’s quite possible that I won’t be able to fix it, but we’ll see. I’m not personally bothered by this, because I’ve never liked keeping TWS running indefinitely in this way, so I don’t use IbAutoClosedown=no for my live account: I set the autologoff time to just before the nightly reset, and then restart IBC automatically a few minutes later using Task Scheduler (you could use cron on Linux)

sh - command not found?

Ubuntu 16.04, everything put in default directories. Getting "command not found" on the gatewaystart.sh file, any takes on this?

Restart fails because of "Attempted to append to non-started appender d"

The daily auto-restart fails due to an Attempted to append to non-started appender error.

This seems to happen somewhat randomly. Sometimes it'll happen on the first attempted restart, and at other times it will restart a few times successfully and fail on the 3rd or 4th restart. (But it never goes more than a few days without hitting this error.)

These are the last few lines of the log. Any idea what could be causing this?

2018-10-17 22:00:01:864 IBC: Detected dialog entitled: Shutdown progress; event=Opened
2018-10-17 22:00:01:868 IBC: Detected dialog entitled: Shutdown progress; event=Activated
2018-10-17 22:00:02:452 IBC: Detected dialog entitled: Uploading settings to server; event=Closed
2018-10-17 22:00:02:452 IBC: Detected dialog entitled: Uploading settings to server; event=Closed
2018-10-17 22:00:03:253 IBC: Detected dialog entitled: Uploading settings to server; event=Closed
2018-10-17 22:00:03,259 JTS-ShutdownTask-Shutdown_IA-8499 ERROR Attempted to append to non-started appender d
2018-10-17 22:00:03,260 NIA-Input-Queue-2 ERROR Attempted to append to non-started appender d
2018-10-17 22:00:03,265 NIA-Input-Queue-2 ERROR Attempted to append to non-started appender d
2018-10-17 22:00:03,529 NIA-Input-Queue-2 ERROR Attempted to append to non-started appender d
2018-10-17 22:00:03:621 IBC: Detected frame entitled: Loading...; event=Closed

Stop.bat doesn't seem to be working

IBC is very handy -- thank you for making it!

I made sure the telnet client is enabled in the windows and features. However, when I run the Stop.bat, it fails to stop the IB gateway process which is running as well as the window which is running IBC. Any ideas of what I can do to debug the issue? Thank you!

Weekly reconnects

Apologies if I missed the note about this or if my memory is faulty.

I'm using the IB Gateway on Linux with a simple app that stores security prices. No trading, I'm just gathering data. IIRC until sometime around June, I never had to reconnect. I was using IBController. Then, I had to reconnect every Sunday.

This past week, I've moved to IBC, and around 1am Eastern, my app lost the data connection, and I got a prompt via the IB Key Android app to re-authenticate. Not a huge deal, but the problem is that I need to be awake at 1am to confirm the prompt. I'm using live (not demo) trading and have a separate account for the headless app vs. my regular account. No auto-close settings. IbAutoClosedown=no, StoreSettingsOnServer=yes.

  1. Was there a change in this weekly reconnection requirement this past summer, or am I mis-remembering that I didn't have to reconnect every Sunday? Ideally I'd like to leave the app completely unattended to gather data for a few months.

  2. Any chance to change the timing of the reconnect earlier in the day?

v974 IBGateway logs into paper a/c even when TradingMode=live

I just tried using IBGateway v974 with IbcAlpha v3.7.2, and IBGateway logs into my paper account even when TradingMode=live in my config.ini. When I install v972 instead of v974 and leave everything else unchanged, it works fine (logs into my live account).

Attached logs below, but these lines indicate it's picking up the live mode correctly, but still clicking on the paper login button.

2018-11-18 06:26:53:995 IBC: Trading mode from settings: tradingMode=live
2018-11-18 06:26:53:995 IBC: Setting Trading mode = live
2018-11-18 06:26:54:011 IBC: Click button: Paper Log In

Any thoughts on how to fix this would be greatly appreciated. Could this be related to their UI revamp in v974?

Complete logs:

2018-11-18 06:26:51:655 IBC: Properties file /root/IBC/config.ini not found
System Properties
------------------------------------------------------------
java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = /usr/local/i4j_jres/1.8.0_152/lib/amd64
java.vm.version = 25.152-b16
java.vm.vendor = Oracle Corporation
java.vendor.url = http://java.oracle.com/
path.separator = :
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg = sun.io
user.country = US
sun.java.launcher = SUN_STANDARD
sun.os.patch.level = unknown
java.vm.specification.name = Java Virtual Machine Specification
user.dir = /root
java.runtime.version = 1.8.0_152-b16
java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
java.endorsed.dirs = /usr/local/i4j_jres/1.8.0_152/lib/endorsed
os.arch = amd64
java.io.tmpdir = /tmp
line.separator = 

java.vm.specification.vendor = Oracle Corporation
os.name = Linux
sun.jnu.encoding = ANSI_X3.4-1968
java.library.path = /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.specification.name = Java Platform API Specification
java.class.version = 52.0
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
os.version = 4.15.0-29-generic
user.home = /root
user.timezone = Etc/UTC
java.awt.printerjob = sun.print.PSPrinterJob
file.encoding = ANSI_X3.4-1968
java.specification.version = 1.8
java.class.path = /root/Jts/ibgateway/974/jars/log4j-api-2.5.jar:/root/Jts/ibgateway/974/jars/log4j-core-2.5.jar:/root/Jts/ibgateway/974/jars/twslaunch-974.jar:/root/Jts/ibgateway/974/jars/
total-2018.jar:/root/Jts/ibgateway/974/jars/jts4launch-974.jar:/root/Jts/ibgateway/974/jars/twslaunch-install4j-1.9.jar:/root/Jts/ibgateway/974/jars/locales.jar:/opt/ibc/IBC.jar
user.name = root
java.vm.specification.version = 1.8
sun.java.command = ibcalpha.ibc.IbcGateway config/config.ini
java.home = /usr/local/i4j_jres/1.8.0_152
sun.arch.data.model = 64
user.language = en
java.specification.vendor = Oracle Corporation
awt.toolkit = sun.awt.X11.XToolkit
java.vm.info = mixed mode
java.version = 1.8.0_152
java.ext.dirs = /usr/local/i4j_jres/1.8.0_152/lib/ext:/usr/java/packages/lib/ext
sun.boot.class.path = /usr/local/i4j_jres/1.8.0_152/lib/resources.jar:/usr/local/i4j_jres/1.8.0_152/lib/rt.jar:/usr/local/i4j_jres/1.8.0_152/lib/sunrsasign.jar:/usr/local/i4j_jres/1.8.0_152
/lib/jsse.jar:/usr/local/i4j_jres/1.8.0_152/lib/jce.jar:/usr/local/i4j_jres/1.8.0_152/lib/charsets.jar:/usr/local/i4j_jres/1.8.0_152/lib/jfr.jar:/usr/local/i4j_jres/1.8.0_152/classes
java.vendor = Oracle Corporation
file.separator = /
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
sun.cpu.isalist = 
------------------------------------------------------------
2018-11-18 06:26:51:659 IBC: Using default settings provider: ini file is config/config.ini
2018-11-18 06:26:51:659 IBC: Using default login manager: getting username and password from args but not found. Will get from settings
2018-11-18 06:26:51:659 IBC: Using default config dialog manager: constructor parameter isGateway=true
2018-11-18 06:26:51:659 IBC: Using default trading mode manager: constructor parameter args but trading mode not present - will be taken from settings
2018-11-18 06:26:51:660 IBC: Using default config dialog manager
2018-11-18 06:26:51:665 IBC: CommandServer is not started because the port is not configured
2018-11-18 06:26:51:666 IBC: Gateway will be shut down at 2018/11/24 22:00
2018-11-18 06:26:51:785 IBC: TWS Settings directory is: /root
2018-11-18 06:26:51:786 IBC: Ensuring /root/jts.ini contains required minimal lines
2018-11-18 06:26:51:787 IBC: Found section: [Logon]
2018-11-18 06:26:51:787 IBC: Can't find setting: s3store=false
2018-11-18 06:26:51:787 IBC: Found section: [Logon]
2018-11-18 06:26:51:787 IBC: Found setting: s3store=true
2018-11-18 06:26:51:787 IBC: Found section: [IBGateway]
2018-11-18 06:26:51:787 IBC: Found setting: ApiOnly=true
2018-11-18 06:26:51:787 IBC: Confirmed /root/jts.ini contains required minimal lines
2018-11-18 06:26:53:991 IBC: Detected frame entitled: IB Gateway; event=Activated
2018-11-18 06:26:53:994 IBC: Detected frame entitled: IB Gateway; event=Opened
2018-11-18 06:26:53:995 IBC: Trading mode from settings: tradingMode=live
2018-11-18 06:26:53:995 IBC: Setting Trading mode = live
2018-11-18 06:26:54:011 IBC: Click button: Paper Log In
2018-11-18 06:26:54:699 IBC: Detected frame entitled: IB Gateway.  API Account: username; event=Activated
2018-11-18 06:26:54:701 IBC: Detected frame entitled: IB Gateway.  API Account: username; event=Opened
2018-11-18 06:26:54:701 IBC: Found Gateway main window
2018-11-18 06:26:54:837 IBC: Detected frame entitled: Authenticating...; event=Activated
2018-11-18 06:26:54:838 IBC: Detected frame entitled: Authenticating...; event=Opened
LogModuleConfigurator-Init: Log4j Ver2.x found on classpath
LogModuleConfigurator-Init: LogModuleConfigurator initialized with Log4j Verd.x
2018-11-18 06:26:57:112 IBC: Detected frame entitled: Starting application...; event=Closed
2018-11-18 06:26:57:185 IBC: Detected dialog entitled: Warning; event=Opened
2018-11-18 06:26:57:185 IBC: Click button: I understand and accept
2018-11-18 06:26:57:276 IBC: Detected dialog entitled: Warning; event=Closed

Secure Login System Enrollment

Hi there,

I just got an e-mail from IB, stating that using the Secure Login has now become mandatory (I didn't use it untill now). Does anyone has experience with this, in combination with IBC? And/or are there any plans for a workaround in the making? Obviously this program should then have an (adjusted) disclaimer, in which it states it's at your own risk. Nonetheless I don't like TWS telling me what to do.

Thanks in advance.

IBC does not currently work with TWS 974

It has been brought to my attention (see issue #26) that IBC (and of course IBController) is not currently working with TWS 974, which has recently become IBKR’s ‘latest’ offline TWS.

A brief investigation last night confirmed this.

The problem is due to IBKR having completely re-implemented the login dialog, in such a way that IBC/IBController no longer recognises it, and is therefore unable to inject the username and password into the appropriate fields or click the login button.

It gets worse: because of the way IBKR have done this re-implementation, IBC/IBController’s current technology is not able to explore the detailed structure of the dialog to give it any possibility of finding these things.

In other words, IBC/IBController CANNOT CURRENTLY WORK WITH TWS 974, at least as far as auto-login is concerned.

Therefore I ask you not to bother trying to use IBC/IBController with TWS 974 until further notice. In particular, please do not post here or on the Github repositories about this, as every such post consumes time that I need to try and sort this mess.

I am hopeful that I can get round this problem, but until I investigate further I won’t know.

The worst case scenario would be that there is no way around this, in which case IBC/IBController will have much less value, and possibly even become useless to most users. I will have more to say about this when I’ve had time to investigate more fully.

Thanks for your cooperation.

Richard

PasswordEncrypted is not available on new version?

For config.ini, is PasswordEncrypted no longer support on latest IBCWin-3.6.0?
Since password is not encrypted under C:\Users\username\Documents\IBC, which IBC folder cannot be encrypted for window 7, but username folder is encrypted by default, would it be safe place for security?
Does anyone have any suggestions?
Thanks in advance for any suggestions

Exiting with "Attempted to append to non-started appender e"

I'm running IBC Alpha on an Ubuntu VPS with Xvfb, trying to keep the Gateway running as long as possible, logged into my paper trading account. The problem is that IBC Alpha exits after about a day after I launch it with DISPLAY=:0 /opt/ibc/gatewaystart.sh.

Here's one of the logs. Happy to provide any other information.

================================================================================

Starting IBC version 3.7.5 on 2019-04-16 at 11:43:52

Operating system: Linux dd.com 4.18.16-x86_64-linode118 #1 SMP PREEMPT Mon Oct 29 15:38:25 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Arguments:

TWS version = 975
Entry point = ibcalpha.ibc.IbcGateway
--tws-path = /home/mp/Jts
--tws-settings-path = /home/mp/Jts
--ibc-path = /opt/ibc
--ibc-ini = /home/mp/ibc/config.ini
--mode = 
--java-path = 
--user =
--pw =
--fix-user =
--fix-pw =

=================================
Generating the classpath
Classpath=/home/mp/Jts/ibgateway/975/jars/jts4launch-975.jar:/home/mp/Jts/ibgateway/975/jars/locales.jar:/home/mp/Jts/ibgateway/975/jars/log4j-api-2.5.jar:/home/mp/Jts/ibgateway/975/jars/log4j-core-2.5.jar:/home/mp/Jts/ibgateway/975/jars/total-2018.jar:/home/mp/Jts/ibgateway/975/jars/twslaunch-975.jar:/home/mp/Jts/ibgateway/975/jars/twslaunch-install4j-1.9.jar:/opt/ibc/IBC.jar

Generating the JAVA VM options
Java VM Options=-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=20 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70 -Xmx768m

Determining the location of java executable
Location of java executable=/home/mp/.i4j_jres/1.8.0_152_64/bin

Starting Gateway with this command:
"/home/mp/.i4j_jres/1.8.0_152_64/bin/java" -cp "/home/mp/Jts/ibgateway/975/jars/jts4launch-975.jar:/home/mp/Jts/ibgateway/975/jars/locales.jar:/home/mp/Jts/ibgateway/975/jars/log4j-api-2.5.jar:/home/mp/Jts/ibgateway/975/jars/log4j-core-2.5.jar:/home/mp/Jts/ibgateway/975/jars/total-2018.jar:/home/mp/Jts/ibgateway/975/jars/twslaunch-975.jar:/home/mp/Jts/ibgateway/975/jars/twslaunch-install4j-1.9.jar:/opt/ibc/IBC.jar" -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=20 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70 -Xmx768m ibcalpha.ibc.IbcGateway "/home/mp/ibc/config.ini"  

2019-04-16 11:43:53:145 IBC: Properties file /home/mp/IBC/config.ini not found
System Properties
------------------------------------------------------------
java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = /home/mp/.i4j_jres/1.8.0_152_64/lib/amd64
java.vm.version = 25.152-b16
java.vm.vendor = Oracle Corporation
java.vendor.url = http://java.oracle.com/
path.separator = :
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg = sun.io
user.country = US
sun.java.launcher = SUN_STANDARD
sun.os.patch.level = unknown
java.vm.specification.name = Java Virtual Machine Specification
user.dir = /home/mp/Jts
java.runtime.version = 1.8.0_152-b16
java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
java.endorsed.dirs = /home/mp/.i4j_jres/1.8.0_152_64/lib/endorsed
os.arch = amd64
java.io.tmpdir = /tmp
line.separator = 

java.vm.specification.vendor = Oracle Corporation
os.name = Linux
sun.jnu.encoding = UTF-8
java.library.path = /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.specification.name = Java Platform API Specification
java.class.version = 52.0
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
os.version = 4.18.16-x86_64-linode118
user.home = /home/mp
user.timezone = America/Los_Angeles
java.awt.printerjob = sun.print.PSPrinterJob
file.encoding = UTF-8
java.specification.version = 1.8
java.class.path = /home/mp/Jts/ibgateway/975/jars/jts4launch-975.jar:/home/mp/Jts/ibgateway/975/jars/locales.jar:/home/mp/Jts/ibgateway/975/jars/log4j-api-2.5.jar:/home/mp/Jts/ibgateway/975/jars/log4j-core-2.5.jar:/home/mp/Jts/ibgateway/975/jars/total-2018.jar:/home/mp/Jts/ibgateway/975/jars/twslaunch-975.jar:/home/mp/Jts/ibgateway/975/jars/twslaunch-install4j-1.9.jar:/opt/ibc/IBC.jar
user.name = mp
java.vm.specification.version = 1.8
sun.java.command = ibcalpha.ibc.IbcGateway /home/mp/ibc/config.ini
java.home = /home/mp/.i4j_jres/1.8.0_152_64
sun.arch.data.model = 64
user.language = en
java.specification.vendor = Oracle Corporation
awt.toolkit = sun.awt.X11.XToolkit
java.vm.info = mixed mode
java.version = 1.8.0_152
java.ext.dirs = /home/mp/.i4j_jres/1.8.0_152_64/lib/ext:/usr/java/packages/lib/ext
sun.boot.class.path = /home/mp/.i4j_jres/1.8.0_152_64/lib/resources.jar:/home/mp/.i4j_jres/1.8.0_152_64/lib/rt.jar:/home/mp/.i4j_jres/1.8.0_152_64/lib/sunrsasign.jar:/home/mp/.i4j_jres/1.8.0_152_64/lib/jsse.jar:/home/mp/.i4j_jres/1.8.0_152_64/lib/jce.jar:/home/mp/.i4j_jres/1.8.0_152_64/lib/charsets.jar:/home/mp/.i4j_jres/1.8.0_152_64/lib/jfr.jar:/home/mp/.i4j_jres/1.8.0_152_64/classes
java.vendor = Oracle Corporation
file.separator = /
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
sun.cpu.isalist = 
------------------------------------------------------------
2019-04-16 11:43:53:153 IBC: Using default settings provider: ini file is /home/mp/ibc/config.ini
2019-04-16 11:43:53:153 IBC: Using default login manager: getting username and password from args but not found. Will get from settings
2019-04-16 11:43:53:153 IBC: Using default main window manager: constructor parameter isGateway=true
2019-04-16 11:43:53:154 IBC: Using default trading mode manager: constructor parameter args but trading mode not present - will be taken from settings
2019-04-16 11:43:53:156 IBC: Using default config dialog manager
2019-04-16 11:43:53:164 IBC: CommandServer is not started because the port is not configured
2019-04-16 11:43:53:380 IBC: TWS Settings directory is: /home/mp/Jts
2019-04-16 11:43:53:383 IBC: Ensuring /home/mp/Jts/jts.ini contains required minimal lines
2019-04-16 11:43:53:383 IBC: Found section: [Logon]
2019-04-16 11:43:53:383 IBC: Can't find setting: s3store=false
2019-04-16 11:43:53:383 IBC: Found section: [Logon]
2019-04-16 11:43:53:384 IBC: Found setting: s3store=true
2019-04-16 11:43:53:384 IBC: Found section: [IBGateway]
2019-04-16 11:43:53:384 IBC: Found setting: ApiOnly=true
2019-04-16 11:43:53:384 IBC: Confirmed /home/mp/Jts/jts.ini contains required minimal lines
2019-04-16 11:43:59:521 IBC: Detected frame entitled: IB Gateway; event=Activated
2019-04-16 11:43:59:532 IBC: Detected frame entitled: IB Gateway; event=Opened
2019-04-16 11:43:59:536 IBC: Trading mode from settings: tradingMode=paper
2019-04-16 11:43:59:536 IBC: Setting Trading mode = paper
2019-04-16 11:43:59:739 IBC: Click button: Paper Log In
2019-04-16 11:44:01:316 IBC: Detected frame entitled: IB Gateway.  API Account: atol1358; event=Opened
2019-04-16 11:44:01:316 IBC: Found Gateway main window
2019-04-16 11:44:01:319 IBC: Detected frame entitled: IB Gateway.  API Account: atol1358; event=Activated
2019-04-16 11:44:01:708 IBC: Detected frame entitled: Authenticating...; event=Activated
2019-04-16 11:44:01:709 IBC: Detected frame entitled: Authenticating...; event=Opened
LogModuleConfigurator-Init: Log4j Ver2.x found on classpath
LogModuleConfigurator-Init: LogModuleConfigurator initialized with Log4j Verd.x
2019-04-16 11:44:08:749 IBC: Detected frame entitled: Starting application...; event=Closed
2019-04-16 11:44:09:079 IBC: Detected dialog entitled: Warning; event=Activated
2019-04-16 11:44:09:095 IBC: Detected dialog entitled: Warning; event=Opened
2019-04-16 11:44:09:095 IBC: Click button: I understand and accept
2019-04-16 11:44:09:209 IBC: Detected dialog entitled: Warning; event=Closed
remove Client 30
2019-04-16 21:40:31:279 IBC: Detected frame entitled: DUXXXXXX Exit Session Setting (Simulated Trading); event=Activated
2019-04-16 21:40:31:290 IBC: Detected frame entitled: DUXXXXXX Exit Session Setting (Simulated Trading); event=Opened
2019-04-16 21:45:01:463 IBC: Detected dialog entitled: Shutdown progress; event=Opened
2019-04-16 21:45:01:467 IBC: Detected dialog entitled: Shutdown progress; event=Activated
2019-04-16 21:45:01:509 IBC: Detected frame entitled: DUXXXXXX Exit Session Setting (Simulated Trading); event=Closed
2019-04-16 23:45:03,442 JTS-IA Stopper-105 ERROR Attempted to append to non-started appender e
2019-04-16 23:45:03,445 NIA-Input-Queue-2 ERROR Attempted to append to non-started appender e
2019-04-16 23:45:03,446 NIA-Input-Queue-2 ERROR Attempted to append to non-started appender e
2019-04-16 23:45:03,574 JTS-IA-Usage-Reporter-1 ERROR Attempted to append to non-started appender e
Gateway finished

IB Gateway Auto Logoff timer

The latest version of the IB Gateway (974.4c) now has an Auto Logoff timer (similar to the one from TWS). IB Gateway will automatically log out every day at the specified time.
Looking at the release notes (https://www.interactivebrokers.com/en/index.php?f=36357), it looks like an "Auto Restart" feature is also available but I still haven't found it!

Set TWS/IB Gateway to Auto Restart: Both TWS and the IB Gateway require daily restarts to refresh data. As a convenience, we now offer an auto-restart feature that will restart your application throughout the week and only require a manual restart and authentication once/week, each Sunday. TWS users will find this feature works most effectively with the TWS Offline version.

In IBC, there is already a parameter called "IbAutoClosedown" in the config.ini file:

Set to yes or no (lower case). Only affects TWS, not the Gateway.
yes   means allow TWS to shut down automatically at its
  	  specified shutdown time, which is set via the TWS 
	  configuration menu.

no    means TWS never shuts down automatically.

Now that the Gateway shuts down automatically too (like TWS), would it be possible to extend this feature to the Gateway such as to prevent automatic shutdown by setting parameter IbAutoClosedown to no?

IBC as a library

I have some Java code. From this Java code I'd like to start, configure (#14?) and control (at least shutdown) IBG. Forking a shell from JVM, then using a shell script, then starting IBC (i.e. another JVM), seems a bit cumbersome. Using IBC as a Java library sounds much nicer to me and can easily provide access to features not exposed via the shell script.

Do you think this should be a first-class use case?
Would you be willing to setup code publishing to Maven Central or something similar?

v 3.8.1 ExistingSessionDetectedAction

Hi, IBC is not able to auto-connect when the login is switched from desktop-IBC to IOS app. I have played around with the ExistingSessionDetectedAction setting but not getting consistent results. Ideally, I would want IBC to auto-click 'Disconnect the other session', when the login is switched to IOS app

xterm: not found

/opt/ibc# ./gatewaystart.sh: 173: ./gatewaystart.sh: xterm: not found

my OS is GUI'less, anyone give a step-by-steps instruction to prepare that?
Thanks!

IBC 3.7.3 isn't responding

I have installed the latest version of TWS offline version 974 along with the latest IBC 3.7.3 in my Centos 7 machine. The config file and the executable twsstart.sh are also set with the correct parameters. But the program itself is not running.

Upon executing ./twsstart.sh nothing happens and the prompt simply goes to a newline without running anything. No logs or messages are being printed either.

I have been trying for days now to find a way to run this but i'm stuck. Previously IBControllerStart.sh ran perfectly fine everytime with an older version of TWS. But after the upgrade to TWS 974 and IBC 3.7.3 i simply can't get the IB Controller to run.

Please let me know what i could be doing wrong. Or is it something that i'm missing. I've also gone through the docs but didn't find any solution.

tws version

My tws version is 973. How can I use IBC? Or where I can get tws963?

Checking for gateway jars

Hi, I'm a bit confused as to why the jars for the gateway are being checked. It knows the entry point is TWS. I ended up running it fine by manually running ibcstart.sh and passing the variables but it seems like possibly the gateway flag is being set somewhere when I just use twsstart.sh. I've never needed to have the gateway installed before and I didn't see anything about it in the latest release notes. Please see output below.

Great work getting this running with the new login, though. Thank you!

Starting IBC version 3.7.0 on 2018-11-14 at 18:50:53

Operating system: Linux OT 4.4.0-1070-aws #80-Ubuntu SMP Thu Oct 4 13:56:07 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Arguments:

TWS version = 964
Entry point = ibcalpha.ibc.IbcTws
--tws-path = /home/ubuntu/Jts
--tws-settings-path = /home/ubuntu/Jts
--ibc-path = /home/ubuntu/ot/ibc
--ibc-ini = /home/ubuntu/ot/ibc/config.ini
--mode = paper
--java-path =
--user = ***
--pw = ***

=========================== An error has occurred =============================

Error: TWS version 964 is not installed: can't find /home/ubuntu/Jts/ibgateway/964/jars

user group

Hello! Was wondering what happened to the user group as i wanted to access some information. The link on this repo leads to some book club and the IB Controller group is gone.
Could you please update the link or is there no user group anymore?
Thanks and regards
Steffen

IbAutoClosedown=no doesn't work properly with TWS 972 on macos

Hi
first of all thank you for your great work and sorry for my poor english.

I have an issue running ibc with multiple TWS. They are all offline version and with version number 972.
For every instance I created a config file and twsstartUSERNAME.sh for every user. I then created a script that lunchs every file named twsstart* from a directory, and everything works fine.
This is an example of config.ini

IbLoginId=USER
IbPassword=PASSWORD
FIXLoginId=
FIXPassword=
TradingMode=live
IbDir=
StoreSettingsOnServer=yes
MinimizeMainWindow=no
ExistingSessionDetectedAction=manual
AcceptIncomingConnectionAction=accept
ShowAllTrades=no
OverrideTwsApiPort=
ReadOnlyLogin=no
AcceptNonBrokerageAccountWarning=yes
IbAutoClosedown=no

The first time IBC is able to change the logoff timer (as you can see below) but, strangely, the second time, it gets an error and it doesn't work.
am I doing something wrong or there is an error in the program?

thank you

================================================================================

Starting IBC version 3.7.5 on 2019-05-30 at 09:43:35

Operating system: Darwin Giacomos-MacBook-Pro.local 18.6.0 Darwin Kernel Version 18.6.0: Thu Apr 25 23:16:27 PDT 2019; root:xnu-4903.261.4~2/RELEASE_X86_64 x86_64

Arguments:

TWS version = 972
Entry point = ibcalpha.ibc.IbcTws
--tws-path = /Users/giacomo/Applications
--tws-settings-path = /Users/giacomo/Jts
--ibc-path = /opt/ibc
--ibc-ini = /Users/giacomo/ibc/USER037/config.ini
--mode = 
--java-path = 
--user = ***
--pw = ***

=================================
Generating the classpath
Classpath=/Users/giacomo/Applications/Trader Workstation 972/jars/jts4launch-972.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/locales.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/log4j-api-2.5.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/log4j-core-2.5.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/total-2018.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/twslaunch-972.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/twslaunch-install4j-1.8.jar:/opt/ibc/IBC.jar

Generating the JAVA VM options
Java VM Options=-Xmx768m

Determining the location of java executable
Location of java executable=/Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre/bin

Starting TWS with this command:
"/Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre/bin/java" -cp "/Users/giacomo/Applications/Trader Workstation 972/jars/jts4launch-972.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/locales.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/log4j-api-2.5.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/log4j-core-2.5.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/total-2018.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/twslaunch-972.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/twslaunch-install4j-1.8.jar:/opt/ibc/IBC.jar" -Xmx768m ibcalpha.ibc.IbcTws "/Users/giacomo/ibc/USER037/config.ini" *** *** 

System Properties
------------------------------------------------------------
java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = /Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre/lib
java.vm.version = 25.152-b16
gopherProxySet = false
java.vm.vendor = Oracle Corporation
java.vendor.url = http://java.oracle.com/
path.separator = :
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg = sun.io
user.country = IT
sun.java.launcher = SUN_STANDARD
sun.os.patch.level = unknown
java.vm.specification.name = Java Virtual Machine Specification
user.dir = /Users/giacomo/Applications
java.runtime.version = 1.8.0_152-b16
java.awt.graphicsenv = sun.awt.CGraphicsEnvironment
java.endorsed.dirs = /Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre/lib/endorsed
os.arch = x86_64
java.io.tmpdir = /var/folders/2x/208kv3kd2sxd67dn1pwgjtzr0000gn/T/
line.separator = 

java.vm.specification.vendor = Oracle Corporation
os.name = Mac OS X
sun.jnu.encoding = UTF-8
java.library.path = /Users/giacomo/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
java.specification.name = Java Platform API Specification
java.class.version = 52.0
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
os.version = 10.14.5
http.nonProxyHosts = local|*.local|169.254/16|*.169.254/16
user.home = /Users/giacomo
user.timezone = Europe/Rome
java.awt.printerjob = sun.lwawt.macosx.CPrinterJob
file.encoding = UTF-8
java.specification.version = 1.8
java.class.path = /Users/giacomo/Applications/Trader Workstation 972/jars/jts4launch-972.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/locales.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/log4j-api-2.5.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/log4j-core-2.5.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/total-2018.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/twslaunch-972.jar:/Users/giacomo/Applications/Trader Workstation 972/jars/twslaunch-install4j-1.8.jar:/opt/ibc/IBC.jar
user.name = giacomo
java.vm.specification.version = 1.8
sun.java.command = ibcalpha.ibc.IbcTws /Users/giacomo/ibc/USER037/config.ini USER037 c140317
java.home = /Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre
sun.arch.data.model = 64
user.language = en
java.specification.vendor = Oracle Corporation
awt.toolkit = sun.lwawt.macosx.LWCToolkit
java.vm.info = mixed mode
java.version = 1.8.0_152
java.ext.dirs = /Users/giacomo/Library/Java/Extensions:/Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
sun.boot.class.path = /Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre/lib/resources.jar:/Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre/lib/rt.jar:/Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre/lib/sunrsasign.jar:/Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre/lib/jsse.jar:/Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre/lib/jce.jar:/Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre/lib/charsets.jar:/Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre/lib/jfr.jar:/Users/giacomo/Applications/Trader Workstation 972/.install4j/jre.bundle/Contents/Home/jre/classes
java.vendor = Oracle Corporation
file.separator = /
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding = UnicodeBig
sun.cpu.endian = little
socksNonProxyHosts = local|*.local|169.254/16|*.169.254/16
ftp.nonProxyHosts = local|*.local|169.254/16|*.169.254/16
sun.cpu.isalist = 
------------------------------------------------------------
2019-05-30 09:43:35:470 IBC: Using default settings provider: ini file is /Users/giacomo/ibc/USER037/config.ini
2019-05-30 09:43:35:471 IBC: Using default login manager: getting username and password from args
2019-05-30 09:43:35:471 IBC: Using default main window manager: constructor parameter isGateway=false
2019-05-30 09:43:35:471 IBC: Using default trading mode manager: constructor parameter args but trading mode not present - will be taken from settings
2019-05-30 09:43:35:472 IBC: Using default config dialog manager
2019-05-30 09:43:35:475 IBC: CommandServer is not started because the port is not configured
2019-05-30 09:43:35:813 IBC: TWS Settings directory is: /Users/giacomo/Applications
2019-05-30 09:43:35:815 IBC: Ensuring /Users/giacomo/Applications/jts.ini contains required minimal lines
2019-05-30 09:43:35:815 IBC: Found section: [Logon]
2019-05-30 09:43:35:815 IBC: Can't find setting: s3store=false
2019-05-30 09:43:35:816 IBC: Found section: [Logon]
2019-05-30 09:43:35:816 IBC: Found setting: s3store=true
2019-05-30 09:43:35:816 IBC: Found section: [IBGateway]
2019-05-30 09:43:35:816 IBC: Found setting: ApiOnly=true
2019-05-30 09:43:35:816 IBC: Confirmed /Users/giacomo/Applications/jts.ini contains required minimal lines
2019-05-30 09:43:40:190 IBC: Detected frame entitled: Login; event=Activated
2019-05-30 09:43:40:214 IBC: Detected frame entitled: Login; event=Opened
2019-05-30 09:43:40:214 IBC: Trading mode from settings: tradingMode=live
2019-05-30 09:43:40:215 IBC: Setting Trading mode = live
2019-05-30 09:43:40:366 IBC: Click button: Login
2019-05-30 09:43:40:629 IBC: Button now disabled: Login
2019-05-30 09:43:41:328 IBC: Detected frame entitled: Authenticating...; event=Opened
2019-05-30 09:43:41:330 IBC: Detected frame entitled: Authenticating...; event=Activated
2019-05-30 09:43:43:803 IBC: Detected dialog entitled: Downloading settings from server; event=Closed
Jolt logger configuration is done.
LogModuleConfigurator-Init: Log4j Ver2.x found on classpath
LogModuleConfigurator-Init: LogModuleConfigurator initialized with Log4j Verd.x
2019-05-30 09:44:04:707 IBC: Detected frame entitled: UXXXXXX IB Trader Workstation; event=Opened
2019-05-30 09:44:04:708 IBC: Found TWS main window
2019-05-30 09:44:05:059 IBC: Detected frame entitled: UXXXXXX IB Trader Workstation; event=Activated
2019-05-30 09:44:05:064 IBC: Detected frame entitled: Starting application...; event=Closed
2019-05-30 11:30:17:191 IBC: Detected window: type=javax.swing.JWindow; event=Opened
2019-05-30 11:30:26:739 IBC: Detected window: type=javax.swing.JWindow; event=Closed
2019-05-30 11:30:26:757 IBC: Detected window: type=javax.swing.SwingUtilities$SharedOwnerFrame; event=Closed
2019-05-31 04:29:01:074 IBC: Detected frame entitled: UXXXXXX Exit Session Setting; event=Opened
2019-05-31 04:29:01:078 IBC: Click button: Update
2019-05-31 04:29:01:156 IBC: Click button: Close
2019-05-31 04:29:01:235 IBC: AutoLogoff time changed to 04:24AM
2019-05-31 07:04:47:420 IBC: Detected frame entitled: Connecting to server...; event=Opened
2019-05-31 07:11:22:100 IBC: Detected frame entitled: Starting application...; event=Closed
2019-05-31 11:26:31:989 IBC: Detected frame entitled: UXXXXXX IB Trader Workstation; event=Activated
2019-05-31 12:39:40:567 IBC: Detected frame entitled: UXXXXXX IB Trader Workstation; event=Activated
2019-05-31 12:47:38:984 IBC: Detected window: type=javax.swing.JWindow; event=Opened
2019-05-31 12:47:49:570 IBC: Detected window: type=javax.swing.JWindow; event=Closed
2019-05-31 12:47:49:603 IBC: Detected window: type=javax.swing.SwingUtilities$SharedOwnerFrame; event=Closed
2019-05-31 13:31:42:984 IBC: Detected frame entitled: UXXXXXX IB Trader Workstation; event=Activated
2019-05-31 13:31:43:904 IBC: Detected frame entitled: UXXXXXX IB Trader Workstation; event=Activated
2019-05-31 13:35:25:058 IBC: Detected frame entitled: UXXXXXX IB Trader Workstation; event=Activated
2019-05-31 13:36:35:948 IBC: Detected frame entitled: UXXXXXX IB Trader Workstation; event=Activated
2019-05-31 17:02:42:137 IBC: Detected frame entitled: UXXXXXX IB Trader Workstation; event=Activated
2019-05-31 17:03:02:353 IBC: Detected frame entitled: UXXXXXX IB Trader Workstation; event=Activated
2019-06-01 04:24:34:815 IBC: Detected dialog entitled: Shutdown progress; event=Opened
2019-06-01 04:24:34:984 IBC: Detected frame entitled: UXXXXXX Exit Session Setting; event=Closed
2019-06-01 04:24:35:795 IBC: Detected dialog entitled: Uploading settings to server; event=Closed
2019-06-01 04:24:41:196 IBC: Detected dialog entitled: Uploading settings to server; event=Closed
2019-06-01 04:25:00:578 IBC: Detected dialog entitled: Uploading settings to server; event=Closed
2019-06-01 04:25:00,585 JTS-IA Stopper-16368 ERROR Attempted to append to non-started appender d
2019-06-01 04:25:00,586 NIA-Input-Queue-2 ERROR Attempted to append to non-started appender d
2019-06-01 04:25:00,591 NIA-Input-Queue-2 ERROR Attempted to append to non-started appender d
2019-06-01 04:25:00,709 NIA-Input-Queue-2 ERROR Attempted to append to non-started appender d
2019-06-01 04:25:01:356 IBC: Detected frame entitled: Loading...; event=Closed
TWS finished

Where to enable SSL on script during login?

I would like to know on where to enable SSL on script during login and which file should be edited.

Does anyone have any suggestions?
Thanks in advance for any suggestions

Deselect "Allow connections from localhost only" in jts.ini file

@coltonbh originally created this issue on IBController (ib-controller/ib-controller#181) but copying here since I am essentially facing the same issue:

I'm trying to run the IB Gateway in a docker container (headless). One issue I'm facing is that when the gateway starts up the "Allow connections from localhost only" is selected by default, so I can only connect to the gateway if connecting from localhost, not from another docker container. I can inject "TrustedIPs" in the jts.ini file with a list of ip addresses and the gateway adds this list, but the "Allow connections from localhost only" remains selected so I still can't connect to the gateway from any other container not on the gateway's localhost.

We've circumvented this issue by using socat to fork the localhost port onto an external port that can be reached from external containers, but this has a number of undesired side effects we'd like to eliminate.

Is there a way to deselect the "Allow connections from localhost only" using the jts.ini file so the gateway can receive connections directly from other docker containers?

Prism ES2 Error - nInitialize: glXChooseFBConfig failed

Having trouble running IBC within a Docker container with gateway. I get the following error in the IBC log: Prism ES2 Error - nInitialize: glXChooseFBConfig failed. Has anyone come across something similar? I believe it might be a Java issue; I'm using Oracle Java 8 on Ubuntu 16.04. Thanks!

why no TWS GUI when I run IBController.bat using windows scheduler?

I import "Start TWS Live(daily).xml" to windows scheduler. Then I found no GUI appears, but a backend java.exe process is initiated as below pics; and I can communicate with the process using my application.
If I choose to start "IBControllerStart.bat" by double click manually. GUI does appear;

Can I know why GUI does not appear when initiated by windows scheduler?
image

IBC Task ends with error After Windows Update

Hi all,

after installing the latest windows updates over the weekend the IBC task still starts the TWS but is unable to sign in and exits with the error:

IBC: Could not login: could not find control: Use/store settings on server

it does however start without any issues when executing the bat file.

the following updates were installed:

https://www.catalog.update.microsoft.com/Search.aspx?q=KB4497936 (cumulative update for Windows 10)
https://www.catalog.update.microsoft.com/Search.aspx?q=KB4497932 (proly unrelated as it updates flash)
https://www.catalog.update.microsoft.com/Search.aspx?q=KB4495620 (also proly unrelated as it updates .NET)

any help is highly appreciated!

thanks a lot for this great product.

Andreas

Handling single popup

So Im just trying to create my own tool to handle relogin popup, I dont need whole IBC functionality. Sorry for being lazy and not reading IBC and Swing docs, but I have a few questions to sort things out

  1. How AWTEventListener is able to listen events from other application's windows? Is it because they were started from IBC?

  2. what is this line about? I dont see any import or variable or whatever with name ibgateway as well as GWClient

ibgateway.GWClient.main(twsArgs);

Handle Relogin differently than ExistingSessionDetected

In a headless scenario, it would be nice to force-disconnect any existing sessions that might still be running somewhere, possibly due to unclean termination for whatever reason.

Unfortunately, as currently implemented, ExistingSessionDetectedAction is used in both ExistingSessionDetectedDialogHandler.java and ReloginDialogHandler.java. Setting it to primary leads to the undesirable behavior documented in config.ini:

Also note that if two primary sessions are started, they will both keep reconnecting and disconnecting the other: therefore care needs to be exercised in the use of this setting."

Could this be solved by splitting ExistingSessionDetectedAction into two different settings, so that one can set ExistingSessionDetectedAction to primary but leave, say, let's call it "ReloginDialogAction", to manual or secondary?

The desired effect is for a new instance to be able to force-disconnect any existing sessions without the other sessions fighting to re-login.

Global Configuration Not Loading

I can not get to the setting "Allow Forex trading in 1/10 pips" to be loaded correctly when using IBC. To find this setting go to File/Global Configuration/Display/Ticker Row/.

If I check the box and Save Settings and then re-open Trader Workstation with IBC I see that this setting has been unchecked. I've had this problem running TWS 972, 976 and the self updating version. I've also tried using the InDir and StoreSettingsOnServer settings but no combination of TWS version and these settings works for me.

I've also played with some other settings and have found that they also aren't loaded. However the API settings all work fine when using IBC and I have no issues what so ever when running TWS manually.

Any help?

Any zip file to download IBC?

I would like to know on any zip file to download IBC or do I need to download one by one?

Does anyone have any suggestions?
Thanks in advance for any suggestions

IBC: Detected dialog entitled: API client needs write access action confirmation

When I try to place an order via API it fails with the following error:

Thu May 31 07:46:42 UTC 2018; error; 1; 321; Error validating request:-'bh' : cause - The API interface is currently in Read-Only mode.

The IBC logs say

ibcontroller_1  | 2018-05-31 00:46:43:031 IBC: Detected dialog entitled: API client needs write access action confirmation; event=Opened
ibcontroller_1  | 2018-05-31 00:46:43:032 IBC: Detected dialog entitled: API client needs write access action confirmation; event=Activated

More info:
I am running IBC inside docker in headless mode. IB Gateway version is 963, IBC version is 3.6.0. It's possible I made mistakes in porting over from IBController - but I didn't find any mention of this particular message in the source code, groups or issues, so I figure I should report it.

Full dockerfile:

FROM debian:stable-slim

RUN apt-get update && apt-get install -y \
      curl \
      unzip \
      xvfb \
      libxtst6 \
      libxrender1 \
      libxi6

RUN curl -o install-ibgateway.sh "https://download2.interactivebrokers.com/installers/ibgateway/stable-standalone/ibgateway-stable-standalone-linux-x64.sh"

RUN echo 'n' | sh install-ibgateway.sh

RUN curl -L -o ibc.zip "https://github.com/IbcAlpha/IBC/releases/download/3.6.0/IBCLinux-3.6.0.zip"

RUN unzip ibc.zip -d /opt/ibc && chmod +x /opt/ibc/*.sh /opt/ibc/scripts/*.sh

ENV IBC_PATH /opt/ibc
ENV TWS_MAJOR_VRSN 963
ENV TWS_PATH /root/Jts
ENV TZ America/Los_Angeles

COPY entrypoint.sh .
COPY jts.ini $TWS_PATH/

CMD ["./entrypoint.sh"]

Full jts.ini

[IBGateway]
WriteDebug=false
TrustedIPs=127.0.0.1
MainWindow.Height=550
RemoteHostOrderRouting=gdc1.ibllc.com
RemotePortOrderRouting=4000
ApiOnly=true
LocalServerPort=4000
MainWindow.Width=700

[Logon]
useRemoteSettings=false
Individual=1
#tradingMode=p
colorPalletName=dark
Steps=6
Locale=en
UseSSL=true
SupportsSSL=gdc1.ibllc.com:4000,true,20180529,false
s3store=true

[Communication]
Internal=false
LocalPort=0
Peer=gdc1.ibllc.com:4000
Region=us

Full entrypoint.sh:

#!/bin/bash
set -euxo pipefail

IBC_INI=$IBC_PATH/config.ini
LOG_PATH=$IBC_PATH/logs

cat > $IBC_INI <<EOF
LogToConsole=yes
FIX=no
IbLoginId=$TWSUSERID
IbPassword=$TWSPASSWORD
PasswordEncrypted=no
FIXLoginId=
FIXPassword=
FIXPasswordEncrypted=yes
TradingMode=$TRADING_MODE
IbDir=
StoreSettingsOnServer=no
MinimizeMainWindow=no
ExistingSessionDetectedAction=manual
AcceptIncomingConnectionAction=accept
ShowAllTrades=no
OverrideTwsApiPort=
ReadOnlyLogin=no
AcceptNonBrokerageAccountWarning=yes
IbAutoClosedown=no
ClosedownAt=
AllowBlindTrading=yes
DismissPasswordExpiryWarning=yes
DismissNSEComplianceNotice=yes
SaveTwsSettingsAt=
CommandServerPort=
ControlFrom=
BindAddress=127.0.0.1
CommandPrompt=
SuppressInfoMessages=yes
LogComponents=never
EOF

# Launch a virtual screen
#Xvfb :1 -screen 0 1024x768x24 2>&1 >/dev/null &
#export DISPLAY=:1

# Launch the IB Controller + IB Gateway

APP=GATEWAY
TWS_CONFIG_PATH="$TWS_PATH"

export TWS_MAJOR_VRSN
export IBC_INI
export TRADING_MODE
export IBC_PATH
export TWS_PATH
export TWS_CONFIG_PATH
export LOG_PATH
export TWSUSERID
export TWSPASSWORD
export FIXUSERID
export FIXPASSWORD
export JAVA_PATH
export APP

xvfb-run -a "${IBC_PATH}/scripts/displaybannerandlaunch.sh" &

sleep 1

tail -f $LOG_PATH/*

Full log

ibcontroller_1  | + xvfb-run -a /opt/ibc/scripts/displaybannerandlaunch.sh
ibcontroller_1  | +==============================================================================
ibcontroller_1  | +
ibcontroller_1  | + IBC version 3.6.0
ibcontroller_1  | +
ibcontroller_1  | + Running GATEWAY 963
ibcontroller_1  | +
ibcontroller_1  | + Diagnostic information is logged in:
ibcontroller_1  | +
ibcontroller_1  | + /opt/ibc/logs/ibc-3.6.0_GATEWAY-963_Thursday.txt
ibcontroller_1  | +
ibcontroller_1  | +
ibcontroller_1  | + tail -f /opt/ibc/logs/README.txt /opt/ibc/logs/ibc-3.6.0_GATEWAY-963_Thursday.txt
ibcontroller_1  | ==> /opt/ibc/logs/README.txt <==
ibcontroller_1  | You can delete the files in this folder at any time
ibcontroller_1  | 
ibcontroller_1  | You'll be informed if a file is currently in use.
ibcontroller_1  | 
ibcontroller_1  | ==> /opt/ibc/logs/ibc-3.6.0_GATEWAY-963_Thursday.txt <==
ibcontroller_1  | 2018-05-31 00:55:04:902 IBC: CommandServer is not started because the port is not configured
ibcontroller_1  | 2018-05-31 00:55:05:030 IBC: TWS Settings directory is: /root/Jts
ibcontroller_1  | 2018-05-31 00:55:05:031 IBC: Ensuring /root/Jts/jts.ini contains required minimal lines
ibcontroller_1  | 2018-05-31 00:55:05:031 IBC: Found section: [Logon]
ibcontroller_1  | 2018-05-31 00:55:05:031 IBC: Can't find setting: s3store=false
ibcontroller_1  | 2018-05-31 00:55:05:031 IBC: Found section: [Logon]
ibcontroller_1  | 2018-05-31 00:55:05:032 IBC: Found setting: s3store=true
ibcontroller_1  | 2018-05-31 00:55:05:032 IBC: Found section: [IBGateway]
ibcontroller_1  | 2018-05-31 00:55:05:032 IBC: Found setting: ApiOnly=true
ibcontroller_1  | 2018-05-31 00:55:05:032 IBC: Confirmed /root/Jts/jts.ini contains required minimal lines
ibcontroller_1  | 2018-05-31 00:55:06:795 IBC: Detected frame entitled: IB Gateway; event=Opened
ibcontroller_1  | 2018-05-31 00:55:06:796 IBC: Setting Trading mode = paper
ibcontroller_1  | 2018-05-31 00:55:06:849 IBC: Detected frame entitled: IB Gateway; event=Activated
ibcontroller_1  | 2018-05-31 00:55:06:855 IBC: Click button: Login
ibcontroller_1  | 2018-05-31 00:55:07:338 IBC: Detected frame entitled: IB Gateway.  API Account: <redacted>; event=Activated
ibcontroller_1  | 2018-05-31 00:55:07:340 IBC: Detected frame entitled: IB Gateway.  API Account: <redacted>; event=Opened
ibcontroller_1  | 2018-05-31 00:55:07:340 IBC: Found Gateway main window
ibcontroller_1  | 2018-05-31 00:55:07:898 IBC: Detected frame entitled: Connecting to server ( trying for another 19 seconds)...; event=Opened
ibcontroller_1  | 2018-05-31 00:55:07:909 IBC: Detected frame entitled: Connecting to server ( trying for another 19 seconds)...; event=Activated
ibcontroller_1  | LogModuleConfigurator-Init: Log4j Ver2.x found on classpath
ibcontroller_1  | LogModuleConfigurator-Init: LogModuleConfigurator initialized with Log4j Verd.x
ibcontroller_1  | 2018-05-31 00:55:14:821 IBC: Detected frame entitled: Starting application...; event=Closed
ibcontroller_1  | 2018-05-31 00:55:14:839 IBC: Detected dialog entitled: Warning; event=Opened
ibcontroller_1  | 2018-05-31 00:55:14:839 IBC: Click button: I understand and accept
ibcontroller_1  | 2018-05-31 00:55:14:932 IBC: Detected dialog entitled: Warning; event=Closed
ibcontroller_1  | remove Client 1
ibcontroller_1  | 2018-05-31 00:55:25:580 IBC: Detected dialog entitled: API client needs write access action confirmation; event=Opened
ibcontroller_1  | 2018-05-31 00:55:25:596 IBC: Detected dialog entitled: API client needs write access action confirmation; event=Activated

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.