SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
BJF FIX TRADER
Release notes
Version 1.7, November 2015
2
©2015 BJF Trading Group | www.iticsoftware.com
Contents
Revision history................................................................................................................................................................. 3
Introduction ...................................................................................................................................................................... 4
1. Installation steps ........................................................................................................................................................... 5
2 Getting Started............................................................................................................................................................... 8
2.1 Program interface ................................................................................................................................................... 8
2.2 Editing FIX Connection info..................................................................................................................................... 8
2.3. Editing External Connection info.......................................................................................................................... 11
2.4 Connecting to FIX broker....................................................................................................................................... 12
2.5 Logging .................................................................................................................................................................. 13
2.6 Manual Trading ..................................................................................................................................................... 14
2.7 Book information .................................................................................................................................................. 14
3 Using FIX Trader with Metatrader 4 terminal.............................................................................................................. 15
3.1 Offline charts......................................................................................................................................................... 15
3.2 Connecting MT4 to FIX trader............................................................................................................................... 16
3.3 New order detection methods.............................................................................................................................. 17
3.4 Additional information.......................................................................................................................................... 19
3.5 Using EA on offline charts ..................................................................................................................................... 19
4. Socket Commands Format .......................................................................................................................................... 21
3
©2015 BJF Trading Group | www.iticsoftware.com
Revision history
Ver 1.7
1. Changed symbols Common Name format from b/q to bq (so now it will be EURUSD instead of EUR/USD).
All direct trading operations from MT4 should use symbol Common Name or will be ignored.
2. Added ability to get information about position, change position S/L and T/P and close the position.
3. Added ability to get all current pending orders.
4. INTEGRAL,CQG and MATCHTRADE fix support.
5. Expert advisors instead of scripts for FIX connection.
Ver 1.8.3
1. ADSS,BBO,CURRENEX,DUKASCOPY,FORTEXFXCM,FXPIG fix support.
2. Added ability to prescribe desirable slippage for limit FOK and IOC orders.
3. Improved stability
4
©2015 BJF Trading Group | www.iticsoftware.com
Introduction
FIX Trader software developed by BJF Trading Group is a special tool that allows
traders to apply their favorite MT4 tools and EA’s to work with FIX API market data
and trading sessions. For more details about FIX Trader project please visit
http://offers.fxpartner.net/mt4-fix-api-trading/.
5
©2015 BJF Trading Group | www.iticsoftware.com
1. Installation steps
1. Click Next.
2. Click Browse… and select the directory for MT4 terminal that will be used for
sending signals and analyses. Then click Next.
6
©2015 BJF Trading Group | www.iticsoftware.com
3. Select the program folder where FIX Trader should be installed and click Next.
Important note: If you installing next instance of the program, please make sure you
install it on the same logic disk (C:, D: etc.)
4. Click Install and wait until the program is installed.
7
©2015 BJF Trading Group | www.iticsoftware.com
5. If you run the program immediately after setup is finished, leave “Launch FIX
Trader” checkbox checked. If you need to see manual leave “View FIX Trader
Manual” check box checked. Then click Finish.
8
©2015 BJF Trading Group | www.iticsoftware.com
2 Getting Started
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):
9
©2015 BJF Trading Group | www.iticsoftware.com
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
support@iticsoftware.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
10
©2015 BJF Trading Group | www.iticsoftware.com
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)
11
©2015 BJF Trading Group | www.iticsoftware.com
2.3. Editing External Connection info
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. In History files path please specify path to MT4 active account
history folder (the value will be set automatically after you finish editing MT4 terminal
path, but may need manual editing), including end slash.
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 active account server name. If there is more than one folder,
please remove unnecessary folders and all files with extension “hst” in that one folder
you kept.
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
12
©2015 BJF Trading Group | www.iticsoftware.com
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.
On tab Command socket options you need to specify the parameters that will be used
for interaction with external connections via socket (fig. 6). Command socket port is the
TCP port that FIX Trader program will use to receive trading commands commands(note:
should be different for each program instance). Events socket port is the TCP port that
program will use to send quotes, connection status and orders execution results (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)
2.4 Connecting to FIX broker.
Connection status panel (see fig.1) displays information about current connection state
of FIX Market Data, FIX Trading and Command Socket and Events Socket sessions.
13
©2015 BJF Trading Group | www.iticsoftware.com
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:
1) Study input parameters for FIX very carefully to make sure you entered the same
values as provided by your broker.
2) If you are sure with 1, than check if your firewall is not blocking external connections
to server and port of your FIX provider.
3) Check if your VPS provider is not blocking your external connections to server and
port of your FIX provider
4) Contact your FIX provider and ask if the IP you are trying to connect from is
whitelisted.
5) If steps 1,2,3,4 are passed and you can telnet your FIX provider, please contact us at
support@iticsoftware.com for further assistance.
2.5 Logging
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
14
©2015 BJF Trading Group | www.iticsoftware.com
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.
2.6 Manual Trading
FIX Trader allows to submit orders manually and simple position control with Manual
Trading panel (see fig. 1).
To place the order manually, please select the symbol in Symbol combobox. Then please
select order type (for now only market orders are supported for manual trading). In Lots
field please specify the desired order value.
If you need position control, before placing the order, please check Algorithmic trading
checkbox. That will enable all necessary input fields.
In S/L field you need to specify initial stop loss distance (in pips) from the position
average fill price. To move s/l to breakeven price (if it is possible) click .
In T/P field you need to specify take profit distance (in pips) from the position average
fill price. To move t/p to breakeven price (if it is possible) click
To enable trailing stops, you need to put values in Trailing Stop and Trailing Step fields.
A Trailing Stop trails (moves) a stop in your favor by a specific distance as long as the
market is moving in a favorable direction. Trailing Stop trail your stop by a fixed amount
of pips (Trailing Stop) as the market moves in your favor. This results in a slower trailing
stop that waits for a certain number of pips (Trailing Step) to be accrued before moving
that amount of pips. For example, let’s say we had an initial -100 pip stop loss, that we
set to trail with a Trailing Step of 10 and Trailing Stop 50. Our stop will stay at -100 until
the price moves in our favor a full 10 pips. Once +10 pips of floating profit is reached on
the trade, our fixed-step stop would jump from -100 to -40. Our stop would then stay at
-40 until the price moved in our favor another 10 pips (then it will be set to -30).
In the Risk field please specify the balance percent you want to risk from your current
balance ( should be input in Account Balance field) and your initial S/L value.
2.7 Book information
FIX Trader allows to see full book information via Book Information panel (see fig. 1). To
enable full book display, select symbol in Symbol field and check Show books. The
maximum supported depth is 8 levels.
15
©2015 BJF Trading Group | www.iticsoftware.com
3 Using FIX Trader with Metatrader 4 terminal
3.1 Offline charts
Once the FIX Trader connected to FIX providers server and MT4 parameters are
prescribed (see section 2.3 ), the FIX Trader starting to fill the information in files that
can be used to display “offline charts”. Despite the confusing word ”offline”, that charts
can be used for online data representation and trading.
To start working the offline chart, please open your MT4 terminal and click menu item
“File -> Open offline”. You will see the next dialog (fig.7):
Fig.7 Selecting symbol and timeframe for offline chart
Please select the symbol and timeframe (from that one you provided in section 2.3 ) and
click Open.
IMPORTANT NOTE: If you want to use chart not just for indicative purposes but also for
transferring the orders opened by the EA you place on this chart to FIX Trader, press F8
on chart (or right click and select Properties), and on the tab Common uncheck
checkbox “Offline chart” (fig.8).
16
©2015 BJF Trading Group | www.iticsoftware.com
Fig.8 Making offline chart available for trading from EA
3.2 Connecting MT4 to FIX trader
To connect MT4 to FIX Trader for transferring orders to FIX providers, put EA “Fix
Commands Connector EA” on the chart (fig.9). In script inputs, in
port_4_buy_commands/ port_4_sell_commands specify the port on which the running
instance of program is responsible for sending buy/sell orders. If you are using single
instance of the program, this ports should coincide. NewOrderDetectionMethod stands
for the method the new order in terminal will be detected: 0 – for Automatic method
and 1 for Manual method (see section 3.3 for explanations).
To connect MT4 to FIX Trader to receive order execution reports and quotes, put EA “Fix
Events Connector EA” on the chart. In script inputs, in port_4_events specify the port on
which the running instance of program will send quotes and execution reports.
NOTE: For running the connector scripts, you need to select for chart you are planning
to run them on, the symbol that is not used for collecting market data from FIX (see
section 2.3).
17
©2015 BJF Trading Group | www.iticsoftware.com
Fig. 9 Launching script to connect to MT4
3.3 New order detection methods
There are two ways for script to detect the new order request appearance. For users,
that do not have source code (mq4 files) of the EA, only Automatic method is
acceptable. In this case the script will catch new order request from terminal as soon as
it appears in terminal info and transfer it to the FIX Trader (please note, that script
catches not order execution event but sending event).
With Manual method in the source code of the EA before OrderSend and OrderClose
commands should be inserted line of the code that creates new Global Variable with the
name that contains information about the orders. The template for the Global Variable
name is (see Table 1 for proper values):
SO_ClientOrderID_OrderSIde_OrderType_OrderLots_OrderSymbol_OrderStopPrice_Ord
erLimitPrice_OrderSlippage_OrderTTL
So, for example, to open new market order to sell 0.1 EURUSD you need to insert next
line before order send command:
GlobalVariableSet("SO_3819696185399_1_1_0.1_EURUSD”,0);
To close that order, you need to insert next line before order close command:
GlobalVariableSet("SO_3819696186899_0_1_0.1_EURUSD”,0);
18
©2015 BJF Trading Group | www.iticsoftware.com
To open the new limit order to sell 0.1 EURUSD at 1.42345 you need to insert next line
before order send command:
GlobalVariableSet("SO_3819696185399_1_2_0.1_EURUSD_0_1.42345_0_0”,0);
To open the new stop order to buy 0.1 EURUSD at 1.42345 you need to insert next line
before order send command:
GlobalVariableSet("SO_3819696185399_0_3_0.1_EURUSD_1.42345_0_0_0”,0);
NOTE: Do not delete the created global variables, they will be automatically deleted
from the script when the order command is transferred to FIX Trader.
NOTE: To generate unique ClientOrderId in MQL4 you need to use following code
construction:
MathSrand(GetTickCount());
string ClOrderId = IntegerToString(GetTickCount())+IntegerToString(MathRand());
Once the order is executed and transferred from FIX trader, the new global variable will
appear in format:
RO_ClOrderId_OrderSide_OrderType_OrderLots_OrderSymbol_OrderPrice_StopPrice_Li
mitPrice_OrderStatus_NewClOrderId
where ClOrderId coincides with the ClOrderId that was sent, OrderStatus can have 4
values: 1 – filled; 2 – opened; 3 – rejected; 4 – canceled, NewClOrderId – new client
order Id for order modify command.
To Cancel existing pending order, create a global variable
CO_ClOrderId_OrderSide
To Modify existing pending order, create a global variable
MO_ClOrderId_OrderSide_OrderType_OrderLots_OrderSymbol_StopPrice_LimitPrice
The positions on symbols received from Fix Trader, are stored in the global variables in
format:
SETPOS_Symbol_AvgFillPrice_StopLoss_TakeProfit_OpenTime
19
©2015 BJF Trading Group | www.iticsoftware.com
The value of the global variable represents the position size (value is positive if the
position is long, and negative if the position is short). OpenTIme has aUnix Timestamp
format (integer number of seconds that have elapsed since 00:00:00 Coordinated
Universal Time (UTC), Thursday, 1 January 1970).
To request the position information, you need to create global variable in format:
GETPOS_Symbol_0_0_1
To modify the position, you need to create global variable in format:
GETPOS_Symbol_NewPositionStopLoss_NewPositionTakeProfit_2
To close the position, you need to create global variable in format:
GETPOS_Symbol_0_0_3
3.4 Additional information
Quotes for symbols are also stored in global variables with names
FIXTRADER_SymbolName_Side (Side can take the values BID and ASK). Available
volumes are stored in global variables with names FIXTRADER_SymbolName_VOLSide
(Side can take the values BID and ASK). Last tick times are stored in global variables with
names FIXTRADER_SymbolName_Side_TIME(global variable value is local PC UNIX
time). For the example of usage of global variables please see EA
The Market data Session status and Trading Session status are stored in global variables
Status_MarketData and Status_Trading (value 0 means disconnected and 1 means
connected).
FIX Broker name is stored in global variable FIXBROKER_BrokerName.
Symbol digits are stored in global variables DIGITS_SymbolName.
3.5 Using EA on offline charts
Before placing the EA on offline chart to start trading, please make sure automated
trading is allowed and “Offline chart” checkbox is unchecked (see section 3.1). For
testing you can use the EA NewBarCatcher, that will appear in your MT4 terminal after
program installation. It is very simple EA, its logic is the next: if there is no opened orders
(with particular magic number) on symbol on bar opening, it opens new sell order.
Otherwise, if the orders exists, it closes it. The source code of EA is available as
20
©2015 BJF Trading Group | www.iticsoftware.com
illustration to section 3.3. Furthermore, in file FixTraderFunctions.mqh you can find
already realized functions for orders commands via global variables.
21
©2015 BJF Trading Group | www.iticsoftware.com
4. Socket Commands Format
It is possible to use FIX Trader with other homemade software products. The exchange
protocol for socket messages is fairy simple and FIX – like. It contains pairs ”tag=value”
separated by “|” character. The correct tags for orders and quotes are listed in the
tables below:
Table 1. Orders command/event
Tag Description Required Type Allowed values
1 Command type Yes integer 1
100 Client order Id Yes string Unique value
101 Order request type Yes integer 1 – market
2 – limit
3 – stop
102 Order side Yes integer 0 – buy
1 - sell
103 Order symbol Yes string
104 Order lots Yes double
105 Order price No double
106 Order stoploss No double
107 Order takeprofit No double
108 Order status No integer 1 – filled
2 – opened
3 – rejected
4 – canceled
5 - replaced
109 Order slippage No double
110 Order TTL No integer
111 New Client OrderId No string Only when 108 = 5
Table 2. New quote event
Tag Description Required Type Allowed values
1 Command type Yes integer 2
200 Symbol Yes string
201 BidPrice Yes double
202 AskPrice Yes double
203 BidVolume Yes double
204 AskVolume Yes double
22
©2015 BJF Trading Group | www.iticsoftware.com
Table 3. Session status change event
Tag Description Required Type Allowed values
1 Command type Yes integer 3
300 Session type Yes integer 0 – market data
1 – orders
301 Session status Yes integer 0 – disconnected
1 – connected
Table 4. General information
Tag Description Required Type Allowed values
1 Command type Yes integer 4
400 Information type Yes integer 1 – Broker name
2 – Instrument digits
401 Information value Yes String
200 Symbol No String
Table 5. Order cancel/modification command
Tag Description Required Type Allowed values
1 Command type Yes Integer 5
100 Client order Id Yes string Unique value
101 Order request type Yes integer 1 – market
2 – limit
3 – stop
102 Order side Yes integer 0 – buy
1 - sell
103 Order symbol Yes string
104 Order lots Yes double
105 Order price No double
106 Order stoploss No double
107 Order takeprofit No double
112 Operation Y integer 1 – cancel
2 - modify
23
©2015 BJF Trading Group | www.iticsoftware.com
Table 6. Position management command
Tag Description Required Type Allowed values
1 Command type Yes Integer 6
103 Position symbol Yes string
104 Position size Yes double positive for long
negative for short
zero – position closed
105 Position avg price No double
106 Position stoploss No double
107 Position takeprofit No double
112 Operation Yes integer 1 – get info
2 – modify
3 – close
113 Text message No string
114 Position open time Yes long integer UNIX Timestamp
Table 7. Pending orders management command
Tag Description Required Type Allowed values
1 Command type Yes Integer 7
101 Order type Yes Integer 2 – limit
3 – stop
103 Order symbol Yes string
112 Operation Yes integer 1 – get info

Contenu connexe

Similaire à BJF FIX API Trader

UAE FTA Vat declaration - config guide
UAE FTA Vat declaration - config guideUAE FTA Vat declaration - config guide
UAE FTA Vat declaration - config guideDhruv Singhvi
 
Efficient Order Export: Magento Extension by Amasty. User Guide.
Efficient Order Export: Magento Extension by Amasty. User Guide.Efficient Order Export: Magento Extension by Amasty. User Guide.
Efficient Order Export: Magento Extension by Amasty. User Guide.Amasty
 
CRM Territory Management_C06_CRM702_BB_ConfigGuide_EN_XX.doc
CRM Territory Management_C06_CRM702_BB_ConfigGuide_EN_XX.docCRM Territory Management_C06_CRM702_BB_ConfigGuide_EN_XX.doc
CRM Territory Management_C06_CRM702_BB_ConfigGuide_EN_XX.docKrisStone4
 
Windward Magento Integration - Manuals
Windward Magento Integration - ManualsWindward Magento Integration - Manuals
Windward Magento Integration - ManualsOmnichannel Commerce
 
Report Builder Training 7i
Report Builder Training 7iReport Builder Training 7i
Report Builder Training 7iDydacomp
 
Magento 2 Registration Fields Extension by Itoris inc.
Magento 2 Registration Fields Extension by Itoris inc.Magento 2 Registration Fields Extension by Itoris inc.
Magento 2 Registration Fields Extension by Itoris inc.Itexus LLC
 
Magento 2 Registration Fields Manager Extension by ITORIS INC.
Magento 2 Registration Fields Manager Extension by ITORIS INC.Magento 2 Registration Fields Manager Extension by ITORIS INC.
Magento 2 Registration Fields Manager Extension by ITORIS INC.Itexus LLC
 
Backtesting Engine for Trading Strategies
Backtesting Engine for Trading StrategiesBacktesting Engine for Trading Strategies
Backtesting Engine for Trading Strategiesbzinchenko
 
Feedback Pro Extension - User Guide
Feedback Pro Extension - User GuideFeedback Pro Extension - User Guide
Feedback Pro Extension - User GuideBiztech Store
 
Dynamics 365 self hosting bots
Dynamics 365 self hosting botsDynamics 365 self hosting bots
Dynamics 365 self hosting botsAmit Patil
 
Creating accounting masters tally erp 9
Creating accounting masters tally erp 9Creating accounting masters tally erp 9
Creating accounting masters tally erp 9Accounts Arabia
 
Import Guide - Cloud for Customer Edge and Starter Edition - Guide v2.6
Import Guide - Cloud for Customer Edge and Starter Edition - Guide v2.6Import Guide - Cloud for Customer Edge and Starter Edition - Guide v2.6
Import Guide - Cloud for Customer Edge and Starter Edition - Guide v2.6Tiziano Menconi
 
Mr20 enus 05-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 05-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...Mr20 enus 05-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 05-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...Sami JAMMALI
 
1 h 2020-compensation-quickpreview by deloitte germany
1 h 2020-compensation-quickpreview by deloitte germany1 h 2020-compensation-quickpreview by deloitte germany
1 h 2020-compensation-quickpreview by deloitte germanyHazal Yağcı
 
Mr20 enus 06-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 06-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...Mr20 enus 06-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 06-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...Sami JAMMALI
 
Mr20 enus 01-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 01-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...Mr20 enus 01-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 01-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...Sami JAMMALI
 

Similaire à BJF FIX API Trader (20)

UAE FTA Vat declaration - config guide
UAE FTA Vat declaration - config guideUAE FTA Vat declaration - config guide
UAE FTA Vat declaration - config guide
 
Efficient Order Export: Magento Extension by Amasty. User Guide.
Efficient Order Export: Magento Extension by Amasty. User Guide.Efficient Order Export: Magento Extension by Amasty. User Guide.
Efficient Order Export: Magento Extension by Amasty. User Guide.
 
CRM Territory Management_C06_CRM702_BB_ConfigGuide_EN_XX.doc
CRM Territory Management_C06_CRM702_BB_ConfigGuide_EN_XX.docCRM Territory Management_C06_CRM702_BB_ConfigGuide_EN_XX.doc
CRM Territory Management_C06_CRM702_BB_ConfigGuide_EN_XX.doc
 
Windward Magento Integration - Manuals
Windward Magento Integration - ManualsWindward Magento Integration - Manuals
Windward Magento Integration - Manuals
 
Report Builder Training 7i
Report Builder Training 7iReport Builder Training 7i
Report Builder Training 7i
 
Magento 2 Registration Fields Extension by Itoris inc.
Magento 2 Registration Fields Extension by Itoris inc.Magento 2 Registration Fields Extension by Itoris inc.
Magento 2 Registration Fields Extension by Itoris inc.
 
Magento 2 Registration Fields Manager Extension by ITORIS INC.
Magento 2 Registration Fields Manager Extension by ITORIS INC.Magento 2 Registration Fields Manager Extension by ITORIS INC.
Magento 2 Registration Fields Manager Extension by ITORIS INC.
 
Backtesting Engine for Trading Strategies
Backtesting Engine for Trading StrategiesBacktesting Engine for Trading Strategies
Backtesting Engine for Trading Strategies
 
Feedback Pro Extension - User Guide
Feedback Pro Extension - User GuideFeedback Pro Extension - User Guide
Feedback Pro Extension - User Guide
 
Dynamics 365 self hosting bots
Dynamics 365 self hosting botsDynamics 365 self hosting bots
Dynamics 365 self hosting bots
 
3 creating accounting masters
3 creating accounting masters3 creating accounting masters
3 creating accounting masters
 
Creating accounting masters tally erp 9
Creating accounting masters tally erp 9Creating accounting masters tally erp 9
Creating accounting masters tally erp 9
 
Import Guide - Cloud for Customer Edge and Starter Edition - Guide v2.6
Import Guide - Cloud for Customer Edge and Starter Edition - Guide v2.6Import Guide - Cloud for Customer Edge and Starter Edition - Guide v2.6
Import Guide - Cloud for Customer Edge and Starter Edition - Guide v2.6
 
Your notes DNA
Your notes DNAYour notes DNA
Your notes DNA
 
Mr20 enus 05-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 05-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...Mr20 enus 05-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 05-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
 
1 h 2020-compensation-quickpreview by deloitte germany
1 h 2020-compensation-quickpreview by deloitte germany1 h 2020-compensation-quickpreview by deloitte germany
1 h 2020-compensation-quickpreview by deloitte germany
 
R-trader-Pro-Guide-digital_EN.pdf
R-trader-Pro-Guide-digital_EN.pdfR-trader-Pro-Guide-digital_EN.pdf
R-trader-Pro-Guide-digital_EN.pdf
 
Sentrifugo user guide 2.1
Sentrifugo user guide 2.1Sentrifugo user guide 2.1
Sentrifugo user guide 2.1
 
Mr20 enus 06-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 06-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...Mr20 enus 06-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 06-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
 
Mr20 enus 01-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 01-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...Mr20 enus 01-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 01-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
 

Plus de Boris Fesenko

Locking arbitrage working mechanism
Locking arbitrage working mechanismLocking arbitrage working mechanism
Locking arbitrage working mechanismBoris Fesenko
 
High-Frequency Trading Report
High-Frequency Trading ReportHigh-Frequency Trading Report
High-Frequency Trading ReportBoris Fesenko
 
Forex Portfolio Trader
Forex Portfolio TraderForex Portfolio Trader
Forex Portfolio TraderBoris Fesenko
 
Automated forex-trading
Automated forex-tradingAutomated forex-trading
Automated forex-tradingBoris Fesenko
 
Elliott Waves Strategies
Elliott Waves StrategiesElliott Waves Strategies
Elliott Waves StrategiesBoris Fesenko
 
Forex robottfot 9 multi currencies
Forex robottfot 9 multi currenciesForex robottfot 9 multi currencies
Forex robottfot 9 multi currenciesBoris Fesenko
 
FOREX ROBOT TFOT 9.0 MultiCurrencies
FOREX ROBOT TFOT 9.0 MultiCurrenciesFOREX ROBOT TFOT 9.0 MultiCurrencies
FOREX ROBOT TFOT 9.0 MultiCurrenciesBoris Fesenko
 

Plus de Boris Fesenko (8)

Locking arbitrage working mechanism
Locking arbitrage working mechanismLocking arbitrage working mechanism
Locking arbitrage working mechanism
 
High-Frequency Trading Report
High-Frequency Trading ReportHigh-Frequency Trading Report
High-Frequency Trading Report
 
Forex Portfolio Trader
Forex Portfolio TraderForex Portfolio Trader
Forex Portfolio Trader
 
Automated forex-trading
Automated forex-tradingAutomated forex-trading
Automated forex-trading
 
Elliott Waves Strategies
Elliott Waves StrategiesElliott Waves Strategies
Elliott Waves Strategies
 
Forex robottfot 9 multi currencies
Forex robottfot 9 multi currenciesForex robottfot 9 multi currencies
Forex robottfot 9 multi currencies
 
FOREX ROBOT TFOT 9.0 MultiCurrencies
FOREX ROBOT TFOT 9.0 MultiCurrenciesFOREX ROBOT TFOT 9.0 MultiCurrencies
FOREX ROBOT TFOT 9.0 MultiCurrencies
 
Forex Trading
Forex TradingForex Trading
Forex Trading
 

Dernier

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 

Dernier (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 

BJF FIX API Trader

  • 1. BJF FIX TRADER Release notes Version 1.7, November 2015
  • 2. 2 ©2015 BJF Trading Group | www.iticsoftware.com Contents Revision history................................................................................................................................................................. 3 Introduction ...................................................................................................................................................................... 4 1. Installation steps ........................................................................................................................................................... 5 2 Getting Started............................................................................................................................................................... 8 2.1 Program interface ................................................................................................................................................... 8 2.2 Editing FIX Connection info..................................................................................................................................... 8 2.3. Editing External Connection info.......................................................................................................................... 11 2.4 Connecting to FIX broker....................................................................................................................................... 12 2.5 Logging .................................................................................................................................................................. 13 2.6 Manual Trading ..................................................................................................................................................... 14 2.7 Book information .................................................................................................................................................. 14 3 Using FIX Trader with Metatrader 4 terminal.............................................................................................................. 15 3.1 Offline charts......................................................................................................................................................... 15 3.2 Connecting MT4 to FIX trader............................................................................................................................... 16 3.3 New order detection methods.............................................................................................................................. 17 3.4 Additional information.......................................................................................................................................... 19 3.5 Using EA on offline charts ..................................................................................................................................... 19 4. Socket Commands Format .......................................................................................................................................... 21
  • 3. 3 ©2015 BJF Trading Group | www.iticsoftware.com Revision history Ver 1.7 1. Changed symbols Common Name format from b/q to bq (so now it will be EURUSD instead of EUR/USD). All direct trading operations from MT4 should use symbol Common Name or will be ignored. 2. Added ability to get information about position, change position S/L and T/P and close the position. 3. Added ability to get all current pending orders. 4. INTEGRAL,CQG and MATCHTRADE fix support. 5. Expert advisors instead of scripts for FIX connection. Ver 1.8.3 1. ADSS,BBO,CURRENEX,DUKASCOPY,FORTEXFXCM,FXPIG fix support. 2. Added ability to prescribe desirable slippage for limit FOK and IOC orders. 3. Improved stability
  • 4. 4 ©2015 BJF Trading Group | www.iticsoftware.com Introduction FIX Trader software developed by BJF Trading Group is a special tool that allows traders to apply their favorite MT4 tools and EA’s to work with FIX API market data and trading sessions. For more details about FIX Trader project please visit http://offers.fxpartner.net/mt4-fix-api-trading/.
  • 5. 5 ©2015 BJF Trading Group | www.iticsoftware.com 1. Installation steps 1. Click Next. 2. Click Browse… and select the directory for MT4 terminal that will be used for sending signals and analyses. Then click Next.
  • 6. 6 ©2015 BJF Trading Group | www.iticsoftware.com 3. Select the program folder where FIX Trader should be installed and click Next. Important note: If you installing next instance of the program, please make sure you install it on the same logic disk (C:, D: etc.) 4. Click Install and wait until the program is installed.
  • 7. 7 ©2015 BJF Trading Group | www.iticsoftware.com 5. If you run the program immediately after setup is finished, leave “Launch FIX Trader” checkbox checked. If you need to see manual leave “View FIX Trader Manual” check box checked. Then click Finish.
  • 8. 8 ©2015 BJF Trading Group | www.iticsoftware.com 2 Getting Started 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):
  • 9. 9 ©2015 BJF Trading Group | www.iticsoftware.com 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 support@iticsoftware.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
  • 10. 10 ©2015 BJF Trading Group | www.iticsoftware.com 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)
  • 11. 11 ©2015 BJF Trading Group | www.iticsoftware.com 2.3. Editing External Connection info 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. In History files path please specify path to MT4 active account history folder (the value will be set automatically after you finish editing MT4 terminal path, but may need manual editing), including end slash. 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 active account server name. If there is more than one folder, please remove unnecessary folders and all files with extension “hst” in that one folder you kept. 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
  • 12. 12 ©2015 BJF Trading Group | www.iticsoftware.com 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. On tab Command socket options you need to specify the parameters that will be used for interaction with external connections via socket (fig. 6). Command socket port is the TCP port that FIX Trader program will use to receive trading commands commands(note: should be different for each program instance). Events socket port is the TCP port that program will use to send quotes, connection status and orders execution results (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) 2.4 Connecting to FIX broker. Connection status panel (see fig.1) displays information about current connection state of FIX Market Data, FIX Trading and Command Socket and Events Socket sessions.
  • 13. 13 ©2015 BJF Trading Group | www.iticsoftware.com 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: 1) Study input parameters for FIX very carefully to make sure you entered the same values as provided by your broker. 2) If you are sure with 1, than check if your firewall is not blocking external connections to server and port of your FIX provider. 3) Check if your VPS provider is not blocking your external connections to server and port of your FIX provider 4) Contact your FIX provider and ask if the IP you are trying to connect from is whitelisted. 5) If steps 1,2,3,4 are passed and you can telnet your FIX provider, please contact us at support@iticsoftware.com for further assistance. 2.5 Logging 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
  • 14. 14 ©2015 BJF Trading Group | www.iticsoftware.com 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. 2.6 Manual Trading FIX Trader allows to submit orders manually and simple position control with Manual Trading panel (see fig. 1). To place the order manually, please select the symbol in Symbol combobox. Then please select order type (for now only market orders are supported for manual trading). In Lots field please specify the desired order value. If you need position control, before placing the order, please check Algorithmic trading checkbox. That will enable all necessary input fields. In S/L field you need to specify initial stop loss distance (in pips) from the position average fill price. To move s/l to breakeven price (if it is possible) click . In T/P field you need to specify take profit distance (in pips) from the position average fill price. To move t/p to breakeven price (if it is possible) click To enable trailing stops, you need to put values in Trailing Stop and Trailing Step fields. A Trailing Stop trails (moves) a stop in your favor by a specific distance as long as the market is moving in a favorable direction. Trailing Stop trail your stop by a fixed amount of pips (Trailing Stop) as the market moves in your favor. This results in a slower trailing stop that waits for a certain number of pips (Trailing Step) to be accrued before moving that amount of pips. For example, let’s say we had an initial -100 pip stop loss, that we set to trail with a Trailing Step of 10 and Trailing Stop 50. Our stop will stay at -100 until the price moves in our favor a full 10 pips. Once +10 pips of floating profit is reached on the trade, our fixed-step stop would jump from -100 to -40. Our stop would then stay at -40 until the price moved in our favor another 10 pips (then it will be set to -30). In the Risk field please specify the balance percent you want to risk from your current balance ( should be input in Account Balance field) and your initial S/L value. 2.7 Book information FIX Trader allows to see full book information via Book Information panel (see fig. 1). To enable full book display, select symbol in Symbol field and check Show books. The maximum supported depth is 8 levels.
  • 15. 15 ©2015 BJF Trading Group | www.iticsoftware.com 3 Using FIX Trader with Metatrader 4 terminal 3.1 Offline charts Once the FIX Trader connected to FIX providers server and MT4 parameters are prescribed (see section 2.3 ), the FIX Trader starting to fill the information in files that can be used to display “offline charts”. Despite the confusing word ”offline”, that charts can be used for online data representation and trading. To start working the offline chart, please open your MT4 terminal and click menu item “File -> Open offline”. You will see the next dialog (fig.7): Fig.7 Selecting symbol and timeframe for offline chart Please select the symbol and timeframe (from that one you provided in section 2.3 ) and click Open. IMPORTANT NOTE: If you want to use chart not just for indicative purposes but also for transferring the orders opened by the EA you place on this chart to FIX Trader, press F8 on chart (or right click and select Properties), and on the tab Common uncheck checkbox “Offline chart” (fig.8).
  • 16. 16 ©2015 BJF Trading Group | www.iticsoftware.com Fig.8 Making offline chart available for trading from EA 3.2 Connecting MT4 to FIX trader To connect MT4 to FIX Trader for transferring orders to FIX providers, put EA “Fix Commands Connector EA” on the chart (fig.9). In script inputs, in port_4_buy_commands/ port_4_sell_commands specify the port on which the running instance of program is responsible for sending buy/sell orders. If you are using single instance of the program, this ports should coincide. NewOrderDetectionMethod stands for the method the new order in terminal will be detected: 0 – for Automatic method and 1 for Manual method (see section 3.3 for explanations). To connect MT4 to FIX Trader to receive order execution reports and quotes, put EA “Fix Events Connector EA” on the chart. In script inputs, in port_4_events specify the port on which the running instance of program will send quotes and execution reports. NOTE: For running the connector scripts, you need to select for chart you are planning to run them on, the symbol that is not used for collecting market data from FIX (see section 2.3).
  • 17. 17 ©2015 BJF Trading Group | www.iticsoftware.com Fig. 9 Launching script to connect to MT4 3.3 New order detection methods There are two ways for script to detect the new order request appearance. For users, that do not have source code (mq4 files) of the EA, only Automatic method is acceptable. In this case the script will catch new order request from terminal as soon as it appears in terminal info and transfer it to the FIX Trader (please note, that script catches not order execution event but sending event). With Manual method in the source code of the EA before OrderSend and OrderClose commands should be inserted line of the code that creates new Global Variable with the name that contains information about the orders. The template for the Global Variable name is (see Table 1 for proper values): SO_ClientOrderID_OrderSIde_OrderType_OrderLots_OrderSymbol_OrderStopPrice_Ord erLimitPrice_OrderSlippage_OrderTTL So, for example, to open new market order to sell 0.1 EURUSD you need to insert next line before order send command: GlobalVariableSet("SO_3819696185399_1_1_0.1_EURUSD”,0); To close that order, you need to insert next line before order close command: GlobalVariableSet("SO_3819696186899_0_1_0.1_EURUSD”,0);
  • 18. 18 ©2015 BJF Trading Group | www.iticsoftware.com To open the new limit order to sell 0.1 EURUSD at 1.42345 you need to insert next line before order send command: GlobalVariableSet("SO_3819696185399_1_2_0.1_EURUSD_0_1.42345_0_0”,0); To open the new stop order to buy 0.1 EURUSD at 1.42345 you need to insert next line before order send command: GlobalVariableSet("SO_3819696185399_0_3_0.1_EURUSD_1.42345_0_0_0”,0); NOTE: Do not delete the created global variables, they will be automatically deleted from the script when the order command is transferred to FIX Trader. NOTE: To generate unique ClientOrderId in MQL4 you need to use following code construction: MathSrand(GetTickCount()); string ClOrderId = IntegerToString(GetTickCount())+IntegerToString(MathRand()); Once the order is executed and transferred from FIX trader, the new global variable will appear in format: RO_ClOrderId_OrderSide_OrderType_OrderLots_OrderSymbol_OrderPrice_StopPrice_Li mitPrice_OrderStatus_NewClOrderId where ClOrderId coincides with the ClOrderId that was sent, OrderStatus can have 4 values: 1 – filled; 2 – opened; 3 – rejected; 4 – canceled, NewClOrderId – new client order Id for order modify command. To Cancel existing pending order, create a global variable CO_ClOrderId_OrderSide To Modify existing pending order, create a global variable MO_ClOrderId_OrderSide_OrderType_OrderLots_OrderSymbol_StopPrice_LimitPrice The positions on symbols received from Fix Trader, are stored in the global variables in format: SETPOS_Symbol_AvgFillPrice_StopLoss_TakeProfit_OpenTime
  • 19. 19 ©2015 BJF Trading Group | www.iticsoftware.com The value of the global variable represents the position size (value is positive if the position is long, and negative if the position is short). OpenTIme has aUnix Timestamp format (integer number of seconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970). To request the position information, you need to create global variable in format: GETPOS_Symbol_0_0_1 To modify the position, you need to create global variable in format: GETPOS_Symbol_NewPositionStopLoss_NewPositionTakeProfit_2 To close the position, you need to create global variable in format: GETPOS_Symbol_0_0_3 3.4 Additional information Quotes for symbols are also stored in global variables with names FIXTRADER_SymbolName_Side (Side can take the values BID and ASK). Available volumes are stored in global variables with names FIXTRADER_SymbolName_VOLSide (Side can take the values BID and ASK). Last tick times are stored in global variables with names FIXTRADER_SymbolName_Side_TIME(global variable value is local PC UNIX time). For the example of usage of global variables please see EA The Market data Session status and Trading Session status are stored in global variables Status_MarketData and Status_Trading (value 0 means disconnected and 1 means connected). FIX Broker name is stored in global variable FIXBROKER_BrokerName. Symbol digits are stored in global variables DIGITS_SymbolName. 3.5 Using EA on offline charts Before placing the EA on offline chart to start trading, please make sure automated trading is allowed and “Offline chart” checkbox is unchecked (see section 3.1). For testing you can use the EA NewBarCatcher, that will appear in your MT4 terminal after program installation. It is very simple EA, its logic is the next: if there is no opened orders (with particular magic number) on symbol on bar opening, it opens new sell order. Otherwise, if the orders exists, it closes it. The source code of EA is available as
  • 20. 20 ©2015 BJF Trading Group | www.iticsoftware.com illustration to section 3.3. Furthermore, in file FixTraderFunctions.mqh you can find already realized functions for orders commands via global variables.
  • 21. 21 ©2015 BJF Trading Group | www.iticsoftware.com 4. Socket Commands Format It is possible to use FIX Trader with other homemade software products. The exchange protocol for socket messages is fairy simple and FIX – like. It contains pairs ”tag=value” separated by “|” character. The correct tags for orders and quotes are listed in the tables below: Table 1. Orders command/event Tag Description Required Type Allowed values 1 Command type Yes integer 1 100 Client order Id Yes string Unique value 101 Order request type Yes integer 1 – market 2 – limit 3 – stop 102 Order side Yes integer 0 – buy 1 - sell 103 Order symbol Yes string 104 Order lots Yes double 105 Order price No double 106 Order stoploss No double 107 Order takeprofit No double 108 Order status No integer 1 – filled 2 – opened 3 – rejected 4 – canceled 5 - replaced 109 Order slippage No double 110 Order TTL No integer 111 New Client OrderId No string Only when 108 = 5 Table 2. New quote event Tag Description Required Type Allowed values 1 Command type Yes integer 2 200 Symbol Yes string 201 BidPrice Yes double 202 AskPrice Yes double 203 BidVolume Yes double 204 AskVolume Yes double
  • 22. 22 ©2015 BJF Trading Group | www.iticsoftware.com Table 3. Session status change event Tag Description Required Type Allowed values 1 Command type Yes integer 3 300 Session type Yes integer 0 – market data 1 – orders 301 Session status Yes integer 0 – disconnected 1 – connected Table 4. General information Tag Description Required Type Allowed values 1 Command type Yes integer 4 400 Information type Yes integer 1 – Broker name 2 – Instrument digits 401 Information value Yes String 200 Symbol No String Table 5. Order cancel/modification command Tag Description Required Type Allowed values 1 Command type Yes Integer 5 100 Client order Id Yes string Unique value 101 Order request type Yes integer 1 – market 2 – limit 3 – stop 102 Order side Yes integer 0 – buy 1 - sell 103 Order symbol Yes string 104 Order lots Yes double 105 Order price No double 106 Order stoploss No double 107 Order takeprofit No double 112 Operation Y integer 1 – cancel 2 - modify
  • 23. 23 ©2015 BJF Trading Group | www.iticsoftware.com Table 6. Position management command Tag Description Required Type Allowed values 1 Command type Yes Integer 6 103 Position symbol Yes string 104 Position size Yes double positive for long negative for short zero – position closed 105 Position avg price No double 106 Position stoploss No double 107 Position takeprofit No double 112 Operation Yes integer 1 – get info 2 – modify 3 – close 113 Text message No string 114 Position open time Yes long integer UNIX Timestamp Table 7. Pending orders management command Tag Description Required Type Allowed values 1 Command type Yes Integer 7 101 Order type Yes Integer 2 – limit 3 – stop 103 Order symbol Yes string 112 Operation Yes integer 1 – get info