User:Nasdack/Thinkorswim

From ArchWiki

Thinkorswim by TD Ameritrade (branded as "thinkorswim" and often referred to as "tos") is a trading platform for stock, options and futures traders.

Installation

The factual accuracy of this article or section is disputed.

Reason: Installing by running installer scripts directly is messy and insecure. Make and install a PKGBUILD instead, even better upload it to the AUR, see also Java package guidelines. (Discuss in User talk:Nasdack/Thinkorswim)

While no official support exists for Arch Linux specifically, there is a broad installation approach for most Linux distributions.

Install zulu-11-binAUR before proceeding. On its download page, thinkorswim recommends Zulu OpenJDK 11 to run.

Download the thinkorswim installation script, or get it by following the instruction given in the official website.

Execute the script by running:

$ sh thinkorswim_installer.sh

When prompted, it is recommended to install thinkorswim into your /home/$USER/thinkorswim directory to avoid permissions issues, rather than /opt/thinkorswim.

Java environment versioning

Setting default environment

According to the official download page, thinkorswim needs zulu-11-binAUR to run, which can be set as default by executing

$ archlinux-java set zulu-11

Explicitly configuring non-default environment

In case it it's not desirable to set zulu-11-binAUR as default java environment, it's possible to directly edit the ~/thinkorswim/thinkorswim startup shell script and provide path to JVM via environment variable INSTALL4J_JAVA_HOME_OVERRIDE:

#!/bin/sh

# Uncomment the following line to override the JVM search sequence
INSTALL4J_JAVA_HOME_OVERRIDE=/usr/lib/jvm/zulu-11
# Uncomment the following line to add additional VM parameters
# INSTALL4J_ADD_VM_PARAMS=

Configuration

Since thinkorswim is a Java application, creating a .desktop file in /.local/share/applications or /usr/share/applications is recommended as it enables application indexing.

Here is an example configuration. Replace the $USER parameter with your own username.

[Desktop Entry]
Type=Application
Name=thinkorswim
GenericName=Trading platform
Comment=Trading platform
Icon=thinkorswim
Exec=env app_java_home=/usr/lib/jvm/zulu-11 /home/$USER/thinkorswim/thinkorswim 
Path=/home/$USER/thinkorswim
Terminal=false
StartupNotify=true
Categories=Java;


Troubleshooting

If thinkorswim hangs on "installing updates" when starting up, configuring the system with some additional name servers to the system, e.g. Google's name servers, may resolve the issue.