UPDATE June, 10: we just released All-NEW Smart Forex Tester 1.0 (beta)! With C++ trading strategies, it provides EA-compatibility: after straightforward source code modifications, EA strategies can be compiled and run in the Smart Forex Tester environment. Subscribe to download.
If you are already our subscriber, contact us for the download link.
Smart Forex Strategy Tester is an automated testing tool.
It supports both back testing and forward testing.
For back testing, the tool reads the historical market data from a .csv file.
For forward testing, the live data is obtained from Metatrader.
During the execution, the Tester shows all the trades in the GUI in the real-time. The report is also shown. You can pause the plotting – e.g. to zoom into trade details. The testing will continue on the background.
In addition, full log is written in the distribution folder. The log file name is unique – it includes a timestamp and the data file the test was run on.
Getting Started
After you downloaded the distribution package, unzip it to your disk. It is important! The software won’t work if you just open the archive in Windows explorer.
The main installation folder SmartFXStrategyTester-x.y.z looks like this.
The distribution contains two executables – fst.exe (this is the Tester) and fdm.exe (it is the Data Manager).
To start the Tester, double click on the fst.exe. The following window will open.
On startup, you will also see one more (terminal) window. You can just disregard it or minimize it into the tray. We keep it visible in the early versions for debugging purposes. Later it will be hidden.
The tester takes in trading strategy as a .stg file. Click on “Select strategy” button and navigate to the data\Stragegies – subfolder of the distribution. There you will find examples of a day trading strategy (e.g. day-trading-strategy-20160402.stg).
There are several posts on the site that describes this sample strategy in more details, check out at least this one.
Back Testing
For back testing, the Tester expects the historical market data as .csv files. In the data-subfolder of the distribution there is one tick-by-tick market data file (EURUSD-2015-04-24-Asian-Session.csv).
When you download it, the GUI will look like this:
Now you are all set! Just click “Run” and our example testing starts.
Strategy Tester At Runtime
During the execution, the Strategy Tester will switch the GUI into tick mode and the legend will be displayed in the left top corner. You can hide it with the “Legend” button.
After a Stop order becomes active, it is closed as opposite to the original order and a green line is plotted for prrofitable trade and a red line for losses.
To see the test report, check the box “Report“. It is updated in real time.
The next screenshot shows the GUI after the example test has completed. The view during test execution is essentially the same.
You can study all the trades moving the cursor (seen as a black vertical line close to the right border of the plotting area) and reading the related data in the bottom left corner.
For example, in the screenshot the cursor is located at the tick 84396 (the test case starts from the tick #1). At this tick we see the Buy Stop order which was placed at 1.08769.
You can resize the GUI window with the mouse. You can also zoom in. For that, left click, and choose the area to zoom by dragging without releasing the mouse. (The area will be seen as a black rectangle). Having selected, release the mouse.
To zoom out, just left click on the plot area. Multiple clicks will eventually restore the original view.
Forward Testing
To run forward testing on live market data with Smart Forex Tester, you need to have your Metatrader terminal running and connected to your demo or real trading account.
You also need to download Forex Data Recorder. Here are the instructions how to use it.
NOTE: Before proceeding, start the Smart Forex Tester and select the trading strategy, as described in the section “Getting Started” above.
- download the software and extract the files from the archive.
- Start the forecorder.exe.
- Copy the Expert Advisor (foreCorder.ex4) to the Metatrader installation (…Program Files\MetaTrader 4\MQL4\Experts).
- Attach the Expert Advisor to the desired currency graph in the Metatrader.
NOTE: don’t forget to check the box “Allow DLL import“!
Now you are all set, and you will see the tick data coming to the Forex Data Recorder:
To start testing, check the “Live Data” box in the controls group under the name “Feed to Smart Forex Tester“. The Tester starts working as soon as it receives a first tick.
You can pause plotting by a “Pause” button, but test execution will continue on the background. Pressing “Resume” will return to the live plotting and show all the results.
The other box – “Test Data” is designed for debugging purposes. Forex Data Recorder has an inbuilt real-time test data generator which is useful when the Forex markets are closed.
At any moment you can start saving the tick data to the disk. Just Click “Start Recording” – button and specify a file name where you want to store the data. Once pressed, the start button will become the stop button.
Smart Forex Strategy Tester Controls
See the figure below. All the controls are located on the left-hand side of the GUI.
Input selection was explained in the previous section. Same for “Run” button. Buttons “Save” and “Delete” are intended for operations with zoomed in segments of the data file. Button “Exit” stops the software.
Next section of the controls makes possible to choose whether the graph can be zoomed of moved as a whole. You can also choose what kind of grid is plotted: lines, gray bars or none.
Here you can also select whether the test report is shown or not.
In the next section you can select how to plot the market data graph. You can show tick by tick market data by clicking bid/ask buttons. Alternatively, you can show averaged data – from M1 to M20.
Another oprions are filtered bid/asks or just one average curve. This might be convenient for better graph readability. All of them can be shown independently on others, or all three together. Real time trend indicator can be plotted independently.
The rest of the controls belong to the Pivot Points Analyzer.
Strategy Tester Includes Real-Time Pivot Poins Analyzer
The sample strategy state machine provided in the distribution implements our real-time pivot point detection algorithm. It analyzes market data in real time and detects the extremes and places the orders in the opposite directions. We use this algorithm as a part of any trading strategy, to get good market timing. You can try it yourself. The parameters of the detection algorithm are adjusted by inbuilt pivot points analyzer.
This convenient tool analyzes Forex market data and detects the market extremes that become turning points. To enable detection, select any of the options “Peak dots/line/both”. Then use the 3 slider controls below to adjust the detection threshold. On the screenshot above, you can see the turning points are marked as levels – short horizontal lines touching the averaged graph.
The same slider controls are used in the sample trading strategy. So you can first select the values of the parameters, and then re-run the trading strategy. Strategy tester will save the new test log.
For detailed instructions, check the Pivot Points Analyzer user guide.
Trading Strategy Definition Without Coding
Strategy Tester is run in fully automated mode. This means the trading strategy must be formalized. Any automated testing tool can’t work without strategy formalization.
The main difference of Smart Forex Tester is that no coding skills are required to write a formal strategy definition. Our design allows to do it only using simple logic.
To make this possible, we stripped all unnecessary from the definition. Basically, a user only needs to specify when to buy or sell and when to close orders. This is described with the help of a simple textual state machine.
To discuss the automated trading strategies building and development in detail, we have started a separate site – www.forextradingstrategieslab.com.
Hello
I don’t know why but a run the example and I got -20 pits profit, why this happen? once I got 63 pit profit but I can figure it out
Martin:
most probably you changed the pivot point analyzer parameters by moving sliders. The Tester remembers the current values.
You need to restore the values from the example. The easiest way to do that would be deleting fst.ini.user file. If this won’t help, please write directly to us at info@forexstrategytester.com
This software is totally confusing. so I ran the sample test. What next? How do I test my strategy with this software? How does that take instructions? How do I create a strategy to test with this software? I am afraid that your explanation beyond testing the sample file is not clear. Simply putting the explanation on how to execute a demo in the tester is not adequate. I think you would need to explain how it get to the stg format. I take it that the .csv files contain the data. How does one back test/forward test are questions that are unanswered.
Hello Carla,
our software uses strategy definitions as state machines. At the moment their functionality is limited, but the development is still ongoing. Another possibility is to define your strategy as an EA, and use the adaptor between the Metatrader and our software. We are finalizing the development of our Expert Advisor Tester. Stay tuned!
Cheers!
The Forex Strategy Tester Team
Hi,
I wanna let you know hereby, that I’m also VERY interested in testing my MQ4-EA’s with your software. So, please, if there is any development-version, send it to my email.
QUESTION: Will there be a possibility to proceed MULTICURRENCY BACKTESTTING (where one instrument influences to the others) too???
Hello Martin,
thanks for your comment. We will keep you posted.
Regarding multicurrency backtesting, we do plan on supporting it.
Cheers!
The Forex Strategy Tester Team
Hi Gordon,
I have the same question and situation as forextester above… I downloaded your application but now I am stuck.
How can I test my EA on your application?
thanks
Hi there Frank,
we are sorry if we created any confusion, but we didn’t state that Smart Forex Tester already supports EA testing. The development is ongoing and we hope to complete the first version within couple month. So you might want to check out later or subscribe to get updated automatically.
For your information, we just released the first piece of the software that works with Metatrader. Forex Data Recorder stores in real time ticks from Metatrader data feed that you can use them as test data offline. You can check it out: https://www.forexstrategytester.com/forex-data-recorder-from-metatrader/.
Stay tuned!
The Forex Strategy Tester Team
How do I change my Mq4 EA into your .stg format for testing?
Hi there Gordon
there is no need to convert Mq4 into .stg format. On our roadmap we have a DLL that will be linked with your Mq4 code in the MetaTrader. It will receive quote stream from Smart Strategy Tester and return the trading commands from the Mq4 code. In this way, EA testing can be done in Smart Forex Tester.
On another notice, our .stg files are text based state machines which are a powerful way of defining trading strategies without need of coding. They have other advantages as well. We will be developing this standard further and document them.
Stay tuned.
Cheers!
The Forex Strategy Tester Team
So where can i find the instructions to test my EA with your Smart Strategy Tester?
Gordon:
While MT4 integration is not on top of our priority list, we are aiming at implementing it this year.
If you are interested in trying and testing an early development version, drop us a mail as info@forexstrategytester.com and we will contact you when we start implementing.
Cheers!
The Forex Strategy Tester Team