SmartForexTester.com is our new site that we started to host a free version of our new Smart Forex Tester product.
We already released paid version in the end of 2016. It is built on the new framework – the same we used to develop our Forex Simulator.
The new free Tester version will replace the currently available 0.9.5 software which was developed on the old framework and will be phased out.
As the old Tester, the new free version also uses tick-by-tick data only and can test on both historical price quotes and using inbuilt live market data feed.
Considerable improvement is added C++ support – as a means of trading strategy definition.
Also, you can use C++ environment to test EA if you have a source code. After some modifications, MQ code can be compiled in the Tester, and the interfaces are provided similar to MT to support trading operations.
UPDATE 12/27/2016: Smart Forex Tester 1.0 is available!
This article is deprecated! Expert Advisor (EA) testing as the source (MQ4) code is now possible with Smart Forex Tester – both on historical data and on live streaming prices.
============== OLD CONTENT ======================
Expert Advisor (EA) testing is possible with Smart Forex Tester, which is planned to be published between Christmas and New Year.
The release 1.0 will use a new platform (similar to that used by the Forex Simulator). The EA testing will be possible both on historical data and on live streaming prices.
The release will be of a prototype level; the main focus of it will be on the integration of EA testing functionality to the new tester framework. Therefore it will support a limited number of indicators and trading functions, and the GUI functionality will be limited as well.
Expert advisors will be tested as the source (MQ4) code. In the initial releases, the main focus in the EA testing will be on the feasibility of Forex trading strategies. Meaning that the highest development priority will get the EA functionality that is responsible for programming the market entry and exit decisions.
The trading features will be implemented reusing the same state machine mechanizm currently supported in the Tester. But this will be made transparent for the EA testing module – by middleware. This layer will be receiving new ticks from the Tester engine and translating trading commands rom EA into the states of the tradiing state machine.
In the next releases, when the core features in the new framework are ready and software is stable enough, more EA functions will be supported. Also the GUI functionality will be brought to the level currently available in the Tester (zoom, mouse operations, etc).
Subscribe and download current release of Smart Forex Tester to be updated automatically.
This page is deprecated. We switched to C++ strategies.
Download new Smart Forex Tester. (requires FREE subscription)
We have developed the first version of Smart Strategy Builder.
Currently we are testing the prototype and will make it available to our subscribers soon.
The Builder reads a trading strategy file and makes it all the strategy parameters visible and editable in the Builder GUI. There you can also edit and save the strategy file itself.
You can test the changes in the strategy or its parameters by clicking a “Run” – button. The Strategy Builder launches the Tester and executes the strategy test on the previously selected test data. The results are returned to the Builder and shown in the GUI.
The Tester GUI is also shown during the test and also some configurable time after its completion. All Tester functionality is available. You can analyze the trades in the GUI and also in the log, as usual.
The current values of the parameters are saved in a temporary file. So the Builder can restore them on the next start-up.
Smart Strategy Builder Development
When completed, this tool will take our automated trading strategies development to the next level.
Later releases of the Builder will extend our strategy format. While still using the standard state machine for routine trading operations, the Bulider will support the arbitrary code for market signals.
This way, the Builder will make the first steps to support the EA syntax as a strategy definition.
Expert Advisors will be supported as a means to define Forex trading strategies under test in the next major release of the Smart Forex Tester. We are already working on that important new feature.
To give you some background, Smart Forex Tester is natively working with trading strategies defined as text-based state machines. We have developed a simple price action strategy example that illustrates how it is working.
But for some users, expert advisors are more familiar tool so it makes sense to add such option to the Smart Forex Tester. How can we do that?
First of all, let’s note that we can’t use the Expert Advisors in binary format (i.e. .ex4 – files). This is virtually prohibited by the Metatrader’s license. Without doing reverse engineering (which is out of question, of course), we can only test binary EAs if we have access to a Metatrader server. Which is just too costly for this purpose.
Fortunately, this is not a show stopper. If we define our own strategy that we want tested, we must have access to the source code. This is doable.
Expert Advisors Put Into The Sandbox
We will be using Expert Advisors normally in their “native habitat” – Metatrader. But we will replace all function calls that manipulate quotes and orders with our own functions. Other functions can work with Metatrader normally.
So we can see that Expert Advisors will be sand-boxed. After that, you can run the trading strategy tests like you normally do.
How to prepare the Expert Advisor for the test? You can open it in any text editor and made a context search-replace. We might also provide a simple tool for doing that.
Subscribe to be updated on the current development status.
In addition to back testing, Smart Forex Tester can also test trading strategies on live market data – in real-time!
For this functionality to work, you need to download the latest version of Forex Data Recorder, which receives real-time quotes from Metatrader via a special Expert Advisor (included in the download bundle).
Smart Forex Tester Reads Ticks From Metatrader
The figure below schematically shows how forward testing works.
The EA box inside the Metatrader client terminal is a specially developed Expert Advisor.
Forex Data Recorder receives the ticks from the Expert Advisor and re-translates them to the Smart Forex Tester. All communication is implemented with the help of Windows messaging. This is fast and reliable method of data exchange within one machine.
Forex Data Recorder can save the received data to the file for later use for back testing. This is done in parallel with casting. In addition, the software has inbuilt test data generator which is useful for debugging purposes during the time when Forex markets are closed.
Forex Trading Adviser is a new software that we are developing. It is designed for strategy optimization and trading automation (both full and semi-).
It is not too difficult to fully automate Forex trading. To do that, you only need to formalize your trading strategy and have a trading terminal that supports trading automation.
Such tools are fully available to the broad public. Maybe the best example is Metatrader, which is used by the vast majority of non-institutional Forex traders. You can automate your trading strategy there with a help of an Expert Advisor – a program written in a simplified C-like language.
Still, it is safe to say that most often trading is done entirely manually. We think the main reason behind that is that people lack clear cut trading strategies that they can automate. In addition, the majority of amateur traders are not at all comfortable with coding and testing software.
During manual trading, full attention is required from the trader. But even bigger problem is stress. In our opinion, optimal solution would be to combine both methods – manual and automated. In such semi-automated approach, a trade can be entered manually, but then its monitoring is done automatically by the software. Alternatively, the software can start an automated strategy, but afterwards the trader will be monitoring the trades and interfere if needed.
All this (and much more) will be possible with the Forex Trading Adviser.
Forex Trading Adviser: In between Manual And Automated Trading
We are developing a stand-alone Windows software, called Forex Trading Adviser. It works in connection to Metatrader terminal. Via a special Expert Advisor, it receives market data in real time and sends back trading commands when necessary.
Trading Adviser will have a convenient GUI that will compensate for almost non-existent user interaction functionality of expert advisors. It can also modify an expert advisor’s behavior at runtime. Which otherwise can’t be done without the expert advisor restart. So Adviser and Advisor complement each other.
One of the use cases for the Trading Adviser can be dynamic adjusting of the threshold for the stop-loss and take profit orders. For example, the Trading Adviser can trigger them based on some averaged market quotes.
Let’s go in more detail how we can protect our position. If we use a standard stop order, Metatrader will trigger it when the market price matches the stop order. But it might be just a whipsawing that can only last several ticks. Using trailing stops will work no better.
To minimize the effect of whipsawing, we can activate the protection after some level is breached, and then use simple averaging on the interval of 5-10 latest ticks to get more reliable decision whether to exit the market or wait for more evidence of our wrong positioning.
Alternatively, we can use some indicators and only close the position when the threshold is confirmed by them.
Technically, the communication between the Trading Adviser and expert advisor is implemented using Windows messaging. Every time a new tick comes from Metatrader to the expert advisor, the latter sends a message to the Trading Adviser, which makes a decision and sends back a trading command, if needed.
Even in the very fast-moving market, we can only get maybe tens of ticks a second. This is many orders of magnitude less compared to the speed with which any computer can process the messages. So the delay added by the Trading Advisor software is absolutely harmless.
Please comment on this post – do you think a product like Forex trading adviser is needed? What functionality would you like it to provide?