smart forex tester suite (c)...strategy tester is a tool to develop and evaluate an automated...

31
CONTENTS Overview Products Terms and Definitions Licenses Software update Quick Start How to use the Trading Simulator How to use the Strategy Tester GUI 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 Bonus - tab Settings Test Data Offline (Back testing on historical data) Online (Streaming real-time prices) Trading Simulation (Manual trading) Data Speed Control Order operations Time shifting (pausing the live data feed) Orders history and log Trade Analysis Strategy Tester (Automated trading) Batch Testing Strategy Editor Favorite Strategies Interfaces between a strategy and the Tester

Upload: others

Post on 24-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

CONTENTS

Overview

Products

Terms and Definitions

Licenses

Software update

Quick Start

How to use the Trading Simulator

How to use the Strategy Tester

GUI

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

Bonus - tab

Settings

Test Data

Offline (Back testing on historical data)

Online (Streaming real-time prices)

Trading Simulation (Manual trading)

Data Speed Control

Order operations

Time shifting (pausing the live data feed)

Orders history and log

Trade Analysis

Strategy Tester (Automated trading)

Batch Testing

Strategy Editor

Favorite Strategies

Interfaces between a strategy and the Tester

Page 2: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

Tester dashboard

Orders history and log

Pivot Points Analyzer

Optimizing the Analyzer parameters

Data Manager

Tick Data Recorder

Semi-Automated Testing

Real Trading

OVERVIEW

Smart Forex Tester Suite is a set of advanced tools for developing and testing your Forex trading

strategy, both in real-time on live market and offline on historical price data. You can use the Suite

to practice manual trading, and also automate your trading strategy with the standard C++ language

and test it on the variety of market data. You can record price quotes from the live data feed to use

them later for back testing.

The Suite includes a unique generator of market timing signals, tick-by-tick graphical trade analyzer

and test data preparation tool.

The Suite can seamlessly switch a running trading strategy between testing and real trading. Trading

operations are performed via a Metatrader client terminal with a help of a special connector. The

Suite receives live market data from Metatrader and sends the signals and trading operations back at

the same tick.

Products

The Suite functionality is divided into multiple independent products that are accessible from the

same GUI. All products use the same functional modules in different combinations, which are

enabled by a software license.

Online Simulator streams live real prices to practice manual trading when the Forex markets are

open.

Offline Simulator renders locally stored historical data to practice manual trading at any time, even

when the markets are closed.

Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both

on historical prices and on live data feed.

Smart Simulator includes Online and Offline Simulators with the Time Shift feature and MT

Page 3: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

connector.

Smart Forex Tester Suite is the top of the line product that includes all the features listed above

(with more to come).

Back to Table of Contents

Terms and Definitions

Simulation - modeling the Forex market with the purpose of testing a strategy. Can use the market

data from a file or live data streaming.

Offline - a synonym for back testing, i.e. using the historical data for the simulation.

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

simulation.

Time Shifting - a technology that enables pausing and resuming the live data feed for the online

simulation.

Back to Table of Contents

Licenses

To use any product of the Suite, you need to install a software license.

Free licenses are obtained and switched directly in the software GUI, on the Products tab. Free

licenses only require a subscription, which is also free. 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 after the purchase. To install a premium license, on the License tab

enter your license code and the email address that was used for payment, then click the Validate

button. The license status will change to installed and the license type will also be shown, as in the

below figure.

Page 4: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

You can uninstall a license of each type by using the Deactivate 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

The software is checking for the updates automatically at every start-up. If a new version is

available, a dialog window will open with the link to the download page. Also, the Update button

on the toolbar becomes active; clicking the button will open the same dialog window.

Alternatively, at any time you can check for the updates manually using the Check now button on

the Settings tab.

To install a newer version of the software, follow exactly the same procedure you used to perform

the initial installation. Installing updates doesn't affect your installed license - unless you uninstall

the software before updating. In this case, you'll need to install the license again.

NOTE: remember to stop the currently installed software before updating! Otherwise the

installation will fail.

Back to Table of Contents

QUICK START

On start-up, the software will show the Products tab, where it displays all the available products. If

you have any license installed, the products included in your license will have the Use button. Click

it to select a product you want to work with from the list of enabled ones.

If you don't have any license or want to switch to a different product, use the buttons to acquire a

proper license and restart the software when prompted.

Page 5: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

The software can be used for different combinations of data source type (live feed or file) and

trading type (manual or automated).

Manual trading is done with Simulator. Online Simulator works on a live data feed, which is not

available when the markets are closed on weekends. On the contrary, Offline Simulator can be used

any time, anywhere - because it doesn't need an Internet connection.

Trading operations are performed on the Simulation tab.

Automated trading always requires Tester. The Strategy tab provides a full-fledged C++

environment to develop your trading algorithm. Then you can run the strategy on both live data feed

and offline.

Most frequently used functions related to the data feed (e.g. as 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 use the Trading Simulator

The first step is selecting the market data to test on. The Simulator supports both live data feed (if

the Forex market is open), or historical prices from a .csv file.

For the simulation on live market prices (i.e. online), the software provides an inbuilt data feed

(from TrueFX) and ticks import from a Metatrader client 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. Adjust the account currency if prompted. Account currency is the one used in the

reports to calculate your profit/loss.

To receive ticks from Metatrader, click the MT button on the Toolbar, and deploy the proxy EA on

the Metatrader chart. The detailed instructions and the link for EA download are available on the

Real time tab (click the ? button in the bottom to view).

For the Offline Simulation on historical data, click the Offline button on the Toolbar, then click the

File button and select a file with historical market data. In addition, the software provides an inbuilt

test data file. Click the Load sample data button, and select the date and time when to start the test.

Once the test data is ready, click the green Play button on the Toolbar to start the Simulation. The

software will switch to the Simulation tab where you can monitor the market and perform the

trading operations.

Back to Table of Contents

How to use the Strategy Tester

Page 6: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

Go to the Strategy tab and prepare your C++ trading algorithm: either load it from a .cpp file or

type it in the editor. You can use our sample 3-RSI based strategy available on the software

download page as a template to develop your own strategies.

Now prepare the test data. For testing on a single data file, follow the same process as described

above for the Simulator. For batch testing, load multiple data files.

When all is ready, navigate to the Tester tab and click the green Play button to start the test at

maximum speed. When started from any other tab, the test will initially be run at normal speed. You

can adjust the speed manually.

NOTE: avoid switching to the Simulation tab when an automated test is running. Plotting graphs

during a running test will considerably increase the total testing time.

Back to Table of Contents

GUI

The GUI consists of the Toolbar and a number of Tabs, dedicated to certain functionality or a

product. Some controls on each tab can be disabled if not allowed by the installed license.

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

The controls (left to right) are: currency selector for online simulation, speed selector and open file

button for offline simulator, Metatrader connector selector, data fee manipulation buttons (play,

pause, skip, stop), trader GUI button, automated strategy activation button, favorite strategies'

buttons. You can also find help and feed back buttons, release information and update buttons, and

settings button.

Simulation is the main tab, which is a combination of the dashboard and the control panel. Here you

can monitor the markets, place or close orders and stops. All market charts and indicators are

resizable.

Zoom In tab is designed to facilitate analysis of the market action and your trades. You can analyze

the price quotes and your orders with an absolute (tick-by-tick) accuracy.

History tab shows full trading logs. In addition, internal software logs are available, which can be

used e.g. for debugging your automated trading strategy. You can resize the internal log window.

Real Time tab provides live market data for 10 main currency pairs - without any account. There is

a real-time latency graph to monitor the quality of the data server connection. In addition, you can

import live prices from your Metartader terminal via our MT Connector. Live prices can be

recorded and saved locally to use them later for back testing.

Page 7: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

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 provides a powerful tool to work with historical price data for back testing. You can

load a large data file, view and zoom it, and save a selected fragment as a file. This is especially

handy when preparing the data files for the 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.

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

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

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.

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

Products tab is a starting tab for all free products. Here you can obtain or change all free licenses.

Premium products start from the last used tab.

Bonus tab provides the tools for you to share our free software with friends - and get rewarded with

a premium products!

Back to Table of Contents

SETTINGS

On this tab, you can adjust the graphics parameters, select which indicators to show, check for

software updates, etc.

For the tick graphs, you can select the size of the data window. For the close-up graph, the default

value is 10 seconds, and the max is 120 seconds. For the other tick graph, the range is 120-7200

seconds.

For the average graph, you can set the data window size and the averaging interval

(M1/M5/M15/M30/H1). 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.

Page 8: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

With Plotting accuracy parameter you can adjust the scale of all the price graphs. The parameter

value defines how many digits after decimal point are used. The default value is 4 digits.

The Indicator graph can plot RSI, ATR or MACD. On the average graph, you can plot the

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. In this mode, the graphs will be plotted with a gap

between the latest value and the right border of the graph area. You might find viewing graphs in

this mode more comfortable.

For the Trading server, you can set the min and max values of the response delay. The Simulator

generates a random delay value for each request. This setting is only available for Offline (back

testing) mode.

Stoplevel (measured in pips, default 5) is a minimum allowed distance to the market when placing

Stop-loss or Take profit orders. The same value is used for both. Order fill will fail if you try to

place the order closer to the market than the minimum distance.

The default Lot size is Mini (10,000). It can be changed between the simulation runs. The deal size

is measured in selected lots. The maximum deal 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 release notes are shown in the scrollable info window. During every software update check the

release notes are also updated if needed.

Back to Table of Contents

TEST DATA

Page 9: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

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 the historical tick-by-tick data from www.truefx.com. The data is free and

high quality; you can get the quotes for 15 main currency pairs since 2009. The price data is

available in monthly files. You need to download them to your computer and unzip before using in

the Tester.

To start the back testing, click on the Offline button on the Toolbar. Then use the File button to pick

a tick data file from your computer. Alternatively, you can use the Add Test File button on the Data

tab.

You can add multiple data files (the software will restore this list on the next start-up). However,

you can only use one at a time for the simulation. Select a file in 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 Run Tests in Batches box is not checked. This option is used for automated

testing. See the STRATEGY TESTER section.

When the data file loading is complete, the calendar will show the first tick's date highlighted in

blue. For the data file on the screenshot below, it is March 19. The rest of the data interval will be

light colored (March 20 on the screenshot).

For the trading days with lots of market action, tick data files can be very big. Note on the

screenshot there were over 250K ticks in less than 24 hours!

Page 10: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

NOTE: monthly tick data files are large, so their loading might take a while. You can monitor the

progress of loading in the status bar in the bottom. In the case of any loading errors, they will be

logged on the History tab.

You can select the desired simulation start date by clicking on it in the calendar. You can also

specify the start time. The options available include standard opening times of the trading sessions -

Asian, European and North American, as well as manual time select.

If you don't explicitly select date and time, the 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 the simulation.

The focus will switch to the Simulation tab, where you can monitor the markets and place your

orders.

NOTE: While the tab shows the calendar for one month only, it doesn't set a month limit to the size

of the test data file. 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. Keep in mind though, that even one month

of ticks requires hundreds of MB.

Back to Table of Contents

Forward testing (Online)

Page 11: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

This mode enables you to practice in the real-time when the Forex market is open. The streaming

price quotes (provided by www.truefx.com) are readily available for 10 main currency pairs -

without any account. In addition, using our MT Connector, you can import live price data from

your Metatrader client terminal running on the same computer.

Live prices from TrueFX. To start the 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.

NOTE: before each online simulation, the Tester will download the latest price data (3000 ticks or

about 4 hours). So, the price graphs will be plotted with a delay, whose value depends on the quality

of your Internet connection (normally, less than 1 min). While the data is plotted in real-time during

download, the order operations are not possible.

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.

Internet access

The real-time simulation requires a low-latency Internet connection, as the software is fetching the

prices quotes from the server over the Internet.

To monitor the quality of your connection, Smart Forex Tester constantly measures the round trip

time (RTT) and displays its last minute real-time graph as well as longer term averages.

Page 12: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

RTT is the time needed to request and receive one tick from the trading server over the Internet. The

smaller the RTT value, the better you can simulate the real market. We recommend you to pay

attention to the RTT measurements and make sure the average value doesn't exceed 500 ms.

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. Connection restoration will also be logged.

NOTE: The real-time simulation result can only be reliable with an uninterrupted Internet

connection. While the Smart Forex Tester does its best in handling the connectivity issues, this is

only done to improve user experience.

Live prices via MT Connector. To use the data from your Metartader client terminal, it needs to be

running on the same computer and receive the data from your broker. To establish the connection

between Metatrader and Smart Forex Tester, you need to use a special proxy EA that you can

download from the link provided on the Data tab. See more details in the Real Trading section.

To use the MT connector, first click the MT button on the Toolbar to make the Tester waiting for a

connection. Then go to your Metatrader terminal and deploy the proxy EA on a chart. The EA will

try to connect to the Simulator, and will report the status via Alerts. You should see the following

sequence of messages (software versions may be different).

Page 13: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

Connection establishment only takes a fraction of a second. If the EA fails to connect, try restarting

Metatrader and Simulator and repeat. Once the connection is established, the Simulator will report

the status as CONNECTED and you will see the ticks flowing into the Simulator.

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

Back to Table of Contents

TRADING SIMULATOR (Manual trading)

Is used to practice trading and test your trading strategy by placing all orders manually. Can be used

offline as well as on live price data when the market is open.

Trading practice with the Simulator is much more efficient than on a conventional demo account -

thanks to the variable data feed speed and Time Shifting. These features let you fully concentrate on

the market action, forget the interruptions and as a result spend much less time compared to any

demo.

Time Shifting enables you to put the live data feed on hold in Online mode.

In the top left corner of the control area, you can see the start date/time of the running simulation,

followed by the current time (for the Online simulation). For the Offline simulation, the time is

taken from the historical data. The number in brackets is the current tick count.

Page 14: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

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

To help you make trading decisions, this tab provides you a number of price charts and indicators. 2

graphs on the left show ticks in real-time. The upper graph can display from 2 min to 2 hrs. The

other graph is a close-up, with a minimum window size of 10 s. You can configure the window sizes

for both graphs on the Settings tab.

NOTE you can resize all the graphs. Place the cursor on the border between any two graphs, and

when the slider sign appears, click and drag the slider to resize the graphs, then release. The

software will remember the sizes after restart.

The top right graph displays averaged quotes, starting from M1. The light horizontal bar shows the

value range of the close-up tick graph. The dashed horizontal line shows the current market price.

The dashed vertical line marks the date change. The middle graph also shows the SMA or EMA

indicators, whose periods you can change on the Settings tab.

Right-click on the middle graph activates the context menu, where you can select the indicator to

plot, adjust the visible data window size, and select the averaging interval.

Page 15: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

You can select the plotting style (line or candlesticks) on the Settings tab. By default, the

candlesticks are used.

NOTE: Left click on the middle graph will switch to the Zoom In tab. Double click there will bring

you back to the main view.

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

Right-click on the bottom graph will activate the context menu to select the indicator to view, adjust

the visible data window size, and select the averaging interval.

During the Offline simulation, you can put the current simulation on hold with the green Pause

button. To unhold the simulation, press the button again.

During the Live simulation, you can put the current simulation on hold with the red Record button.

To unhold the simulation, press the blue Play button.

To end the Simulation of any type, use the Stop button.

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

Back to Table of Contents

Data Feed options

It is possible to vary the speed of the data feed during Offline simulation and when Timeshift is

used.

By default, the data feed is always started in Normal mode. It means that ticks are sourced at

exactly the same intervals as they appeared on the market.

Page 16: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

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 doesn't 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

Working with orders

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.

On the graph, the orders are marked with a green triangle pointing up (BUY) and a black triangle

pointing down (SELL). The active order is also marked with a horizontal dashed line drawn at the

price the order was opened. The line is colored green if the position is profitable and red in the

opposite case. The profit (loss) value is written on the line.

You can place the Take profit and Stop Loss orders simultaneously with the market order. For that,

before you press the order button, check the Take Profit or/and Stop Loss boxes located just above

the Buy button. Set the desired price 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 Stop Limit and Stop Loss

buttons. Clicking a button opens a dialog window where you can select the desired price level using

arrow buttons or by entering it manually and press the OK button. The solid horizontal line on the

graph helps you adjust the price. When the price is set, press the OK button to place the order.

Page 17: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

The same buttons can be used to move active stop orders. With the X Stop Limit and X Stop Loss

buttons, you can cancel stops.

NOTE: Every time you try to place or move a stop order, its distance to the market is checked first.

If the price you entered is too close to the current market price, the order fill error will be returned

by the trading server. The minimum distance to the market is configured by the Stoplevel parameter

on the Settings tab.

If you use a dialog box to add or move the stops for the active market order, the Simulator

automatically calculates the minimum distance to the currently effective market price and doesn't

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 won't be accepted.

NOTE: It is still possible for a stop order to be declined after the command was accepted - if the

price changed unfavorably before the server receives the command.

All your trading activity is presented on the History tab.

Back to Table of Contents

Time shifting

Timeshift feature makes it possible to pause/resume the live data feed during the Online simulation.

It is very helpful when your real-time practice is interrupted, e.g. by an important phone call. Using

the time shift feature, you can put the running simulation on hold and resume it later at any time.

As long as your Internet connection stays active, Smart Forex Tester will continue receiving the

market data and storing it in the memory. The recorded data can be also used offline later.

Timeshift both saves your time and helps you use your time very effectively.

To pause the Online simulation, press the red Record button on the Toolbar. The Simulator will

start storing streaming prices internally. The LHS tick graph will show the red recording symbol and

also show its duration.

Page 18: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

NOTE: Order 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 record duration (i.e. the delay from the 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.

Page 19: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

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 the real-time will be increasing.

All order 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 the real-time without losing anything significant. This saves time because you can only

concentrate on essential market action - instead of waiting for it.

In turn, slow-motion playback can be very helpful for practicing trading fast market action that

happens e.g. around the time of major news releases.

To switch to the real-time immediately, press the Live button or select the Max speed on the

Toolbar.

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

Page 20: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

Orders history and log

The History tab has a table showing all the orders for the current simulation. For each order, its size,

open/close time/price, and profit are shown. For the active order, SL and TP values are shown as

well. The profit is shown both in pips and the account currency.

The bottom part of the tab is reserved for the simulation log. Each log record starts with a time

stamp, which in the case of Online simulation corresponds to the current time. In the back testing

mode, the timestamps are taken from the ticks in the historical data file.

The time stamp is followed by the log level (e.g. INF or ERR), or the ID of the product that printed

the message. E.g. on the screenshot below you can see the log lines with the ID PPA - these are the

signals reported by the Pivot Points Analyzer.

In addition to the PPA signals, standard log messages are written during the software start-up, test

data download, trading operations, etc.

NOTE: the trading history will be rewritten when you start a new simulation.

Back to Table of Contents

TRADE ANALYSIS

Page 21: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

To investigate your trades and study the market price action, you can use the zooming functionality.

To go to the zooming mode, left click on any graph on the Simulation tab.

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 as a tick graph, so you can see all the details

with a 100% accuracy.

Once on this tab, you can continue zooming in by selecting a smaller area with the mouse as

described above. To zoom out, use the left click. Double click will return you to the Simulation tab.

You can also move the graph as a whole by clicking and holding the right button.

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 BUY order symbol. The status line

below the graph shows the tick # when the trade happened (14872), its timestamp with a millisecond

precision (18:20:03.754), bid (1.106795) and ask (1.06817). Other numbers in square brackets show

the ticks interval that is currently plotted (14848 thru 15101). The date of the test is also shown

(2020 Mar 19).

Back to Table of Contents

STRATEGY TESTER (Automated trading)

Page 22: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

It is an advanced tool for automating your trading strategy by programming all the decisions and

trading operations in powerful C++ language. Smart Forex Tester provides a strategy editor and an

inbuilt C++ compiler. You can also run tests in batches. Consequently, automated strategies can be

tested much faster and with much better accuracy - compared to manual testing.

Back to Table of Contents

BATCH TESTING

Go to the Data tab and prepare the tick test data as described in the Back testing (Offline) section.

If you want to automatically run tests on multiple data files, check the Run Tests in Batches box. In

this case, all the test data files in the list will be executed one after another when you start the test

with the green Play button.

During Batch testing, the Fast Test mode is available. Fast Test mode can speed up your testing

tenfold, 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 will be the test result. 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

STRATEGY

Smart Forex Tester supports standard C++ language and provides a development environment to

automate your trading strategy.

You have a number of interfaces to the Tester engine to get relevant market data and also send

trading commands to the market simulator.

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 the 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: the Tester doesn't save the source file automatically before compilation - but it does that on

exit.

Back to Table of Contents

Favorite Strategies

Page 23: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

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 real 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, ...);

Page 24: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

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 OrderType();

extern double OrderPrice();

extern int OrderLots();

extern double RSI(int period, int Idx);

extern double StopLevel();

extern int GetTickCnt();

extern void RefreshRates();

extern double GetVar(const char *v);

extern int Report(const char *v);

Back to Table of Contents

Tester Dashboard

The Tester tab is a dashboard for testing automated trading strategies. You can see all the test

parameters and monitor the test results.

NOTE: The Tester can be activated on both offline data and the live data feed. You can use the

Online testing mode to generate live Forex signals.

To run the test, you need to select a data source and define your trading strategy.

Page 25: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

Strategy control shows the file name of the selected strategy. The procedure of strategy compilation

is described in the Strategy section.

Offline data control is used in the backtesting mode: you can see the tick data file name, the

currency pair and the time interval for testing. The data selection procedure is described in the

Batch Testing section.

Test Progress control lets you monitor the percentage of the test completion, the time elapsed in the

historical file, the physical test run time, and the test speed as the ratio of the two. If the Online

(Forward) testing is in progress, it is indicated by the Live sign and the current time is displayed.

Test Batch Progress control shows the number of the currently run test in the butch, as well as the

current total test results for the whole butch.

Profit graph shows the results of each trade (blue line) and cumulative profit (red line) as a function

of time. The graph covers the time interval between the closure of the 1st and the last trades. The

cursor on the graph allows you to check the time and profit of every single trade - they are shown in

the status bar below the graph.

A summary of the closed trades is given in the table. The full version is available on the History tab.

The 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: The test report only shows already closed trades. The active order is not counted.

Back to Table of Contents

Orders history and log

The History tab has a table showing all the orders for the current simulation. For each order, its size,

open/close time/price, and profit are shown. For the active order, SL and TP values are shown as

well. The profit is shown both in pips and the account currency.

The bottom part of the tab is reserved for the simulation log. Each log record starts with a time

Page 26: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

stamp, which in the case of Online simulation corresponds to the current time. In the back testing

mode, time stamps are taken from the ticks in the historical data file.

The time stamp is followed by the log level (e.g. INF or ERR), or the ID of the product that printed

the message. E.g. on the screenshot below you can see the log lines with the ID PPA - these are the

signals reported by the Pivot Points Analyzer.

In addition to the PPA signals, standard log messages are written during the software start-up, test

data download, trading operations, etc.

You can also print your own messages from the C++ strategy. See the interface details in the

Strategy section.

NOTE: the trading history will be rewritten when you start a new simulation.

Back to Table of Contents

PIVOT POINTS ANALYZER

Pivot Points Analyzer (PPA) uses an original algorithm to detect market extremes in real-time. Its

main purpose is to help you better time your market entry and exit.

The PPA signals can be used independently, which is especially useful in day trading (e.g. for

scalping). In addition, you can use them as part of the complex trading strategies, where you can

benefit from combining fast PPA with lagging indicators.

The PPA will plot the detected market extremes as dots. The red dots correspond to market tops, and

the blue dots - to the bottoms.

Page 27: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

The PPA signals are duplicated on the Simulation tab.

You can tune the detector sensitivity with the 3 sliders. Increasing the parameters' values will result

in detecting fewer peaks.

You can pause the analysis clicking the Pause button and investigate the detection results using

zooming features the same way as described in the TRADE ANALYSIS section.

You can also access the PPA signals in the C++ environments to use them in your automated trading

strategy. The signals are calculated on every tick and 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: Currently, the PPA signals in an automated trading strategy use the peak detector values

that are set on the Analyzer tab. Later on, it will be possible to change the values from the strategy.

Back to Table of Contents

Page 28: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

PPA OPTIMIZER

Optimizing Pivot Point Analyzer parameters makes the detection of the market extremes more

accurate, because now you can adjust the detector parameters to best fit the recent market price

action.

A convenient way to get the recent market data to optimize on is to save the latest ticks acquired

when you run a simulation on the real-time data feed. For that, go to the Real time tab and use the

Save ticks button to store the ticks to a file.

Then on the Data tab, load this file and go to the Optimizer tab. There select the ranges for the

parameters to optimize, and the accuracy you want (number of iterations). Then click on the

Optimize parameters button and the Optimizer window will open.

The upper table shows the results of the optimization, and you can also monitor the process on 2

inbuilt graphs. To speed up the calculations, you can turn off graphs plotting by unchecking the

Enabled (slowest) box. When the software completes the calculations, you can plot the graphs for

each set of the parameters - just select a single row in the table and click the Plot selected button.

When you finish, click the Close button. The Optimizer window closes but the software will copy

the results 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.

Page 29: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

For each price extreme, the optimizer calculates its quality. The algorithm evaluates the extent and

speed of the price change after the 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 the single test.

DATA MANAGER

It is a handy tool for back testing data preparation. The most important use case for the Data

Manager is splitting a large tick data file into smaller files that you can add to your test batches.

Start with opening a market data file using the Load Tick Data button. After loading, the price

graph and selected indicators will be shown.

You can zoom in with the mouse to review the price action and select the data interval you want to

test on. Press the left button on one border of the fragment being selected and release it on the other.

The graphs will be refreshed and show the selected fragment.

Now, use the Save Data Selection button to store the currently visible data interval as a file.

At any time, you can return to view the whole loaded data using the Restore Original button or

mouse double click.

Back to Table of Contents

TICK DATA RECORDER

Page 30: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

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 the 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 that Offline simulator supports. So, you can keep 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, you can still save all its ticks - until you start a new

simulation.

Back to Table of Contents

SEMI-AUTOMATED TESTING

This is the most efficient testing mode when you are developing your automated trading strategy.

The benefit of this approach is convenience and time savings. You don't have to have all the

elements in place to start testing. You can always place an order manually and let the algorithm to

continue, or vice versa.

For a ready strategy, the same mode can be used in trading. It is analogous to flying a modern

aircraft: the autopilot is used in standard predictable situations but is manually overridden by the

pilot when more complicated decisions are required.

You can allow an automated strategy to operate on stable markets, and take breaks or just relax from

staring at the monitor. You can always regain controls once things get complicated. You can also

place a trade yourself but let the algorithm follow it up and take the profit or cut the losses.

Back to Table of Contents

REAL TRADING

One of the most powerful features of the Smart Forex Tester suite is that you can use it in real

trading.

The tool is designed so that the trading strategy execution is made independent of the data source.

Which means that you can not only test on any data but also use the same strategy to trade. In

addition, the Pivot Point Analyzer signals can be sent to the trading terminal.

Real trading functionality is based on the inbuilt MT Connector. It receives the ticks from the MT

Terminal installed on the same computer, via a specially developed proxy EA. The communication

between the MT and the Smart Forex Tester suite is two-way. The Suite can respond to each tick it

receives with the PPA signal or a trading command.

Let's explain the automated trading flow in more detail. The proxy EA is deployed on a chart in the

Page 31: Smart Forex Tester Suite (C)...Strategy Tester is a tool to develop and evaluate an automated trading strategy. You can test both on historical prices and on live data feed. Smart

MT Terminal, and it forwards every tick it receives from MT to the MT Connector enabled in the

Suite. The Connector passes the tick to the automated trading strategy running in the Tester. If this

tick triggers a trading decision (e.g. to plase a BUY order at this price), the Tester responds to the

Connector with the corresponding command. And the Connector forwards the command to the EA.

Which, in turn, sends it to the MT trading server.

The communication between the MT EA and the Suite is very fast. The delay normally doesn't

exceed 10 ms, so in most cases, the MT EA has enough time to send a trading command to the

trading server in reply to the tick when the trading decision is made. This is virtually impossible to

accomplish when trading manually.

When the MT Connector is active, you can temporarily disable responses from the Suite by

unchecking the Enable trading box on the Real Time tab.

Back to Table of Contents