VFX MultiSymbol Spread Analyzer allows you to analyze, evaluate, and compare spreads and trading costs of multiple symbols from the historical Tick data of various brokers.
You can set up the following parameters:
Watchlist [1-3]
Name of the Watchlist with symbols charged commission fee of the selected type
Commission [1-3]
Commission amount charged by the broker. It is converted by the analyzer to the equivalent pips.
Together with the average symbol spread this represents the total cost of trade of the symbol:
total cost = average spread (avg) + commission pips (comm)
Type [1-3]
Commission type charged by the broker (for one side of the trade; i.e. round turn / 2):
USD_mil - in USD per 1 million
USD_lot - in USD per 1 lot
Pct_vol - in % of the volume traded
UTC Hours Shift
Time zone correction
Start / End Hour
Time interval of each day during which the robot will analyze the spread (useful for analyzing selected markets hours only)
Export to File
You can choose to export the aggregated results of one broker's account to a .csv file (saved on the Desktop). Multiple files generated from different accounts (brokers) can be merged e.g. in MS Excel or Google Sheets for further cross-broker analysis (see the below example)
By Hours
Data export can be aggregated by hours instead of the standard daily aggregation
Normalize Symbol Names
When selected the analyzer attempts to convert various symbol names (e.g. EURUSD and EUR/USD) used by brokers to a unified format so that data exported from different brokers can be aggregated and analyzed together (e.g. in a pivot table)
See the NormalizeSymbolName() function for the mapping rules. In case of need you can add your broker's symbol names
Make sure to use the Tick data from Server (accurate) for Backtesting (you can ignore the Starting Capital and Commission fields):
Choose the time period over which you want to analyze the spreads (no more than 1 year is suggested if you use the Create File together with By Hours option)
IMPORTANT NOTE: Should you experience errors during the backtest run, ensure the start date is a working day
The aggregated results are written to the Log:
min - minimum spread identified
max - maximum spread identified
avg - calculated average spread
comm - commission fee converted to the equivalent pips
total cost - total cost in pips
normalized - total cost in "normalized pips" where pip size is determined by the analyzer for each symbol. This ensures the normalized pips to have the same size for selected symbol across all tested brokers, thus allowing for an easier total costs comparison
ATR - total cost as the % of the average daily ATR of the selected symbol; the best way of comparing cost of trading of symbols of various asset groups (eg. FX vs metals vs indices vs crypto)
ticks - total number of ticks detected and used for the analysis
Example of a further analysis of the extracted data in MS Excel PivotTable:
Version history:
1.0 - initial release
1.1 - commission-free watchlist added
1.2 - normalized total pips added to the log output and the exported file
1.3 - fixed usage of normalized symbol names in the backtesting log
1.4 - minor enhancements
1.5 - commission types per lot and % of volume added
- inputs reorganized to 3 watchlists, type of each and commission can be selected
- Start and End hour inputs added (allows measuring only a selected intraday interval)
- total ticks measured and total cost as % ATR columns added to the log output and the exported file
- list of symbol names for normalization extended to cover more brokers