Client Portal Login Failure using Safari as Browser


Most recent versions of web browsers contain a feature which prompts users to save their user name and password when logging into various sites on the Internet. While convenient in practice, this feature introduces a significant security risk in that it allows anyone with access to the computer to log into those sites where the password has been saved.

Many sites that deal with highly sensitive information, including the Client Portal, have controls which do not allow this feature to be utilized. While most browsers such as Mozilla Firefox, Internet Explorer and Google Chrome allow for such controls, others such as Apple's Safari do not.

As a result, Safari users who attempt to use the password save feature may experience log in failures on future log in attempts.



Should this log in failure occur, you will need to remove the saved login credentials. To remove the login credentials, follow these steps:

1) When Safari is in the foreground, click on the menu Safari --> Preferences
2) Click on the icon AutoFill on the toolbar
3) Click on the button Edit... next to "User names and passwords" (see Figure 1.)

                Figure 1.

4) Locate the line related to the Client Portal web site and select it (see Figure 2.)

                Figure 2.

5) Click on the button Remove (see Figure 3.)

                Figure 3.

6) Close and reopen Safari. You should now be able to log in . Upon log in you will be prompted whether to save user/pass again for the website. Please answer “Never for this website” or "Not now".

When and how should I increase the memory allocation for TWS?

Java Virtual Machine memory allocation

The Trader Workstation is a Java-based application. As any other Java applications, it executes within a Java virtual machine (JVM) which manages the interactions between the program and the underlying Operating System (OS).

The memory (RAM) which is allocated by the operating system to the JVM constitutes the heap space. That is the area where all the class instances and arrays needed by the application are allocated. The heap space is created when the JVM is started and it is dynamically freed-up by the Garbage Collector (GC), the Java memory manager. When the need arises, the Garbage Collector is invoked to free up the heap space by unloading Java classes and other code structures no longer used by the application.

If the heap space is undersized, the Garbage Collector may not be able reclaim memory at the needed pace or may have to be called too often, draining the processor (CPU) resources. When this happens, the application may slow down, be unresponsive or even crash completely.

To ensure a smooth TWS run, it is therefore sometimes necessary to change the memory allocation, according to the layout complexity and the needs of the application itself.

In which case I should change the TWS memory allocation?
If your TWS layout contains a considerable number of elements (Analytical/Trading Tools, Chart windows, News panels, Watchlists, Layout tabs...) and your platform is slow or poorly responsive, you may want to increase the memory allocation in order to achieve better performances. If your TWS freezes or crashes, we also recommend increasing the heap space as the first corrective action to attempt. 
How much memory should I allocate to TWS?
In general we recommend to start with a conservative memory allocation and test the TWS performances with that set up. If the performances improvement is less noticeable then expected or not yet satisfactory, you can switch gradually to higher values until you find the best fit for your platform.
Please consider the following:
  • The memory you allocate to the TWS has to be available on your system. For details, please see Note 1. Allocation values above 2048 are not supported by 32-bit OS. For details, please see Note 2. 
Considering the above, we suggest to initially reserve 1.5 GB of system RAM the TWS, as explained in the guide below.
This amount of free memory is usually available on any modern computer and should be a good fit for most of the cases. Should you still notice slowness, freezing or crashes during the TWS execution, you can raise the value to 1792.
In any case, we do not recommend to set the value above 2048 since this will produce an unnecessary overhead and may thus even decrease the overall performances of the application.


How can I change the memory allocation for the TWS?

Please follow one of the links below for the instructions, according to the Operating System and TWS release you are using

     Any Operating System
     B.1 Your Operating System is Windows      
     B.2 Your Operating System is Mac OS




A. TWS version 972 and higher

The steps below are valid for all Operating Systems
1) In the TWS, click on the top menu File (or Edit if you are using Classic TWS) and select Global Configuration...

2) On the left side menu of the Global Configuration panel, click on General

3) In the panel on the right side, in the Memory Allocation field, replace the existing value with 1536

4) Click on Apply and then on OK

5) Shut down the TWS

6) Launch the TWS with a double click on the Desktop shortcut Trader Workstation (Should you receive an error message, please see Note 3.

Back to top 



B. TWS versions previous to 972

B.1 Your Operating System is Windows

1) Close TWS in case it is running

2) On your keyboard, press WIN+R (the WIN key is the key with the windows flag located on the left side of tour keyboard,  between the keys CTRL and ALT) 
3) Type C:\Jts\tws.vmoptions and Click OK
4) Should the system ask you which program to use to open the file, select Notepad and click OK
5) Cut the line -Xmx768m and paste it below the line ### Keep on update
6) Change then the value of the parameter Xmx from 768 to 1536
7) Save the changes by clicking on the top menu File --> Save
8) Close the file clicking on the X icon on the right side of the toolbar
9) Launch the TWS with a double click on the Desktop shortcut Trader Workstation (Should you receive an error message, please see Note 3.

Back to top 



B.2 Your Operating System is Mac OS
1) Close the TWS if it is running
2) Use the Spotlight search (the magnifier glass on the top right of your Desktop) to find the file tws.vmoptions
Normally the file is located within the Jts folder (a subfolder of your home folder)

3) On the Spotlight results panel, click on tws.vmoptions to open it. Should the system ask you how to open this file, click Choose Application... select  a text editor (TextEdit, Smultron, TextWrangler...) of your choice and click Open
4) Locate the line -Xmx768m. Cut it and paste it below the line ### Keep on update
6) Modify the value 768 in to 1536
7) Save and close the file

8) Launch the TWS with a double click on the Desktop shortcut Trader Workstation (Should you receive an error message, please see Note 3.

 Back to top 





1. Available system RAM
In order to check the amount of available system RAM on your computer, you can:
 - on Windows: use the key combination CTRL+SHIFT+ESC to start the Task Manager, click on the tab Performance and look for the "Available" Physical Memory. This will tell you the amount of unoccupied RAM in MB (1024 MB = 1GB)
- on Mac OS: Open Finder, go to Application --> Utilities and open Terminal. In the terminal type the command:
sudo purge
and press Enter. The system may ask you to enter your Mac user password. Enter the password. Once the command has completed, type the following command:
top -l 1| grep PhysMem
The "unused" value will tell you the amount of unoccupied RAM in MB (1024M = 1GB)



 2. Limitations of 32-bit Operating Systems
Please notice that 32-bit Operating Systems can normally only address a maximum of 2 GB of RAM per process (see table below for details). Because of this OS architecture limitation, if you have a 32-bit OS, the maximum memory allocation for the TWS must not exceed 2048 Mb.


3. Error: "Could not create the Java Virtual Machine"
This error may be displayed upon TWS startup if you set the memory allocation to a value higher than the available RAM of your system or if you set it higher than 2048 on a 32-bit Opertaing System. To overcome the error, you would need to decrease the memory allocation to a lower value using this procedure

Back to top 


Order Management Overview


IBKR’s order management and routing systems are negatively impacted when the volume of orders submitted by clients is significant relative to those which are actually executed. Left unchecked, unproductive orders have the potential to slow system performance, adversely impact other clients and increase capacity requirements and costs. To minimize the load of such orders on internal systems and to comply with exchange policies, certain of which impose a surcharge for excessive messages, IBKR  monitors order activity and may place restrictions upon clients who routinely submit a disproportionate number of unproductive orders.
The Order Efficiency Ratio (OER) allows IBKR to evaluate order productivity by comparing aggregate daily order activity relative to that portion of activity which results in an execution. This ratio is as follows:
OER   =   (Order Submissions + Order Revisions + Order Cancellations) / (Executed Orders + 1)
An OER above 20 is generally considered excessive and indicative of inefficient order management logic. Clients who routinely report an OER above 20 will receive notification of their ratio and are advised to review and optimize their logic and those who fail to take action or who report a particularly egregious ratio may be subject to trade restrictions.1
Clients submitting orders through an API can often realize significant declines in their OER through slight modifications to their order logic.  Please review KB1765 for a list of the most common techniques for optimizing this ratio.  
1 It should be noted that these actions are not aimed at the client who submits 200 orders and receives 10 executions but rather those using automated systems to submit thousands of orders with negligible interaction with the NBBO.


Syndicate content