smart forex tester suite (c) › wp-content › uploads › ... · smart forex tester suite is the...

23
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 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) Test Data Strategy Editor Interfaces between a strategy and the Tester Tester dashboard Orders history and log

Upload: others

Post on 04-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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

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)

Test Data

Strategy Editor

Interfaces between a strategy and the Tester

Tester dashboard

Orders history and log

Page 2: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

Pivot Points Analyzer

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. It can be used to practice manual trading, both on real live prices and offline. You can also

automate your trading strategy with the standard C++ language and test it on the variety of market

data. A graphical tool is provided for the tick-by-tick analysis of your trades and the market action.

You can prepare the test data for the back testing yourself by recording the live quotes and editing

them.

The tool can generate market timing signals and also allows using any strategy for real trading.

Inbuilt MT connector receives live market data from your trading terminal and sends the signals and

trading operations back on the same tick.

All the features are using the same GUI and the same simulation module. All the functionality is

divided into separate products.

Products

Any Forex strategy testing tool must have two key elements: a source of market data and a

mechanism to execute the trading commands.

A trading strategy can be executed either manually or automatically. The test data can be either the

real-time price quotes from a live data feed or the historical prices stored in a file.

These different combinations of data feed and trading automation level are enabled in the different

products included in the Suite.

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

markets are open.

Offline Trading Simulator renders historical data to make it possible to practice manual trading

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.

Simulator Plus includes Online and Offline Simulators and adds the Time Shift feature.

Page 3: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

Smart Forex Tester Suite is the top of the line product that includes all available features with

more to come.

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 the back testing, i.e. using historical data for the simulation.

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

simulation.

time shift - a technology that enables pausing and resuming the live data feed for the online

simulation.

Back to Table of Contents

Licenses

Note: this help describes all the functionality available in the Suite. Please check your license

description for the information on the features included.

You can obtain any free license and switch between them directly in the software GUI. Free

licenses only require a subscription, which is also free. The license key is locked to the email

address used for subscribing. The licenses never expire: it is valid as long as you stay subscribed.

Premium licenses need to be installed. Enter the email address used for payment and your license

code, then click the Validate button. If the license is valid, its status will change to installed and the

license type will also be shown.

You can uninstall any kind of license by using the Deactivate license button. This is needed e.g. for

upgrading from a free license to a premium one.

Back to Table of Contents

Software Update

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

Page 4: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

available, a dialog is shown that provides you the link to the update download page. You can also

check the updates manually at any time using the Check now button on the Settings tab.

To install a newer version of the Smart Forex Tester Suite, follow exactly the same procedure you

used to perform the initial installation. Installing updates don't require any license manipulations - as

long as you don't uninstall the software prior to upgrading. In which case, you will need to install the

license again.

Back to Table of Contents

QUICK START

On start-up, the software displays all the available products; those included in your license will

show the Use button. Click it to select a product you want to work with from the list of enabled

ones. If you need a different product, use buttons to acquire a proper license and restart the software

when prompted.

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.

The 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

First, you need to prepare the data you want to test on.

For the Online Simulation on live market prices, click the Online button, 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.

For the Offline Simulation on historical data, click the Offline button, then use the File button to

download the historical market data from a file. There is also an option to use an inbuilt test data

file. If preferred, adjust the date and time when to start the test.

When the test data is prepared, click the green Play button to start the Simulator. Now you can

monitor the markets and perform the trading operations.

Page 5: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

Back to Table of Contents

How to use the Strategy Tester

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

type it in the editor. If you are not yet comfortable with C++, you can start from our sample 3-RSI

based strategy available on the software download page.

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. If you

start from another tab, the test won't be run at maximum speed.

Back to Table of Contents

GUI

The GUI consists of the Toolbar and set of Tabs, dedicated to certain functionality or product.

Toolbar makes some important controls (mostly related to the data feed manipulation) accessible

from any tab.

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

can monitor the market data charts and indicators, place or close orders and stops.

Zoom In tab is designed to facilitate analysis of your trades and market action. 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.

Real Time tab provides the live market data for 10 main currency pairs without any account. In

addition, you can input any live data from your trading terminal via the MT Connector. There is

also a real-time latency graph to monitor the quality of the data server connection. You can enable

and disable the recording of live data.

Data tab is used for offline simulation and back testing. You can load tick data to run a market

simulation and practice trading manually. Here you can specify a set of data files for automated

batch testing, and select the speed for the Fast Test Mode.

Manager tab is a handy tool to prepare the historical data for the back testing, especially for the

batch mode.

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.

Page 6: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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 an editor for

the C++ code, as well as the controls for the inbuilt C++ compiler.

Tester tab provides the information about the test being run, and also the strategy testing results, in

both graphical and table formats - as well as the test report.

Analyzer tab provides our tool to detect market extremes in real-time based on our proprietary

algorithm.

Products tab is a starting tab. Here you can obtain or change a free license, or select which product

to use from already installed ones.

Bonus tab provides the tools to share our free products and be rewarded with a premium license.

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 in the top row, you can select the size of the data window. For the LHS (close-

up) graph, the default value is 10 s, and the max is 120 s. For the RHS graph, the range is 120-7200

s.

For the averaged quote graph in the middle, 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.

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.

Indicator graph in the bottom can plot RSI, ATR or MACD. On the middle 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 the 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 margin. 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

Page 7: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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 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

The Smart Forex Tester supports both Back testing on historical market prices and Forward

testing on streaming real-time prices.

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

Page 8: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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.

The screenshot below shows how the loaded inbuilt sample data looks like.

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

(November 2nd). The whole data interval will be light colore (November 2-3). As you can see, there

were over 300K ticks in just 2 days!

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

Page 9: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

Forward testing (Online)

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, the MT Connector lets you use any live price data supported by

your trading terminal.

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 downloaded data is plotted in

real-time, 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 the averages for the longer term.

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.

Page 10: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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 trading terminal, it needs to be running

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

MT and Smart Forex Tester, you need to deploy a special proxy EA on the MT chart. After that,

click the MT button on the Toolbar, and make sure the connection is established, and press the

green Play button. See more details in the Real Trading section.

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 are, 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.

The trading controls are located on the left-hand side of the Simulation tab.

Page 11: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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

upper graphs show ticks in real-time. The LHS graph is a close-up, with a minimum window size of

10 s. The RHS graph has bigger display window size - from 2 min to 2 hrs. You can configure the

window sizes on the Settings tab.

The middle 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.

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.

Page 12: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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.

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.

Page 13: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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 from the release 2.0.

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.

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

Page 14: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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.

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 15: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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

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.

Page 16: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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: Both the log and the trading history will be rewritten when you start a new simulation.

Back to Table of Contents

TRADE ANALYSIS

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.

Page 17: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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.

For example, on the above screenshot, the vertical line is set on the SELL order symbol. So we can

see the trade happened at tick #13416, with bid 1.10369 and ask 1.10373. Other numbers in square

brackets show the ticks interval that is currently plotted (12839 thru 13564). The date of the test is

also shown (2015 Nov 02).

Back to Table of Contents

STRATEGY TESTER (Automated trading)

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

TEST DATA

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.

Page 18: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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 results' consistency.

Back to Table of Contents

STRATEGY

The Smart Forex Tester provides a powerful development environment to program your trading

strategy by supporting the standard C++ language.

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

trading commands to the market simulator.

On this tab, you can load a strategy from a *.cpp file, or type/paste it in the edit window.

Check strategy button starts the inbuilt C++ compiler. The Compiler messages are shown in the

window in the bottom.

Execute flag, if enabled, results in loading the strategy to the Tester after successful compilation; to

be executed immediately.

Reload on the fly flag defines whether to update the recompiled strategy during the running test.

NOTE: the Tester doesn't save the source file automatically before compilation - but it does that on

exit.

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.

extern double Ask, Bid;

extern int Bars;

extern const char *Symb;

extern void LogPrint(const char *fmt, ...);

enum {

M1 = 60,

M5 = 300,

M15 = 900,

M30 = 1800,

H1 = 3600

Page 19: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

H4 = 14400

D1 = 86400};

enum {

OP_BUY = 1,

OP_SELL = 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();

Back to Table of Contents

Tester dashboard

This 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.

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

is described in the Strategy chapter.

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 Test

Data 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

Page 20: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

of time. The time of the last closed trade is marked by the arrow in the bottom right of 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. Currently, 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

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: Both the log and the trading history will be rewritten when you start a new simulation.

Back to Table of Contents

Page 21: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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.

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

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.

Page 22: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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

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

Page 23: Smart Forex Tester Suite (C) › wp-content › uploads › ... · Smart Forex Tester Suite is the top of the line product that includes all available features with more to come

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

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