2.1 Program interface
Important: To run the program, right click on desktop shortcut “BJF FIX Trader” and select “Run as administrator”. The other methods of program start can make application work unproperly.
The The FIX Trader program interface is shown on Fig.1:
Fig.1 . FIX Trader interface: 1 – Connection Status panel; 2 – Market Watch window; 3 – Manual Trading panel; 4- Book information panel; 5- Logging tabcontrol.
2.2 Editing FIX Connection info.
To start using program, you need to edit your FIX connection parameters. You can do it by click on menu item “FIX Connection -> Edit”. The window will appear(fig. 2):
Fig.2. Editing FIX Connection parameters (Market Data)
First you need to select your FIX connection provider from the list near FIX Broker label. If the provider you need is not in the list please send an email to email@example.com.
On the Market data connection parameters tab(fig. 2) you need to specify the Market Data connection parameters mailed to you by your FIX connection provider. Please pay attention if you provider uses SSL or not. Also if you need to store in log all FIX quotes/market data refresh messages for some reasons, check Full log checkbox.
On the Trading connection parameters tab(fig. 3) you need to specify the Trading connection parameters mailed to you by your FIX connection provider. Please pay attention if you provider uses SSL or not and if you need to provide user account for trading.
On the Symbols tab (fig.4) you need to add the instrument you will use within the program. To add new symbol, click Add button. The blank row in the grid will appear. In the column Common name type or select from the list the common name of the symbol you want to use. Once you leave the cell, all the other information in a row should be filled automatically. FIX Name is the name of the subscription symbol for your particular FIX provider. As different FIX providers use their own lot mapping, we introduced Lots Multiplier column. When the order is translated by socket connection from MT4 or other homemade program, the value of lot for FIX order command will be multiplied by this value. In Digits column is stored the information how much digits is supported by your FIX provider for this particular symbol. If your FIX provider (like LMAX) requires security ids for symbol, in SymbolId column you need to specify that special Symbol ID or otherwise keep in this column just different values (like 1,2,3 etc. by default).
Fig.3 Editing FIX Connection parameters (Trading connection)
Fig.4 Editing FIX Connection parameters (Symbols)
After you finished with FIX credentials, it is time to set up your External connection parameters. You can do it by clicking menu item “External Connection -> Edit”. The next dialog will appear (fig. 5):
Fig. 5 External connection setting dialog (MT4 options)
On tab MT4 options you need to specify parameters that will be used for storing information for MT4 offline charts. Please specify in MT4 Terminal Path the path to the MT4 terminal you will use. If your MT4 broker uses additional prefixes/postfixes for symbols (as in the example on fig. 5, LMAX uses .lmx postfix), put them in Symbol prefix / Symbol postfix fields. Save market data checkbox is introduced for clients that will use multiply program instances for the same terminal, so keep this checkbox checked only for one program instance to avoid file i/o conflicts. In the group Symbols – Timeframes you can select what symbols and what timeframes you need to store for offline charts. To add a timeframe, select it from the combobox with timeframes list or type timeframe manually if you need custom timeframes (like M2, H3 etc.) and then click Add-> button.
NOTE: Please check if in the History folder of MT4 terminal except folders default, deleted, downloads, mailbox, signals, symbolsets there is only one folder with the same name as your MT4 broker server. If there is more than one folder, please remove unnecessary folders and all files with extension “hst” in that one folder you left.
On tab Command socket options you need to specify the parameters that will be used for interaction with external connections via socket (fig. 6). Connection port is the TCP port that program will use for translating/receiving commands(note: should be different for each program instance). Open buy orders / Open sell orders indicates if the current instance of the program is allowed to transfer buy / sell orders to FIX provider.
Fig. 6. External connection settings (Command socket options)
Connection status panel (see fig.1) displays information about current connection state of FIX Market Data, FIX Trading and Command Socket sessions.
To connect all the sessions, click on menu item “FIX Connection -> Connect”. If you have provided the correct FIX credentials, FIX Market Data and Trading sessions should be established in a couple of seconds and show “Connected” status. If during a long time period status is still “Disconnected”, than you need to perform next steps:
- Study input parameters for FIX very carefully to make sure you entered the same values as provided by your broker.
- If you are sure with 1, than check if your firewall is not blocking external connections to server and port of your FIX provider.
- Check if your VPS provider is not blocking your external connections to server and port of your FIX provider
- Contact your FIX provider and ask if the IP you are trying to connect from is whitelisted.
- If steps 1,2,3,4 are passed and you can telnet your FIX provider, please contact us at firstname.lastname@example.org for further assistance.
In the Logging tabcontrol (see fig. 1) has 5 tabs, that contains logs for different events.
Activity log tab contains information about general application performance (session connection/disconnections, order submission, common errors etc.).
Market data log tab contains send/received messages via FIX market data session.
Trading log tab contains send/received messages via FIX order session.
NOTE: Heartbeat messages are not stored in logs for do not overload application memory.
Socket connection log tab contains messages received/send by command socket from/to MT4 terminal or other external connection.
Filled orders tab contains grid with the information about the orders that were filled by FIX provider (Order Id, Order side, Order lots, Order symbol, price at what order was filled and fill time).
You can extract the information from logs to text buffer or file. To select the lines you need to extract, press Shift (to select consecutive lines ) or Ctrl (to select non – consecutive lines). To select all the lines, select first line in the log and press Ctrl+Shift+End. Then right click on the log and select Copy if you want to copy selected lines to buffer or Save if you want to save them to file.