Why is it needed?
AutoTrader Web is HTTP Rest API used for multi-client multi-broker automated trading. Directly using HTTP Rest APIs in code requires development expertise. So to make the process easy for our users, we provide programming specific libraries. These libraries are easy to use and any developer with basic programming skills can use it.
Most programming languages that come along with charting software do not have good support for execution of HTTP request. Hence we have built an easy to use communication mechanism, which uses plain text csv (comma separated value) files for communication. The Desktop Client is responsible for reading and writing to these files.
So programming languages with limited or no support for making HTTP requests can write commands to these csv files and then Desktop Client will execute these commands (Example, place/modify/cancel orders etc.).
When to use it?
It should be used when you are using following libraries provided by us:
- AmiBroker library
- Excel library or tools
- MetaTrader library
If you have coded your trading strategy in a programming language for which we do not provide built-in library and it does not have good support for making HTTP requests, then you can use the Desktop Client.
How to install?
You can simply download AutoTrader Desktop Client. There is no need to install it, just keep on your desktop and directly run it. This client can be run on any operating system (windows, mac, linux or ubuntu).
Java
This step is optional for windows client users. The client will automatically ask you to install Java (if it is not already present on your system). In case you are not able to download Java, please download it from here. Once Java is installed, you can start at-desktop client.
Windows
Windows users can download the setup from here.
All Operating Systems
Non-Windows users can download the setup from here. The file is self-executing JAR. You can directly run it.
Note: You must have java installed on your pc in order to run the client. Click here to install Java.
Please take a look at the notes given below:
Notes
- You need to have java 8 or higher installed on your PC. Download java 8.
- In case you are not able to start it. Just run following command from your command terminal:
- java -jar at-desktop.jar
- Mac OS: You need to give permission for the app to run
- Go to [System Preferences -> Security & Privacy]
- Select [General] tab
- Click the Lock icon to unlock settings
- Tick allow apps downloaded from: [App store & identified developers]. See image below:
- For more details on how to allow apps, see this link
How to upgrade?
Once a client is installed, it will display a message at the bottom of the screen whenever there is a new version available.
It is highly recommended to upgrade your client when a new version is available. The procedure is as follows:
- Delete the existing client
- Download the latest version from the setup links given above
- Just start using it (the client automatically loads it’s settings which are saved on your computer)
Usage
Setup
This is a one time activity.
- Start the desktop client & go to settings tab
- Click the change button next to API Key
- You can find your API Key in AutoTrader Web (Settings -> API Key)
- Enter your API Key & click Save
Trading
Everyday when you start your trading, you need to do the following:
- Start the desktop client
- Click Monitor button
This will make sure that desktop client is listening to your commands.
To stop trading, simply click Stop button on Dashboard tab.
Settings
You can find client’s settings under the Setting tab.
- Secret API Key – This is used for authentication & you can find this key on AutoTrader Web menu (Settings -> API Key)
- Communication Folder – The folder in which the communication (input & output) files will be created
- AmiBroker Library – A button to install AmiBroker library
- MetaTrader Library – A button to install MetaTrader library
- AutoTrader Server – We have two servers. We recommend to use PRIMARY. If there is a problem with PRIMARY server, we will notify users to use BACKUP.
- Portfolio Read – Whether to read live portfolio and write it to output files, so that your programs (like strategies etc.) can read those details. If you are using Excel tools and not reading live portfolio data, then it is recommended to keep it OFF.
- Portfolio Read Interval – How often portfolio is read. The system can override this value to avoid hitting API limits.
- Monitor on Startup – The client will automatically start monitoring on startup
- Beep – You’ll hear a beep sound whenever the client receives a new command
- Parallel Order Execution – The client executes orders in parallel. This improves performance when you are using multiple accounts. When at-desktop receives multiple orders in back-to-back, it then executes them in parallel (instead of sequential). This however does not guarantee that the orders will be executed in a sequence in which they were received. Sometimes it is important for the users to execute the orders in the sequence in which they are placed (for example, option strategy can need sequential execution of orders to avoid hitting higher margins). In such cases, you should turn in OFF.
- Worker Thread Count – How many workers to use in parallel processing. Increasing the count can help speed up processing, especially if you are sending bulk orders in multiple accounts.
Connecting from other languages
If your trading strategy is coded in a programming language that does not have good HTTP support then you can use this Desktop Client.
Client Home Directory
This is the location where Desktop Client keeps it’s csv files that are used for communication. You can modify this path form settings.
Default Path: $USER_HOME_DIRECTORY/autotrader
Example: C:\Users\<username>\autotrader
User home directory path differs from one operating system to another.
Input Files
This file is read by the desktop client as soon as it changes. So all of the commands are read from this file. Example, if you want to place/modify/cancel an order, then write the details in this file in comma separated value format.
Input Directory: $CLIENT_HOME_DIRCTORY/input
Input Files: commands.csv
Important: You must write a newline character (Enter) at the end of each line.
Output Files
The desktop client continuously polls live portfolio snapshot (orders, positions, margins) from AutoTrader server. It writes those details in following files in a csv format.
Note: Each pseudo account will have it’s own separate files.
Important: These files are only generated when “Portfolio Read” setting is set to ON in at-desktop settings.
Output Directory: $CLIENT_HOME_DIRCTORY/output
Output Files:
- <pseudo_account>-margins.csv
- <pseudo_account>-orders.csv
- <pseudo_account>-positions.csv
- <pseudo_account>-summary.csv
Logs
The logs are present at C:\Users\<win-user>\autotrader\logs