Updated: March 24, 2022

Download as pdf or txt
Download as pdf or txt
You are on page 1of 36

CONTENTS

Updated: March 24, 2022

Overview
Products
Terms and Definitions
Licenses
Software update

Quick Start
How to get the test data
How to use Trading Simulator
How to use Strategy Tester
How to use Automated Trader
How to use Trade Copier

GUI
Automated Trader
Toolbar
Simulation - tab
Zoom In - tab
History - tab
Real Time - tab
Data - tab
Manager - tab
Settings - tab
Help - tab
License - tab
Strategy - tab
Tester - tab
Analyzer - tab
Optimizer - tab
Products - tab

Settings

Test Data
Offline (Back testing on historical data)
Online (Streaming real-time prices)
Quote Saver

Trading Simulator
Graphs
Trading Operations
Data Speed Control
Time Shifting
Trade History and Log
Trade Analysis

Strategy Tester
Tester dashboard
Batch Testing
Trading Strategies
Favorite Strategies
Interfaces between a strategy and the Tester

Pivot Points Analyzer


Optimizing the Analyzer parameters

Data Manager

Tick Data Recorder

Live Trading

Automated Trader
Real-time map of Forex markets
Scheduler

Trade Copier

OVERVIEW

Smart Forex Tester Suite is advanced software to test trading strategies - both in real-time on live
market and offline on historical tick by tick price data. You can use simulators to practice manual
trading and test a set of inbuilt automated trading strategies - which you can also live trade via your
MT4 client terminal.

The Suite includes a unique generator of real-time market timing signals (Pivot Points Analyzer),
tick-by-tick graphical trade analyzer and test data preparation tool (Data Manager). Quote Saver
enables you to get high quality historical test data by recording price quotes from all supported real-
time data feeds.

Besides testing, the Suite can be used for live trading with our Automated Trader that uses timing
signals in its inbuilt strategies, as well as a Trade Copier.

Trading operations are performed via a MT4 terminal connected to the Suite by a special proxy
Expert Adviser. The Suite receives live market data from Metatrader and sends back the signals and
trading commands - with a single tick accuracy.

Products

The Suite's rich functionality is divided into independent products that are accessible from the same
GUI. All products use the same functional modules in different combinations, enabled by a software
license.

Online Forex Simulator is a free product that streams real-time Forex price data to practice manual
trading when the markets are open. Includes Quote Saver that stores real-time Forex price quotes to
your computer to be used later as the offline test data.

Offline Trading Simulator is a free product that renders locally stored historical tick-by-tick price
data to practice manual trading at any time, even when the markets are closed.

Data Manager is a free product that is used to prepare tick by tick historical price data for the back
testing and manual trading practice.

Smart Forex Tester Suite is the top-of-the-line premium product that provides all of Simulator
features and adds many others, including Pivot Points Analyzer, Strategy Tester, Automated
Trader and Trade Copier.

Back to Table of Contents

Terms and Definitions

Simulation - modeling the markets with the purpose of testing a strategy. Can use market price data
from a file or a live price stream from one of the supported real-time market data sources.

Offline - a synonym for back testing, i.e., using historical price data for simulations.

Online - a synonym for forward testing, i.e., using real-time data from a live stream for simulations.

Time Shifting - a technology for pausing/resuming a live data feed during an online simulation.

Back to Table of Contents

Licenses

Any product in the Suite requires a software license, which can be free or paid.

Free licenses are obtained and switched directly in the software GUI, on the Products tab. Free
licenses only require a free subscription. The license key is locked to the email address you
subscribed with. Free licenses never expire - as long as you stay subscribed.

Premium licenses are emailed to you after the purchase. To install a premium license, on the
License tab enter your license code and the email address associated with your payment; then click
the Validate license button. The license status will change to installed and the license type will also
be shown. The below screenshot is for the top of the line pemium license.
You can uninstall a license of each type by using the Change or uninstall license button.
Uninstalling is needed when you are upgrading from a free license to a premium one or upgrading a
premium license.

Back to Table of Contents

Software Updates

All products check for updates automatically at every start-up. If a newer software version is
available, a dialog window will open with the link to the software download page. Also, the Update
button on the toolbar becomes active; clicking the button will open the same dialog window.

You can also check for updates manually by clicking the Check now button on the Settings tab.

A new version of the software is installed on top of the existing installation - following the same
procedure as if installed from scratch. Remember to stop the software before proceeding with
updating. Installing updates when the software is running will fail.

Your license is unaffected by installing updates.

NOTE: if you uninstall the software before updating, you will need to install your license again.

Back to Table of Contents

QUICK START

At the first start-up, the software will show the Products tab, where all currently available products
are listed. To use any free product, click the corresponding Get Free License button and enter the
email address you subscribed with, then click the Validate license button and restart the software
when prompted. To switch to another free product, use exactly the same procedure.

To use a premium product, on the License tab, enter your license code and the email address where
the code was sent, then click the Validate license button and restart the software when prompted.
The software is designed to work with different combinations of market data sources (real-time feed
or file) and trading modes (manual or automated).

Manual trading is done with Simulators. Online Simulator works with real-time data feeds, which
are not available when the markets are closed on weekends. On the contrary, Offline Simulator can
be used anytime, anywhere - because it does not need an Internet connection. Manual Trading
operations are performed on the Simulation tab.

For Automated trading, a set of inbuilt trading strategies is provided on the Tester tab.
Alternatively, you can develop a strategy of your own, using a full-fledged C++ environment
provided on the Strategy tab. Any automated strategy can be run both on live data feeds and offline.

Most frequently used data feed control functions like pause or stop are located on the Toolbar. So,
they can be accessed at any time from any tab.

Back to Table of Contents

How to get the test data

You can record latest high quality tick by tick data for all 10 main currency pairs provided by
TrueFX.com. See the Quote Saver section for the details. In addition, you can download monthly
price quote files for 15 main pairs from TrueFX.com. It is handy to split monthly files into smaller
test files with a help of Data Manager.

Back to Table of Contents

How to use Trading Simulator

The first step is selecting the market data to test on. The Simulator supports both live data feeds
(when the markets are open), or historical prices from a .csv file.

For online simulations on live market prices, the software provides an inbuilt Forex data feed
(TrueFX WebAPI) as well as price importing from a MT4 terminal (via a special proxy EA).

To use the inbuilt feed, click the Online button on the Toolbar, and select a currency pair from the
drop-down list. If prompted, adjust the account currency (i.e., the currency in which your profit/loss
is reported).

To receive ticks from Metatrader, click the MT button on the Toolbar, and deploy the proxy EA
on a Metatrader chart. The detailed instructions and the link to download the Proxy EA are available
on the Real time tab (click the ? button to view).

For offline simulations on historical data, click the Offline button on the Toolbar, then click the
File button and select a file with historical market data. Then select the date and time when to start
the test.
NOTE: we also provided an inbuilt test data file. To use it, click the Load sample data button.

Once the test data is ready, click the green Play button on the Toolbar to start a Simulation. The
software will switch to the Simulation tab where you can monitor the market and perform your
trading operations.

For more details, check the Trading Simulator section.

Back to Table of Contents

How to use Strategy Tester

The Tester is powered by the same tick data engine as the Simulator, but it only works with
automated trading strategies.

1. Select an automated trading strategy from the drop-down list on the Tester tab.

2. Prepare the test data. For testing on a single data file, follow the steps outlined in the How to use
the Trading Simulator section. For back testing in batches, you need to load multiple data files; the
procedure is described in the Batch Testing section.

3. Click the green Play button on the Toolbar to start a test. Initially, the test will be run at
maximum speed, but you can adjust the speed on the fly using the control on the Toolbar.

NOTE: when running a test at maximum speed, avoid showing the tabs with tick graphs
(Simulation and Analyzer) for a long time: it might considerably increase the total test duration.

For more details, check the Strategy Tester (Automated trading) section.

Back to Table of Contents

How to use Automated Trader

After you have launched a simulation from the Tester, you can use the Trader to control a running
strategy.

1. Follow the steps of the How to use Strategy Tester section.

2. Open the Trader GUI by clicking the $ button on the Toolbar.

3. Change the trading strategy parameters on the fly, monitor trading statistics and access other real-
time strategy related information.

For more details, check the Automated Trader section.

Back to Table of Contents


How to use Trade Copier

NOTE: you can only use Trade Copier for the currency pairs supported by the TrueFX data feed.
Review carefully steps 3 and 4.

1. Click the Copy icon on the Toolbar.

2. On the Real time tab, select either Test or Trade mode.

3. Deploy the MT connector to a chart in your MT4 terminal.

4. Select the same currency pair from the dropdown list on the Toolbar.

5. Click on the green Play button.

For more details, check the Trade Copier section.

Back to Table of Contents

GUI

Every product has Main window with Toolbar and multiple Tabs, each one dedicated to a certain
functional area or a product. Depending on the installed license, some controls on each tab may be
disabled.

In addition, Automated Trader has its own GUI that opens in a separate window when you click
the $ button on the Toolbar. In this GUI, you can change parameters of a running strategy,
monitoring trading statistics, etc. It also provides a real-time graphical schedule of trading sessions
worldwide.

Toolbar makes the most important controls accessible instantly from any tab.

The controls (left to right) are: currency selector for Online Simulator, speed selector and open file
button for Offline Simulator, Metatrader Connector selector, Trade Copier selector, data feed control
buttons (play, pause, skip, stop), Automated Trader GUI button, automated strategy activation
button, favorite strategies' buttons. In addition, there are help and feedback buttons, software release
information and update buttons, and settings button.

Simulation is the main tab, which works as a dashboard. Here you can monitor the market, open
and close orders and stops. All market charts and indicator graphs are resizable with the mouse.

Zoom In tab enables analyzing market action and your trades with up to a single tick accuracy.
History tab shows full trading history. In addition, in the bottom pane, internal software logs are
printed, which can be used e.g., for debugging your automated trading strategy. Both panes can be
resized with the mouse.

Real Time tab provides live Forex market data for 10 main currency pairs via the TrueFX WebAPI.
The graph is provided to monitor the latency of the data server connection in real-time. You can use
the TrueFX feed to either run a live test on one currency pair, or to store the price data for all 10
pairs. In addition, this tab is used when importing real-time prices from your MT4 terminal via the
MT Connector. Live prices from either source are constantly recorded and at any time can be saved
locally to use them later for back testing.

Data tab is used for offline simulation and back testing. You can load tick data to run a market
simulation and practice trading manually. You can also specify a set of tick data files for automated
batch testing and select the speed for the Fast Test Mode.

Manager tab is a powerful tool to prepare historical price data for back testing. You can load a large
data file, view, and zoom it, then select a fragment and save it as a separate file. This functionality is
especially handy when preparing the data for batch testing.

Settings tab provides controls to change all global parameters, e.g., graphics mode or account
currency. You can also check for software updates and review the change log.

Help tab contains a copy of this guide and a set of How to... quick links.

License tab is used to install, validate, upgrade, and uninstall your software licenses.

Strategy tab provides all you need to develop your automated trading strategy. There is a C++ code
editor and the controls for the inbuilt C++ compiler.

Tester tab provides the information about the running test batch and the strategy testing results, in
both graphical and table formats - as well as the test report.

Analyzer tab provides our unique tool that detects the market extremes in real-time using our
proprietary algorithm. You can adjust the detector parameters with sliders.

Optimizer tab provides the tool to tune the Analyzer parameters to the current market situation.

Products tab is used to obtain and switch licenses for all free products.

NOTE: you can rearrange the tabs with the mouse.

Back to Table of Contents

SETTINGS

On the Settings tab, you can adjust the graphics parameters, select which indicators to show, check
for software updates, etc.
For both tick graphs on the Simulation tab, you can select the size of the data window. For the
close-up graph (bottom left), the default size is 10 seconds, and maximum is 120 seconds. For the
other tick graph (top left), the range is 120-7200 seconds.

For the average graph (top right on the Simulation tab), you can set the data window size and the
averaging interval; supported values are M1/M5/M15/M30/H1/H4/D1. You can also select the
plotting mode: line or candlesticks. If the Scale to orders flag is set, the vertical scale is adjusted to
make visible all the orders placed during currently running simulation.

NOTE: averaging interval and indicators can also be selected from the context menu activated by a
right-click on the graph.

The indicator graph supports RSI, ATR or MACD. On the average graph, you can also plot
moving averages - (SMA and EMA); the number of periods used in their calculation can be set in
the Aver. window control.

For all graphs, you can activate the offset view, with a gap plotted between the latest value and the
right border of the graph area. You might find viewing graphs in this mode more comfortable.

Distance to market, pips (by default 5) is a minimum allowed price difference to the prevailing
price when placing Stop-loss or Take profit orders. The same value is used for both. Order fill will
fail if you try to place an order closer to the market than the minimum allowed distance.

Default Lot size is Mini (10,000). It can be changed between simulations. A trade size is measured
in selected lots. Maximum trade size is 100 lots.

Check for updates is performed automatically at every start-up. You can also do it manually using
the Check now button. If a new software version is available, the following dialog window will
open:

Clicking OK will open the download page with the software update in your browser.

The software change log is shown in the scrollable info window. The log is updated simultaneously
with a check for software updates.

Back to Table of Contents


TEST DATA

Smart Forex Tester supports both Back testing on historical market prices and Forward testing on
streaming real-time prices. Live prices provided by TrueFX are available via an inbuilt data feed. In
addition, you can import ticks from your Metatrader client terminal via a special connector - a proxy
Expert Advisor.

Back to Table of Contents

Back testing (Offline)

This mode is designed to test on the historical market data. Smart Forex Tester only works on the
tick-by-tick data, which is loaded as a .csv file.

We recommend using historical tick-by-tick data from www.truefx.com. Their data is free and high
quality; price archives for 15 main currency pairs are available as monthly files. You need to
download them to your computer and unzip before using in the Tester.

TIP: you can easily split a monthly quote file into smaller (e.g., daily) files with Data Manager.

To start back testing, click the Offline button on the Toolbar.

Next, load test data. One option is to use the File button and select a tick data file; it will be
immediately loaded.

Alternatively, you can use the Add File(s) button on the Data tab. This way, you can
simultaneously add multiple data files to the list (the software will remember this list on the next
start-up). But adding to the list didn't load the data; you need to select one file from the list and click
the Load Selected button.

For your convenience, the software also provides an inbuilt test data file. To use it, click the Load
sample data button on the Data tab.

NOTE: make sure the Batch execution mode box is not checked. This option is used for automated
testing only. See the STRATEGY TESTER section.

When the loading of your data file is complete, the calendar will show the first tick's date
highlighted in blue. For the data file on the screenshot below, it is November 19. The rest of the data
interval will be light colored. The parameters of the tick data will be also shown.

Note that tick data files can be large. On the example screenshot below you can see there were over
200K ticks for just one trading day.
You can select the desired simulation start date by clicking on it in the calendar. The start time can
be entered as hours and minutes or, alternatively, selected from the preprogrammed opening times
of the most important trading sessions worldwide.

NOTE: Times are UTC.

If you do not explicitly select date and time, a simulation will automatically start from the first tick
in the data file.

When the test data is ready, click on the green Play button on the Toolbar to start a simulation. The
focus will switch to the Simulation tab, where you can monitor the market action and place your
orders.

NOTE: while the calendar is for one month only, it does not mean test data files can't be larger. The
calendar always shows the first month, thus only limiting the test start date. The data file size is only
limited by the available RAM of your computer. Keep in mind that even one month of ticks requires
hundreds of MB.

Back to Table of Contents

Forward testing (Online)


This mode enables you to practice manual trading or test your automated trading strategy in real-
time - when the markets are open. Streaming Forex price quotes (provided by truefx.com) are
available for 10 main currency pairs via an inbuilt WebAPI client. In addition, using our MT
Connector, you can import live price data (not only Forex) from your MT4 terminal running on the
same Windows computer.

Live prices from TrueFX. To start live data feed, click the Online button on the Toolbar, select a
currency pair from the drop-down list, and press the green Play button.

To change the currency pair, stop the running simulation by pressing the Stop button on the
Toolbar, select a new pair as described above and press the green Play button again.

Internet access

Any real-time simulation requires a low-latency Internet connection, as the software is fetching the
price quotes from the TrueFX server over the Internet.

To monitor the quality of the server connection, the software measures the round-trip time (RTT)
and displays its last-minute real-time graph as well as longer term averages.

RTT is the time needed to request and receive one tick from the trading server over the Internet. The
smaller the RTT value, the closer your environment is to the real market. If you run the software on
a VPS located close enough to the TrueFX server, you can get up to 30 ticks per second. In any case,
we recommend that the average RTT value would not exceed 200 ms.

The software also reports the request rate. This is always higher than the tick rate since not every
request fetches a new tick.

If the Internet connection is lost while in real-time mode, the simulation will be paused. Connection
loss will be logged on the History tab and the market charts will show the DATA LOSS warning.

As soon as the Internet connection is restored, the simulation will resume automatically, but there
will be gaps in the graphs. On the candlestick graph, the gaps may be indicated by thin gray vertical
lines. The restoration of the connection will also be logged.

NOTE: the result of a real-time simulation can only be reliable if your Internet connection was not
interrupted.

Live prices via MT Connector. You can use data from your MT4 terminal, which is running on the
same computer. To establish a connection between Metatrader and Smart Forex Tester, you need to
use a special proxy EA. You can download the EA from the link provided on the Data tab. For the
details, see the Real Trading section.

NOTE: the software also provides a Copier functionality, where trade signals are generated on the
TrueFX data feed, but the trades are executed in Metatrader via the MT connector. For more details,
see the Automated Trader section.

To use the MT connector, first click the MT button on the Toolbar to make the Tester wait for a
connection. Then go to your MT4 terminal and deploy the proxy EA on a chart.

You can monitor the connection status in the Metatrader Alert log. Below is an example sequence of
messages that you should see (note that software versions may differ from those in your
installation).

The connection establishment only takes a fraction of a second. If the EA fails to connect, try
restarting both Metatrader and Tester and repeat. Once the connection is established, on the Data tab
the Tester will report the status as CONNECTED and you will see ticks coming in.

To trade via the MT connector, select the Trade mode. In this case, all trading commands - both
manual and from your automated strategy - will be sent for execution to your MT4 terminal. You
can pause and resume live trading with a help of the Enable trading box.

In the Test mode, Metatrader is used as a live data feed only and all trading is done internally in the
Simulator. You can save live tick data locally and use it later for back testing.

Now, you can start a simulation by pressing the green Play button on the Toolbar.

NOTE: to switch between the connector modes, you need to stop a running simulation. However,
when the simulation is stopped, the connector will remain in the CONNECTED state. So, you can
start a simulation again.

To switch to another currency pair, click the Disconnect button first. This will remove the EA from
the Metatrader chart. If you do this during a running simulation, it will be stopped. Then use the
connect procedure for another currency pair.

Back to Table of Contents

Quote Saver
Enables you to simultaneously record live prices for all 10 currency pairs provided by TrueFX.com
via their real-time WebAPI data feed. You can use saved quotes for back testing. If you use our free
software, you need to install the Online Simulator license to use the Quote Saver.

Quote Saver is the easiest way to get the latest historical tick by tick data. It is handy to record data
during the whole trading week and test on the acquired weekly tick data files.

How to record. On the Toolbar, click the Online button. On the Real time tab, in the Quote saver
box, click the Start button.

You will be shown a dialog window to select a directory where to save the price quote data. When
you do that and click OK, the quote recording starts. Price quotes will be saved as 10 separate .csv
files with names matching the currency pairs (e.g. EURJPY.csv).

Keep in mind that if the folder you specify to save recorded tick data already contains previously
recorded data, old files will be rewritten!

To stop recording, click the Stop button at any time.

NOTE: make sure you have the rights to write in the selected directory! The Quote Saver might not
throw an error when the folder is write-protected.

NOTE: When the Quote Saver is running, other products of the Suite are unavailable. But during
recording you can access the saved data and use it to test on another computer.

Back to Table of Contents

TRADING SIMULATOR

Is designed for both manual trading practice and back- and forward testing of automated strategies.
Includes a tick data engine and a trading server.

Data feed controls are located on the Toolbar. Green Play button is used to start a simulation, and
the Stop button ends a running simulation.

With advanced features like Fast Forward/Slow Motion and Time Shifting, the tick data engine
enables you to save a lot of your time when practicing manual trading.

The tool's dashboard is the Simulation tab, where main controls and graphs are located.
The status string in the bottom shows the symbol, the simulation type (online or offline), the start
date/time of the running simulation, current tick count and current time (for an Online simulation).
For an Offline simulation, all times are taken from the historical data.

Graphs

Real-time tick graphs on the left-hand side are updated with every new incoming tick. Both Bid
(red) and Ask (blue) lines are plotted. The upper tick graph can display a time interval from 2 min to
2 hrs. The other tick graph is a close-up, with a minimum time window size of 10 s. You can
configure the time window sizes for both graphs on the Settings tab.

NOTE: you can resize all graphs. Place the cursor on the separator between any two graphs, and
when the slider sign appears, click, and drag the slider to resize the graphs, then release. New sizes
will be remembered after software restart.

Top right graph displays averaged quotes, starting from M1. By default, candlesticks are plotted.
You can switch to line graph on the Settings tab.

Right-click on the graph activates the context menu, where you can select the indicator to plot,
adjust the visible data window size, and select the averaging interval.
Light-gray horizontal bar shows the value range of the close-up tick graph. Dashed horizontal line
shows the current market price. Dashed vertical line marks the date change. The graph can also plot
SMA or EMA, whose periods you can change on the Settings tab.

NOTE: left click on each graph will activate Zooming mode and focus will switch to the Zoom In
tab. To return, double click on the graph. For more details, check the Trade Analysis section.

The right bottom graph is reserved for indicators. Currently supported are RSI, ATR, and MACD.

Right-click on the graph activates a context menu, where you can select the indicator to plot, adjust
the visible data window size, and select the averaging interval.

Back to Table of Contents

Trading Operations

Trading controls are located on the bottom left of the Simulation tab.

Currently, Smart Forex Tester supports one active market order, with linked Stop-loss and Take
profit orders. Pending orders and multiple orders will be supported in later releases.

You can place a market order in one click using the Buy and Sell buttons. A trade size is measured
in lots, where the Lot size is configured on the Settings tab and can be changed between
simulations. By default, lot size is set to Mini (10,000). Maximum trade size is 100 lots.

On the graphs, orders are marked with a green triangle pointing up (BUY) and a black triangle
pointing down (SELL). For the active order, a horizontal dashed line is drawn at the price the order
was opened. The line is green colored if the position is profitable and red otherwise. Profit (loss)
value is written on the line.

You can place Take profit and Stop Loss orders simultaneously with the market order. For that,
before you press the Sell or Buy buttons, you need to check the TP or/and SL boxes, then set the
desired price by using arrow buttons or by entering it manually. The solid horizontal line is drawn at
the price level entered in the control.

Stop orders can also be placed at any time after the market order using Take Profit and Stop Loss
buttons. Clicking a button opens a dialog window where you can select a desired price level by
using arrow buttons or by entering it manually and pressing the OK button. A solid horizontal line
on the graph helps you adjust the price. When the price is set, press the OK button to place the
order.

The same buttons can be used to modify active stop orders.

The X Take Profit and X Stop Loss buttons are used to cancel stop orders.

NOTE: every time you try to place or move a stop order, its distance to the market is checked. If the
price entered is too close to the current market price, the order fill error will be returned. Minimum
distance to the market is configured by the Stoplevel parameter on the Settings tab.

If you use a dialog box to add or modify stops for an active market order, the Simulator
automatically calculates the minimum possible distance to the prevailing market price and does not
accept incorrect values. For your convenience, the arrow buttons are also colored. A red button
indicates that the price is too close and order placing command will not be accepted.

All your trading activity is shown on the History tab. See the details in the Trade history and log
section.

NOTE: when you start a new simulation, previous trading history will be deleted.

Back to Table of Contents

Data Speed Control

Trading practice with our Simulator is much more efficient than on a conventional practice account.
Thanks to variable data speed and time shifting features, you can fully concentrate on the market
action, forget interruptions and as a result spend much less time practicing. This is impossible to do
on any demo.

You can vary the speed of the data feed during an offline simulation and even in real-time, when
Time Shifting is used.
Online simulation can be put on hold with the red Record button. To unhold the simulation, press
the blue Play button.

Offline simulation can be put on hold with the green Pause button. To unhold the simulation, press
the Pause button again.

NOTE: Do not press Play button when pausing an offline simulation! It will start a new simulation
on the same test data.

By default, an offline simulation is always started at Normal speed. It means that ticks are sourced
at exactly the same intervals as they appeared on the market.

In the 2X (4X) mode, the ticks are sourced twice (4 times) faster compared to the Normal mode.
These modes are useful to save time when practicing trading in quiet markets. E.g., in Asian
sessions the time intervals between ticks can sometimes exceed 1 min.

The Max mode does not limit the time intervals between ticks anyhow, so the feed speed depends
solely on your hardware. This option is used mainly for debugging and demonstrations.

In the 1/2X (1/4X) mode, the ticks are sourced twice (4 times) slower compared to the Normal
mode. These modes can be used during fast-paced markets, e.g., to practice news trading.

Back to Table of Contents

Time Shifting

Time Shift feature makes it possible to pause/resume live data feed during an online simulation.
Time Shift is helpful when your real-time practice is interrupted. E.g., during an important phone
call, you can simply put your simulation on hold and the software will continue receiving live
market data and storing it in the memory; so that you could resume the simulation when you are
free.

To pause an online simulation, press the red Record button on the Toolbar. The Simulator will start
storing streaming prices internally. A red circle on the close-up tick graph will indicate the recording
is on, and the duration of the recording will be also shown.
NOTE: Trading operations are not possible during recording.

To resume the simulation, press the blue Play button on the Toolbar. The simulation will continue
from the next tick after the last one shown before the pause. The playback symbol will be displayed,
along with the current recording duration (i.e., the delay from current time).

As prompted by the feature name - time shifting - all the recorded ticks will be rendered with the
same delay.

During the playback, you can fast forward the recorded data by selecting the 2X or 4X speed from
the drop-down menu on the Toolbar. In this case, the delay will be decreasing, and eventually, the
data feed will become real-time again.

To switch to real-time immediately, press the Live button or select the Max speed on the Toolbar.
Alternatively, you can slow down the playback of the recorded data: available are 1/2X or 1/4X
speeds. In this case, the delay to real-time will be increasing.

All trading operations are possible during both fast forward and slow-motion playback, which
makes the combination of time shifting and variable data speed an extremely effective practice tool.

If the markets were slow moving during the time of recording, fast forwarding lets you catch up
with real-time without losing anything significant. This saves a lot of time because you can only
concentrate on essential market action - instead of waiting for it.

In turn, slow-motion playback can be extremely helpful for practicing trading fast market action that
happens e.g., around the time of major news releases.

You can also pause the playback at any time and at any speed. To pause, click the red Record
button on the Toolbar.

NOTE: If you want to use the recorded data offline, leave the Record button pressed before
switching off the network (e.g., before enabling the Airplane mode).

Back to Table of Contents

Trade History and Log


The History tab is divided into 2 panes: trade history and log. You can resize the panes by dragging
the separator with the mouse.

The table on the upper pane shows all the trades of the last simulation. For each trade, its size,
open/close time/price, and profit are shown. Profit is calculated in both pips and account currency.

In addition, account balance and maximum draw down are shown. If the test is run via the MT
connector, the initial balance is taken from the Metatrader account. For all offline simulations and
online simulations on the TrueFX live feed, the balance is set to USD 10,000.

The bottom pane shows the simulation log. Each log record starts with a time stamp. For online
simulation, time stamp is current time. In the back testing mode, the time stamps are copied from the
ticks in the historical data file.

Time stamp is followed by the log level (INF/ERR/DBG), or the ID of the product that printed the
message. As an example, on the screenshot below, the line with the ID PPA is printed by the Pivot
Points Analyzer, SFT - by the active strategy, and TRD - by the trading engine.

In addition to the simulation related, the log also contains information about software start-up or
stopping, data downloading or saving, etc. For debugging purpose, the log can also be written to
disk.
NOTE: when you start a new simulation, its log will be appended to the existing one.

Back to Table of Contents

TRADE ANALYSIS

To study market price action, investigate your trades and troubleshoot your automated strategy,
Zooming is provided.

To go to the zooming mode, left click on any graph on the Simulation or Analyzer tabs.

Alternatively, you can select an area to zoom into by clicking and holding the left mouse button on
the one side and releasing it on the opposite side. The selected area will be shown on the Zoom In
tab.

Regardless of the graph where you activate zooming, the graph on the Zoom In tab always shows
ticks, so you can see all the details with a 100% accuracy. Both Bid (red) and Ask (blue) lines are
plotted.

Once in the zooming mode, you can continue to zoom in by selecting a smaller area with the mouse
as described above. To zoom out, use left click.

You can also move the graph as a whole by clicking and holding the right button. Double click will
return you to the tab where you started from.

The vertical and horizontal lines drawn from the cursor help you find the price quotes and trades.
All the information is shown in the status line in the bottom.

On the above example screenshot, the cursor is positioned on the PPA bottom signal (blue dot). The
status line shows the tick # when it happened (43671), its timestamp with a millisecond precision
(18:30:06.038), Bid (1.38288) and Ask (1.38299).

The numbers in square brackets show the ticks interval that is currently plotted (40398 thru 44225).
The date of the test is also shown (2021 Mar 07).

Back to Table of Contents

STRATEGY TESTER

It is an all-in-one tool to evaluate automated trading strategies both offline on historical data and in
real-time. Provides a number of prebuilt strategies and enables you to automate your strategy in a
fully-fledged C++ environment.

The Tester uses the same advanced tick data engine as the Simulator. In addition, back testing is
possible to do in the Batch Testing mode. Forward testing is supported on both live TrueFX feed
and via the MT Connector.

Back to Table of Contents

Tester Dashboard

During a running test, the Tester tab displays all the essential information: the strategy under test,
the test data used and the test progress and results. In addition, on the History tab, you can find full
trading history and the Strategy Tester log - see the details in the Trade history and log section.

NOTE: it is recommended to monitor a running test from the Tester tab or others not having tick
graphs: otherwise plotting the tick graphs might significantly increase overall testing time.
Strategy control shows the strategy under test and its current parameters, like SL or TP, in pips. All
available prebuilt strategies can be selected from the draw-down list.

NOTE: to test your own strategy, select the custom option. For the details of how to develop a
custom strategy, check the Trading Strategies section.

Offline data control is used in the back testing mode: you can see the tick data file name, the
symbol and the time interval the tick data file spans. Data selection procedure is described in the
Batch Testing section.

Online feed control is used in the forward testing mode: you can see the symbol and the testing
mode, which can be TrueFX, MT/Test or MT/trade. In the latter case, trades are executed in a
MT4 terminal via our MT connector.

Test Progress control enables monitoring of the test completion, time elapsed in the historical file,
physical test run time, and the test speed as the ratio of the two. If forward testing is in progress, it is
indicated by the Live sign and the current time is displayed.

Test Batch Statistics control shows trading statistics for the closed trades from the beginning of the
batch, as well as the profit of the currently open order.

Save trades... button is used at any time to store a snapshot of all the closed trades as a .csv file.

NOTE: when you open a saved trades file in Excel, you might not see the timestamps with full
accuracy. In this case, you need to change the date/time format for the timestamp columns.
Profit graph shows the results of each trade (blue line) and cumulative test profit (red line). The
graph covers the time interval between the closure of the 1st and the last trades. Use cursor to select
a trade and its time and profit will be shown in the status bar under the graph.

Summary of all closed trades is shown in the table to the right of the profit graph. Full information
is available on the History tab.

Test report control shows the test statistics (profit, trades, etc.). If you run multiple tests as a batch,
the numbers for each test file are displayed.

NOTE: you can resize the graph and the table by dragging the separators with the mouse.

Back to Table of Contents

Batch Testing

This is a handy feature to run a series of tests on multiple data files in one go. To start batch testing,
click on the Offline button on the Toolbar. Then, on the Data tab enable the Batch execution mode
checkbox. Next, specify the test data: all the files present in the control will be run as a batch.

Edit the list of files you want to test on with a help of the Add File(s), Add Folder and Remove
Selected buttons. The Add File(s) button allows multiple selection. The Clear button erases the
entire list.

NOTE: the software will remember the batch content after restart.

When the batch is ready, on the Tester tab, select the trading strategy to test from the Strategy
drop-down list. Now, you can start the test with the green Play button. All the test data files that you
added in the batch will be executed one after another and the results for each test will be shown on
the graph on the Data tab. Trading statistics for each batch will also be shown on the Tester tab.

In the Batch testing mode, you can use the Fast Testing Mode that can speed up your testing up to
ten times, by running the tests only on a part of the ticks from the original test data file. Of course,
the more ticks you skip, the less reliable the test result will be. So, you might want to run the tests
multiple times with decreasing speed and monitor the consistency of the results.

Back to Table of Contents

Trading Strategies

Smart Forex Tester comes with multiple pre-built trading strategies that use market timing signals
from our Pivot Points Analyzer (PPA). In addition, a development environment is provided to
automate your trading strategy in standard C++ language.

For strategy customization, we provide a number of interfaces to the Tester engine to get relevant
market data and also send trading commands to either the inbuilt market simulator or a live trading
server (via the MT connector). PPA signals are also made available to any custom strategy.

You can load a strategy from a *.cpp file or type it in the edit window. Once ready, click Check
strategy button. This starts the inbuilt C++ compiler. The Compiler messages are shown in the
resizable window in the bottom.

Compiled trading strategy will be used when you start manual simulation or automated test. You can
temporarily disable and re-enable an active strategy by toggling the Strategy button on the Toolbar.

You can edit and recompile your strategy even if a simulation is running. If the Reload on the fly
flag is set, the currently running strategy will be immediately updated with the recompiled version.

NOTE: to use your custom strategy in testing and trading, you need to select the Custom option in
the control on the Tester tab.

Back to Table of Contents

Favorite Strategies

You can save up to 5 of your trading strategies as Favorites. This enables you to switch strategies on
the fly - both during testing and live trading.

To save a strategy: after successful compilation, click on Add to Favorites... button. In the dialog
window that opens, select a favorite button to save to. You can also store the strategy details as a
comment. When you hover the mouse over a favorite button, your saved comment will be shown as
a tooltip.

Switching between the favorite strategies happens when you press a favorite button on the toolbar.
This will load the strategy's source code into the strategy editor and the strategy itself into the Tester
ready for execution. If you press a favorite button when a simulation is running, the strategy will be
reloaded on the fly and it will be effective already from the next tick.

Back to Table of Contents

Interfaces between the strategy and the Tester

To program the logic of your strategy, you can use the standard C++ language. But to get the market
data from the Strategy Tester and work with the orders, you need to use the internal interfaces.

Currently, the following interfaces are supported. We are going to add others on need basis.

extern double Ask, Bid;


extern int Bars;
extern const char *Symb;
extern void LogPrint(const char *fmt, ...);
extern void PausePrint(const char *fmt, ...);

enum {
M1 = 60,
M5 = 300,
M15 = 900,
M30 = 1800,
H1 = 3600
H4 = 14400
D1 = 86400};

enum {
OP_BUY = 1,
OP_SELL = 2
};

enum {
SIG_PPA_MAX = 1,
SIG_PPA_MIN = 2
};

extern int PlaceOrder(int Operation, int Lots, double Price, double slip, double sl, double tp);
extern int CloseOrder(int ticket);

extern int Ticket;


extern int ErrorCode;
extern int OrderType();
extern double OrderPrice();
extern int OrderLots();

extern double RSI(int period, int Idx);


extern double StopLevel();
extern int GetTickCnt();
extern int GetTickTime();

extern void RefreshRates();


extern double GetVar(const char *v);
extern int Report(const char *v);

Back to Table of Contents

PIVOT POINTS ANALYZER

Pivot Points Analyzer (PPA) is a unique market timing tool. PPA uses our proprietary algorithm to
detect market extremes in real-time. PPA signals are used to time market entries and exits.

PPA signals can be used in manual trading, for example as reversal signals for scalping. But most
important application for PPA signals is automated trading, where complex trading strategies can be
developed based on patterns of PPA signals or using the confirmation of real-time PPA signals by
lagging indicators.

On the graphs, PPA signals are plotted as dots. Red dots denote market tops, and blue dots
correspond to the bottoms. PPA dashboard is the Analyzer tab.
The upper graph shows ticks (average line). You can resize the graphs by dragging the separator
with the mouse. Bottom graph is duplicated from the Simulation tab.

Pivot Points Detector pane provides the controls to tune the detector sensitivity. In general, the
greater are the parameter values, the fewer signals are generated. You can set the values by moving
the sliders with the mouse and then fine-tune with the arrow keys.

If you are just starting with PPA, it is recommended to begin with the parameters shown on the
above screenshot (100/100/254/5/15). Market timing signals for these values have been tested on
multiple Forex pairs, Gold and Silver and showed consistently high (70%+) potential win ratio. See
more details in the Automated Trader section.

NOTE: it is not possible to change PPA parameters on the fly - remember to set the values before
starting a simulation.

Play sounds control enables you to duplicate every PPA signal with a short audio tone.

To get more understanding how PPA signals are generated, we suggest using zooming - see more in
the TRADE ANALYSIS section.

PPA signals are made available in the C++ environment, so you can use them in your automated
trading strategy. On every tick the signals are accessible as follows:

bool isSigMax() { return Signals & SIG_PPA_MAX; }


bool isSigMin() { return Signals & SIG_PPA_MIN; }

The isSigMax() is triggered when a market top is identified, and the isSigMin() signals about a
market bottom.

NOTE: in C++ code, PPA parameters are taken from the Analyzer tab. In later releases, strategies
will be able to change the parameters programmatically.

Back to Table of Contents

PPA OPTIMIZER

While the default Pivot Point Analyzer parameters values have been tested working well enough, the
detection of market extremes can be made more accurate by adjusting the parameters to the recent
market price action.

A convenient way to get recent market data to optimize on is to save the ticks acquired from a real-
time data feed during an online simulation. The procedure is described in the Tick Data Recorder
section.

The tick data file for optimization needs to be loaded the same way as for the offline simulation.
Then, on the Optimizer tab, select the ranges for the parameters you want to optimize, and the
accuracy you want (number of iterations). When done, click on the Optimize parameters button
and the Optimizer window will open.
The upper table shows the optimization results, and you can also monitor the process on 2 inbuilt
graphs. To speed up calculations, turn off the graphs plotting by unchecking the Enabled (slowest)
box. When calculations are completed, you can plot the graphs for each set of the parameters. For
that, select a row in the table and click the Plot selected button.

For each price extreme, the optimizer calculates its quality. The algorithm evaluates the extent and
speed of the price change after the PPA signal. Maximum quality corresponds to the situation when
the price immediately goes in the direction opposite to the signal: e.g., decreases for a market top
signal. The Quality parameter in the result table is an average of all the extremes detected in a
single test.

When you finish, click the Close button. The Optimizer window closes but the results will be copied
into the table on the Optimizer tab. There you can select the best parameter set and make your
strategy use it by clicking the Apply parameters button.

NOTE: if you are just starting with the PPA, it is recommended to stick to the default parameter
values first. The market timing signals for these values have been tested on multiple Forex pairs,
Gold and Silver and showed consistently high (70%+) potential win ratio. See more details in the
Automated Trader section.

DATA MANAGER
It is a handy tool for back testing data preparation. A major use case for the Data Manager is the
splitting of one large tick data file into multiple smaller ones, which can be included into different
test batches.

Start with opening a price data file using the Load Tick Data button. After loading, the price graph
and the selected indicator will be shown.

To review the price action and select the data interval you want to test on, you can zoom in with the
mouse. Click and hold the left button on one side of the fragment being selected and release it on the
other. The graphs will be refreshed with only the selected fragment plotted. Repeat as needed.

Zoom out with the left click. At any time, you can return to view the loaded file as a whole - using
the Restore Original button or mouse double click.

To store the selected data interval as a separate file, click the Save Data Selection button and
specify the file name.

Save daily files: this convenient feature is intended to help preparing test data for the batch testing.
For example, you can upload a monthly data file, and save all the UK trading sessions during this
month as separate files - with one button click.

NOTE: you can use the Data Manager simultaneously with any running simulation.
Back to Table of Contents

TICK DATA RECORDER

At any time during a running simulation, you can store its price data on your computer using the
Save ticks... button on the Real Time tab. This feature is especially handy when testing on live
market.

When the button is pressed, a file save dialog will open. After you specify a file name, all the ticks
acquired from the start of the simulation until the current moment will be saved as a .csv file.

Ticks are saved in the format supported by the Offline Simulator. So, you can keep an online
simulation running for some time, record and save the tick data and use it later for the offline
testing.

NOTE: After you stop the simulation, all its ticks are still available for saving - until you start a new
simulation.

Back to Table of Contents

LIVE TRADING

In Smart Forex Tester Suite 3.0 live trading is performed via a MT4 terminal running on the same
Windows computer as the Suite. This requires a MT Connector - a special Expert Adviser (EA) to
be deployed in the Metatrader. The EA works as a proxy between the Automated Trader in the Suite
and the Metatrader trading server.

Let's explain live trading flow in more detail. When our proxy EA is deployed on a chart in the MT4
Terminal, the EA establishes a two-way connection with the Suite. The EA forwards to the Suite
every tick it receives from the Metatrader. The Suite passes the tick to the automated trading
strategy running in the Tester. If this tick triggers a trading decision (e.g., to place an order at this
price), the Tester responds to the Suite with the corresponding command. The Suite forwards the
command to the EA. Which, in turn, sends it to the Metatrader server for execution.

The EA is blocking in the onTick() method until it gets the response from the Suite, so the trading
command is always sent in reply to the same tick that triggered the trading decision. Communication
delay between the EA and the Suite rarely exceeds 10 mks, which is negligible compared to the
trading server delay. So, in most cases the EA has time to return from the onTick() method before
the next tick comes.

The MT connector can be switched to the test mode, which differs from live trading in that the
trading commands are never sent to the EA, but instead all the trades are executed in the internal
trading simulator - the way it is done for back testing and TrueFX real-time test feed.

You can switch modes in the MT/Copier control on the Real Time tab. Mode selection must be
done before starting a simulation. However, in the trade mode, you can pause sending new trades to
the Metatrader terminal by unchecking the Enable trading box.
Regardless of the MT connector mode, at any time you can save the ticks from live feed to the file to
use later for back testing. See the details in the Tick Data Recorder section.

Back to Table of Contents

AUTOMATED TRADER

The newest component of our Smart Forex Tester Suite 3.0, Automated Trader uses patterns of the
PPA market timing signals to build successful automated trading strategies.

With an appropriate license installed, the Trader is always enabled. You need to select an automated
strategy before starting any supported data feed.

For the strategy selection, use the drop-down menu in the Strategy groupbox on the Tester tab. All
the strategies in the list are hard-coded - except for the custom one, which you can code yourself in
the provided C++ framework (see the Strategy section).

You can open the Trader GUI by clicking the $ button on the Toolbar.

The GUI shows the trading statistics and provides the controls to change the parameters of currently
running strategy. You can configure StopLoss (SL), TakeProfit (TP) and MaxSpread.

NOTE: After you change a value in the control, it remains highlighted - you need to click the
corresponding Set button to make the change propagate to the strategy.

You can change the parameters on the fly. The changes will be in effect from the next tick.
However, in the case when there is an active trade, new values will be active from the next tick after
the closure of this trade.
Potential Wins is an indicator of market entry and exit quality. At every tick after a market entry
and until the position close, the software monitors maximum possible profit. After each closed trade,
the following cumulative statistics is displayed:
- number of trades that could have been closed with profit and potential win ratio
- maximum possible total profit (in pips)
- breakdown of total profit by the potential wins' size

These statistics are valuable metrics of the quality of both market entry (potential wins vs total
trades) and exit (net profit vs potential profit).

Back to Table of Contents

Real-time map of Forex markets

The Forex markets are open 24 hours 5 days a week. A trading week starts Monday morning in
Wellington and ends Friday afternoon in New York.

On the Time tab of the Trader GUI, you can find a convenient real-time map of trading session
worldwide. To access the GUI, click the $ button on the Toolbar.

The map shows 7 main trading sessions as horizontal bars which are painted green if trading is open,
and gray otherwise. Each bar also shows the time left to the end of the session or until the trading
starts.

NOTE: the session map is still under construction, so times shown can be incorrect.

Back to Table of Contents


Scheduler

Is intended to prevent the automated strategy from opening new trades during a specified time
interval - even if all market entry criteria are met.

If there is an active trade when the time restriction starts, the position will be closed.

To use the Scheduler, on the Tester tab set the times (in UTC) with the Stop at and Resume at
controls, then check the Restrict trading by time box.

The maximum duration of the restriction is 24 hours. If you enter the same time into both controls,
there will be no restrictions.

NOTE: you can enable/disable the Scheduler and change the times also during a running simulation.

Back to Table of Contents

TRADE COPIER

Free real-time data feed by TrueFX used in online simulations is high quality dealable prices.
However, only institutions can live trade on these prices. Trade Copier's idea is to use excellent
TrueFX real-time data feed to generate market timing signals while executing trades in your
Metatrader terminal via your broker.

Since the signals are generated on free TrueFX WebAPI feed, the Copier can only work on 10 main
currency pairs that this data feed supports. You can see the list of supported pairs in the drop-down
list on the Toolbar.

Technically, the Copier is a combination of two simultaneously running online simulations: one on
the TrueFX feed and the other in the MT mode via the MT Connector.

To use the trade copying functionality:

1. Click the Copy icon on the Toolbar.

2. On the Real time tab, select between the Test or Trade mode.

3. Deploy the MT connector onto a MT4 chart.

4. Select the same currency pair in the dropdown list on the Toolbar.

5. Click on the green Play button.

NOTE: if the MT4 symbol and TrueFX symbol are not identical, it is OK. But both feeds must
naturally be run on the same currency pair.

You might also like