TradeBullet User Guide

Overview

Introduction

TradeBullet is the simplest automation tool for traders.  It is a bridge application that manages the connection to your broker and routes the orders received from popular charting applications. You can trade your TradeStation, eSignal, MetaTrader4, MultiCharts strategies and thousands of Collective2 systems completely hands-free.  TradeBullet supports all applications that can write to text files or use external dll functions.

 
Enjoy the freedom to trade at Interactive Brokers.

Back To Top

Key Features

  1. Automated trading of Collective2 systems
  2. Fully automated TradeStation9.x support – no modification to the strategy is needed
  3. Very easy to use
  4. Reliable: TradeBullet is built on an industrial-strength framework
  5. Extremely fast: handles up to 50 orders per second
  6. Supports trading in multiple accounts simultaneously
  7. Powerful order types, including direct ECN routing
  8. Auto-login and automatic reconnection to the broker
  9. Integrated order-entry screen
  10. Integrated Simulator account
  11. Duplicate order protection. This is a major feature for TradeStation traders.

Back To Top

Technical Support

TradeBullet offers free support via our technical support forum and email.

If you have any questions, comments or suggestions about TradeBullet, try the forum first as your question may already have been answered.

We don’t provide support by phone. Please post your question on the forum and you will get a prompt reply.

Back To Top

Installation Guide

System Requirements

TradeBullet 3
·              2 GB RAM or better
·              500 MB of free hard disk space
·              Windows 7, 8 or 10 with the latest service packs (Please install .Net 4.5 or later if you use Windows 7)

Back To Top

TradeBullet3 Installation

1. Download the installation package from the Purchase page (you can choose  Free Trial).
2. Launch the TradeBullet installation package you downloaded:
msi1
3. Accept the End-User License Agreement:
 msi2
4. Select the installation path. We recommend using the default path:
 msi3
5. Click on Next and TradeBullet will be installed.
6. Click Finish to complete the TradeBullet installation
 msi5

Back To Top

Main Window

Quick Tour

main_window

1.     The account name appears here when connected to the broker.
2.     Click this button to cancel all open orders.
3.     Click this button to close (flatten) all open positions.
4.     Click this button to display the Order Entry window to place trades.
5.     This is the Broker Grids section.  All data displayed in these tabs comes from the broker.
6.     This is the TradeBullet Grids section.  All orders displayed in these tabs come from TradeBullet before they are transmitted to the broker.
7.     The connection status indicator.

Back To Top

Log Levels

TradeBullet has 3 log levels:

Normal: this logs trading activity and connection status.

Advanced: this level logs much more details and should only be used when requested by the TradeBullet support team.

Insane: this level logs so much details it can slow down your computer to a crawl. It should only be used when requested by the TradeBullet support team.

loglevel

Back To Top

Broker Grids

These grids display information that comes from the broker.
open_orders

Back To Top

TradeBullet Grids

The bottom grid contains messages that are internal to TradeBullet.

Messages
All messages relating to the broker connection are sent here.  This includes disconnections, reconnections and log-in messages. If the connection is lost, TradeBullet will try to reconnect automatically.
connectiongrid
Right-clicking on a message will bring up a menu that will allow you to delete one or all messages.
 
Queued Commands
These are the orders or API commands that have been read by TradeBullet and are awaiting further processing.  Once an order has been read, the file or email is deleted. Usually, this area will be empty unless AutoTrade is OFF or TradeBullet is disconnected from the broker.
queuedcmds
Invalid Commands
Orders rejected by TradeBullet will be sent here with a message indicating why the order is invalid.
invalidcommands
 Right-clicking on an order will bring up a menu that will allow you to delete one or all invalid orders.

Back To Top

Sessions

General

A session contains a broker connection, and optionally one or more modules. TradeBullet allows you to setup as many sessions as you need.
The following modules are available:

  • TradeStation Module: allows you to send orders from any TradeStation strategy to your brokerage account without any extra coding.
  • Collective2 Module: allows you to Autotrade any Stock, Futures and Forex strategy available on Collective2.com in your brokerage account.
  • API Module: Allows you to send orders from MetaTrader4, MultiCharts, eSignal, TradeStation Easy Language, Excel and most other charting programs. Status Files Module: Allows you to import account, position and order data into your custom application.

Back To Top

Simulator

You enable or disable the Tb Simulator account for each session separately from TB|Sessions|Manage|Modify

Back To Top

Automatic Login

This feature allows you to configure TradeBullet so it logs-in to your choice of session when TB is launched. You can reach it from TB|Tools|Settings


In this example, session “New Session” will be started at 1:05AM and stopped at 23:59  every day.

Back To Top

Interactive Brokers Setup

For Interactive Brokers using Trader Workstation: first, you should download the offline 64-bit TWS and install it. The online version has no API (programming hook) and it cannot be launched by TB3.

  1. Check “Enable ActiveX and Socket Clients”
  2. Uncheck “Read-Only API”
  3. Enter the available socket port. The default socket port is 7497
  4. Check “Allow connections from localhost only” or uncheck this option and create your “Trusted IPs” list
 twsapi
If you have checked “Enable ActiveX and Socket Clients” for the first time you will be asked to allow access by Windows Security Alert. Check the required networks and click “Allow access”:
 twsfire
To create a session, do the following:

  1. Select the Menu item Sessions -> Manage
  2. Click New
  3. Enter the session name. If you often use this session, check ‘Make visible in the Connect menu’. Enter Note if necessary.
  4. Click the Broker button
  5. Click the ‘…’ button to select a broker.
  6. Select IB Adapter. Click OK.
  7. Change IB Adapter options if necessary.
  8. You also need to set the path to TWS so TB can find it. On most computers, TWS is installed in a subfolder of C:\jts
  9. Click OK to save the session.
  10. Now in the Sessions list you can see your session. Click Connect to connect to TWS. If you check ‘Make visible in the Connect menu’ you can open your session from Sessions -> Connect -> ‘Your Session Name’.

Back To Top

Collective2

Collective2 Setup

We suggest connecting to a live account to get live quotes and use the TradeBullet SIM account to get a more realistic simulation.

 

  1. Setup the C2 side first, see https://support.collective2.com/hc/en-us/articles/115006511607-How-to-setup-TradeBullet-with-C2
  2. Setup your Broker Session. See this section of the TB User Guide.
  3. Add the Collective2 Module by clicking on the “AutoTrading” Button, then Add C2 Module
  4.   

  5. Select the appropriate account to which the C2 orders will be sent. We strongly suggest to use the TradeBullet SIM account until you are comfortable

 

Back To Top

TradeStation

TradeStation9 Setup

To automate your TradeStation 9.x strategies (let’s call it TS), please follow the following steps.

  1. Open the TS TradeManager window.  It is reachable through the left-side icons list, under the TradingApps section.
  2. TradeStation - TradingApp menu

  3. From the TradeManager Window, right-click and select TradeManager Preferences.
  4. tradestation-trademanager-menu

  5. Enable email notification for Strategy Active, Strategy Canceled, Strategy Replaced and Strategy Filled. You can also enable the other email types if you use the TS Matrix to manually trade.
  6. tradestation-notifications-setup

  7. Click on the Configure button to open the messaging window and enter your email addresses.  It is very important to enter LOCALHOST in the SMTP server nameDo not enter your real ISP SMTP server here because the emails must not be sent out to the internet. Starting with TradeStation 9.1, you must also check the “SMTP Server requires encryption” box, and enter any values in the username & password fields. The values are not important but something must be typed in those fields or TS will not send the emails.
  8. tradestation-smtp-setup

  9. Now click on the Test button. You should see a window pop up as below and a confirmation in TradeBullet. If you get an error, make sure TradeBullet is connected to your broker and that the TradeStation module is active on port 25 as specified above.
  10. tradestation-email-test

  11. Set the chart(s) you want in this workspace to send orders to TradeBullet by right-clicking on a chart, then select Format Strategies.  Check the “Generate strategy orders to display …”  box.  Do not check the “Automate execution using” box if you do not want to trade at TradeStation Securities.
  12. tradestation-format-strategy

  13. Name your workspace(s) appropriately. Otherwise, TradeBullet will ignore the orders.
  14. That’s it, you’re ready!
    Useful Tip
    If you use trailing stops, it is strongly recommended that you use the “Keep latest order” option and that you add the Strategy Name parameter to the workspace. Otherwise, you will end up either with multiple stops or the new stops will be rejected.
    keep-latest-orders

Back To Top

TradeStation Workspace Naming

 

Tradebullet needs a few parameters to be present in the workspace name.

The TradeStation workspace name must contain the word ‘TradeBullet‘ or it will be ignored by TradeBullet. This allows you to run strategies in TradeStation that are not ready to be Autotraded, and some that are. TradeBullet will only Autotrade those that have this parameter in their TradeStation workspace name.

 

 

That’s all you really need. TradeBullet will map all TradeStation Futures and Forex symbols to TradeBullet symbols automatically for you.
Optional Parameters
These workspace fields are optional:
1. the text [‘Symbol=’] [the TradeBullet symbol to trade] [‘!’] 2. the text [‘Exchange=’] [the TradeBullet exchange name] [‘!’] 3. [‘Account=’] [the desired account name] [‘!’] – overrides the default account
4. [‘QtyMult=’] [the quantity multiplier] [‘!’] – overrides the default quantity multiplier
5. [‘System=’] [your system name] [‘!’] – overrides the system name sent by TS. Useful for stop orders with default system names.

The brakets [] and apostrophies are only for clarity; do not use them in your workspace name. Notice the last exclamation character ‘!‘, it is mandatory after a parameter, but not after ‘TradeBullet’.
Example: SuperDuper Symbol=ESH17!Exchange=CME!TradeBullet Account=U12345!QtyMult=3!

Custom Symbol Mapping

You can override TradeBullet’s default symbol mappings and remap any TradeStation symbol to any TradeBulelt symbol. (e.g. you could have a system running on a @ES chart and send signals to @NQZ17. Why you would want to do that I don’t know but it’s supported!)

To determine the correct Symbol and Exchange, please use the TradeBullet Order Entry window and send a few orders to the Simulator account to familiarize yourself with our naming convention.

Please note that there can only be one symbol and one exchange specified per workspace. In practice, this means you should group your charts by symbol class and by exchange. There is another way to work with workspace: if you don’t specify the symbol and exchange in the workspace name, TradeBullet will use the symbol defined in Tools->Symbol Mapping.
Some examples:

Workspace charts:Only YMH17 chart(s)
Workspace name SuperDuper TradeBullet Symbol=YMZ17!Exchange=ECBOT!

Workspace charts:Only @ES chart(s), all traded on exchange Default
Workspace name SuperDuper Symbol=ESH17! TradeBullet

Workspace charts:Any number of stock charts, all traded on exchange Default
Workspace name SuperDuper TradeBullet

Workspace charts:Any number of stock charts, all traded on exchange Island
Workspace name TradeBullet SuperDuper Exchange=Island!

Workspace charts:Any number of stock charts, all traded as MSFT and traded on exchange Default
Workspace name Symbol=MSFT! SuperDuper TradeBullet

Workspace charts:Any number of stock charts, all ignored by TradeBullet
Workspace name SuperDuper Symbol=MSFT!

Workspace charts: ESH17 and YMH17 and EURUSD
Symbol mappings: nothing special to do!
Workspace name SuperDuper TBullet A=xyz!
Abbreviations
You may use abbreviated versions of the fields:
TradeBullet -> TBullet
Symbol= -> S=
Exchange= -> E=
Account= -> A=
QtyMult= -> Q=
System= -> Sn=
Useful Tips
If you create a folder named TradeBullet and place your workspaces there, you can avoid using the fields “TradeBullet’ or ‘TBullet’ because the word TradeBullet will already be in the file path (e.g. C:\TradeStation\TradeBullet\SuperDuper S=MSFT!.orw)

Back To Top

Registration

Initial Registration

When you first launch TradeBullet on a new computer, you will be asked to enter your license key which is sent to you by email after you register on the Purchase page. Simply copy & paste the license key from your email to TradeBullet.

Your TradeBullet license key can be installed on multiple computers. However, you will only be able to use it on one computer at a time. If you need a license key that works on multiple computers concurrently, please contact us and we will create a custom license for you.

Back To Top

Free Edition

The TradeBullet Free Edition allows you unlimited trading in a Simulated account. It does not expire. Click here to request your Free Edition today!

 

Back To Top

API

API

API

The most powerful way to send orders to TradeBullet is through the API.  You can send orders from any application that supports external DLL functions.
 
You can also get account, order status, execution and position information for real-time risk management in your strategy.
 
The API file includes the documentation and examples in various scripting and programming languages.
 
You can download it from here

How to Configure the API

Add two modules (Status Files Module and TradeBullet API Module) to your session. To do that, click the Auto Trading button in the Session Details window. Both modules must be set up to the same folder. In this example, they are set up to the C:\TB3API\ folder, but you can choose any folder.  You also have to call the TB2_SetFolder function with this same folder (C:\TB3API\). Both modules must be set up for the same folder for the API to work.
 

Back To Top

Status Files

Connection.csv

Status Files are updated in real-time by TradeBullet. They are located at %UserProfile%\Documents\TradeBullet\StatusFiles

They can be read by your custom software to see open order status, connection status, etc from other applications without the need to use our API. The files are backward-compatible with TB2. Be sure to not lock the files as TB needs to write to them often.


The connection.csv file contains the time and connection status. 
It is updated every second as long as TradeBullet is running, and can thus be used as a heartbeat file to determine programmatically if TradeBullet is running.

Fields
Values
Time
MM/DD/YYYY HH:MM:SS
Connection Status
Disconnected, Connecting, Connected, ConnectionLost

Back To Top

Positions.csv

This file contains all the currently open positions for the account. 

It is updated when the connection status changes to connected and when  the broker reports a fill.
Fields
Values
Account
Account name
Symbol
Symbol name
Exchange
Exchange name
Quantity
Open quantity.  Negative means short.
Avg Price
Average fill price

Back To Top

Executions.csv

This file contains all the executions for the day. 

It is updated when the connection status changes to connected and when  the broker reports a fill.
Fields
Values
Time
MM/DD/YYYY HH:MM:SS
Account
Account name
ExecutionId
Broker ExecutionId
OrderId
Broker OrderId
Symbol
Symbol name
Exchange
Exchange name
Quantity
Filled quantity
Avg Price
Average fill price
TradeBulletId
TradeBullet Id assigned at order creation

Back To Top

Accounts.csv

This file contains the list of accounts available. It is updated only when the connection status changes to connected.

Field Name
Value
None
Account name (or number)

Back To Top

Orders.csv

This file contains all the order for the day.

It is updated when the connection status changes to connected and when  the broker reports an order status change.
 
Orders rejected by TradeBullet without being sent to the broker appear in the InvalidOrders.csv file.
Fields
Values
Time
MM/DD/YYYY HH:MM:SS
Account
Account name
TradeBulletId
TradeBullet Id assigned at order creation
OrderId
Broker OrderId
Symbol
Symbol name
Exchange
Exchange name
Action
Action type (e.g . Buy, Sell, Buy to Cover, Sell Short)
Quantity
Order quantity
Filled
Quantity filled
Order Type
Type of order (e.g. Market, Stop, Stop Limit, Limit)
Stop
Stop price, zero if order type is not Stop or Stop Limit
Limit
Limit price, zero if order type is not Limit or Stop Limit
Duration
Day or GTC
OCA Group
User-defined string representing a group, empty if none
Strategy
User-defined strategy name, empty if none
Avg Price
Average fill price, zero if none filled
State
Last known order state

Back To Top

InvalidOrders.csv

This file contains all the invalid orders for the day.  An order is deemed invalid by TradeBullet when one of its fields is invalid so it cannot be submitted to the broker.

 
Orders rejected by the broker are called Rejected orders and they appear in the Orders.csv file with a State=Rejected.
 
It is updated before the order is sent to the broker.  TradeBullet must be connected to a broker and AutoTrade must be enabled or the order will stay in the Queued Orders grid.
Fields
Values
Time
MM/DD/YYYY HH:MM:SS
Account
Account name
TradeBulletId
TradeBullet Id assigned at order creation
Command
TradeBullet Command
Symbol
Symbol name
Exchange
Exchange name
Action
Action type (e.g . Buy, Sell, Buy to Cover, Sell Short)
Quantity
Order quantity
Filled
Quantity filled
Order Type
Type of order (e.g. Market, Stop, Stop Limit, Limit)
Stop
Stop price, zero if order type is not Stop or Stop Limit
Limit
Limit price, zero if order type is not Limit or Stop Limit
Duration
Day or GTC
OCA Group
User-defined string representing a group, empty if none
Strategy
User-defined strategy name, empty if none
Message
Rejection message

Back To Top

Statistics.csv

This file contains the latest account statistics.  Not all brokers report these fields.

It is updated when the connection status changes to connected and when  the broker reports an account stats change.
Fields
Values
Time
MM/DD/YYYY HH:MM:SS
Account
Account name
Cash
Cash value
Buying Power
Buying power
Excess Equity
Excess Equity
Net Liquidation
Net Liquidation
Realized Profit
Realized Profit
Initial Margin
Initial Margin
Initial Margin Overnight
Initial Margin Overnight
Maintenance Margin
Maintenance Margin
Maintenance Margin Overnight
Maintenance Margin Overnight
UnrealizedProfitLoss
The unrealized profit/loss (if provided by broker)
AUD
The total cash balance held in AUD
GBP
CAD
EUR
HKD
JPY
CHF
USD
 

Back To Top

Reference

How to Enter Symbols

TB3 symbols are the native exchange symbols, so the E-Mini June 2017 would be ESM17, Microsoft would be MSFT and the Euro-Usd Forex symbol would be EUR/USD. A complete list of Futures and Forex symbols is available in Tools->Symbol Manager.

Symbol Manager

Back To Top

Top