Forex Real Profit EA
I must admit I am not a huge fan of scalpers in general and I’m even less attracted to pre-Asian session scalpers due to the liquidity problems that can be observed during that time of the day, problems that are often reflected into widened spread, slippage and requotes. I guess my adversity is mostly caused by the current state of the EA market: all over the globe there were a lot of really bad floods lately and it sure seems like the EA scene is trying to keep up by getting flooded with scalpers. Most of these are clones of Megadroid or Fapturbo and instead of buying one of them, you’re probably better off trading blindfolded by touching the chart to establish direction. However, every now and then an original scalper shows up and I believe Forex Real Profit EA to fall into this category.
By now you must have figured out that it’s a pre-Asian session scalper: the EA is supposed to trade between 21 and 23 GMT depending on the US DST but more details on that later. As a parenthesis, if you were wondering, US DST is in effect between the second Sunday of March and the first Sunday of November.
The robot comes equipped with set files for trading EURUSD, USDCHF, USDCAD, EURCHF, EURGBP, GBPCHF and EURCAD on the M15 timeframe, the main differences between the pairs being the trend filter usage, the take profit target and the allowed maximum spread. The manual also mentions CADCHF as a profitable symbol but because I received no set file for that and because Dukascopy does not have tick data for it (not to mention that many brokers don’t carry it) I decided to skip backtesting this particular currency pair.
It lurks in the market, patiently waiting for its trading time and it silently weaves a channel out of several Bollinger bands and some other arcane wizardry… When its trading session arrives, signals are calculated based on the current channel and the trigger is pulled one way or the other; pretty much like many other scalpers, the major difference being that the whole shebang comes out rather profitable.
As security measures, Forex Real Profit EA has some basic built-in news avoidance in the form of hardcoded future dates with news releases of major importance and it also has the aforementioned trend filter that is supposed to weed out trades against the underlying trend.
The stop loss is set at 100 pips for all the pairs it runs on, but the take profit setting is varied, ranging from 9 on USDCHF and EURCHF to as high as 30 pips on EURCAD. This gives a calculated risk:reward ratio that ranges from around 11:1 to around 3:1 depending on the currency you’re running it on. However, most of the time, the EA will close its positions a lot before they reach the stop loss if the market is going against it, resulting in a risk:reward ratio observed on live accounts of around 3:1.
The expert advisor has no issues with the NFA rules because it doesn’t open more than one trade at once for each currency pair, so it’s very broker friendly from this point of view but it’s quite sensitive to spread (and consequently to slippage and requotes) as you will be able to see from the backtests. The author recommends running it on an ECN broker and for good reason.
It’s worth mentioning that the EA has a short trade duration, the majority of trades closing in less than 2 hours.
Once again, we are facing a product website that is rather simple, without any of the marketing bullshit that you probably got used to, such as “live” videos, fake testimonials and the like. There seems to be a trend in this sense: most profitable EAs that I reviewed lately have sites without a lot of marketing crap.
I have to confess: the simple, friendly website and the live results are the main factors that ultimately determined me to write the review, with a focus on its proven live performance. Speaking of which, there are two live accounts featured there and I am going to take the liberty to add their widgets here.
First, we have an Alpari UK account that’s running for a bit longer than one year at the time of this writing (it’s active since early February 2010) with a total return of almost 80% and a drawdown a bit over 6%, having a risk/reward ratio of 3.2:1 and a profit factor of 1.56:
Second, we have an MB Trading account running Forex Real Profit EA since 18.05.2010, which must have been running something else before the starting date of the forward test, resulting in an “incomplete statement” message on mt4i if you check out the details. It’s worth noting that since it’s an MB Trading account, it’s running with the maximum allowed leverage of 1:50. This one has a banked return of over 90% in two thirds of the time that the first needed to get to 80%, but it also has an increased drawdown of 16.8% to go with that:
Aside from these, there are a few 2000-2010 backtests (well, 2007-2010 for EURCAD and 2003-2010 for GBPCHF) and a demo version of the robot which can be downloaded by registering on the forum.
There’s a bunch of time settings that allow you to configure the trading session of the EA with a minute resolution as well as an auto GMT feature. If you want to experiment with optimization, you have everything you need: the stop loss distance, the take profit target and the time settings. You can, of course, change the lot size manually or configure a risk and enable money management. By default, the EA set files are configured with risk 3, which is a rather sensible value that I will use on the live forward test account.
Even though it’s not recommended, you can disable the “hard” SL & TP and let the EA use its internal dynamically calculated values. You can also play with the maximum allowed spread and slippage but I wouldn’t set those any higher than they are.
There’s an InvisibleMode setting that lets you run the EA with the SL & TP controlled fully on the client side, which you should only enable if your broker seems shady.
As I mentioned in the strategy description, there’s also a trend filter that can be enabled or disabled, but what’s really interesting is that even though it is already NFA-compliant, the EA has an NFA option that allows running it with other EAs on a broker that implements the NFA restrictions in the client. If you enable this setting, the EA will not attempt to open positions that would hedge existing trades controlled by other EAs.
The last of the interesting parameters is a setting for the account free margin protection. This configures a threshold and Forex Real Profit EA will not open any additional trades if margin usage gets there. I imagine this setting can get really handy with 1:50 leverage. It defaults to 75% so the EA should be quite safe regardless of your broker.
Outside the USA DST (so during the winter), the author recommends running it on two charts, one using 21-22 GMT as its trade interval and the other 22-23 GMT. To this end, two set files with different magic numbers are supplied for each pair. During the USA DST (summertime, starting mid-March and ending early November), the author recommends running it on a single chart with double risk, between 21 and 22 GMT.
Naturally, I ran into some difficulties with backtesting this one because of the whole DST thing. I asked the author and the recommendation was to run it on the 21-22 interval all around the year assuming DST is enabled, which I’m pretty sure it is for history center data, so that was the first thing I did: I ran some 10 year backtests with the 21-22 GMT setting file to get a vague first impression. Call me Doubting Thomas if you will, but I did not stop there: I also ran the same backtests with the 22-23 GMT set file and finally ended up running all kinds of backtests with all the set files and you’re going to see the results below. Be prepared to add a lot of wear and tear to your mousewheel while scrolling down through this article. If you didn’t get a coffee, now’s the time to go for it. Also get a snack while you’re at it.
Moving on, I used the default settings, disabling AutoGMT and adjusting the operating hours to accommodate the broker GMT offset. The FXT files were created and performed in a GO Markets terminal. For the spreads, I used the GO Markets averages for the Asian session for the last couple of weeks, not only because that’s where I opened the live forward test account that runs Forex Real Profit EA but also because it suits the purpose: the spreads are good, although a bit higher than ECN spreads, which is perfect since there’s no commission in these history center backtests.
Just as a note, due to the large amount of backtests in this article, I will refrain from commenting each of them individually.
Seeing the charts next to each other like that, it quickly becomes apparent that the 22-23 interval performs way better than 21-22, with the small exception of GBPCHF where it brought a little less profit. However, that exception just goes to confirm the rule: it had an overall smoother balance curve. But let’s not jump to any conclusions yet; the above backtests were performed using Metaquotes history center data which is of a rather poor quality.
The drawdown was very low in all backtests, but it can be seen that everywhere (except the GBPCHF backtests again) the relative drawdown resulted from running Forex Real Profit EA on the 21-22 GMT interval is higher than the drawdown on the 22-23 interval. The maximum observed was 7.32% on EURUSD 21-22 versus 4.77% on EURUSD 22-23.
My next step would naturally be backtesting on tick data and here’s where I ran into a problem: there’s no DST for the Dukascopy historical data. So, to be able to properly do this, I proceeded to add DST capabilities to the script that exports the FXT files, resulting in an update that is now available for download on the tick data page. If you were wondering earlier how come I know exactly when does the US DST start and end, you have your answer now: it’s because I had to do some research for this whole thing. The result is that the script now supports enabling DST in the FXT file by the US convention or alternatively by the European rules.
Since it’s recommended to run Forex Real Profit EA on an ECN broker, I attempted to reproduce the ECN conditions as closely as possible. So, in addition to enabling DST, this meant creating the FXT files with a commission that I set to 0.8 pips and with the normalized max spread found on the ECN server of FxOpen throughout the Asian session during the past couple of weeks. Please note that I used the normalized maximum spread, not the average, so the tests running with fixed spread and commission are really some kind of a worst case scenario. If you’re wondering how I got the spread info, it’s related to another project of mine which I will likely unveil sometime during the following couple of months.
In addition to the backtests with commission and fixed spread, I also ran the same backtests with the GO Markets average session spreads and without commission to see what the difference would be between ECN and non-ECN. If that’s not enough, I also ran the backtests with 0.8 pips commission and real spread data. All of these are both on the 21-22 GMT interval as well as on the 22-23 GMT interval.
The tick data backtests were ran with AutoGMT set to false and with the default trading hours, the GMT offset of the data being 0 (well, except for DST when the data had an offset of UTC+1 to ensure a correct operation of the EA).
I will try to group the trades by pair and time interval so you can easily compare the results.
EURUSD 21-22 GMT
EURUSD 22-23 GMT
USDCHF 21-22 GMT
USDCHF 22-23 GMT
USDCAD 21-22 GMT
USDCAD 22-23 GMT
EURCHF 21-22 GMT
EURCHF 22-23 GMT
GBPCHF 21-22 GMT
GBPCHF 22-23 GMT
EURGBP 21-22 GMT
EURGBP 22-23 GMT
EURCAD 21-22 GMT
EURCAD 22-23 GMT
The first thing that I looked for and confirmed is that the 22-23 GMT backtests are indeed yielding much better results than their 21-22 GMT counterparts. This time even the GBPCHF one is better. In light of these tests, I believe 22-23 GMT to be easily the better time interval to run the EA.
Important edit 10.05.2011: According to the users (see comments below) and the author, in light of the recent changes (there were several new versions since I wrote the article) the 21-22 GMT interval is now better for the EA. I have changed the hourly interval of my forward test and I will let it trade using its default time interval for the time being, at least until I get a chance to do some more backtests of my own with the latest version.
Let’s take a look at the differences between the simulated ECN backtests (lower spread with 0.8 pips commission) and the STP backtests (higher spread, no commission). In many cases, the STP backtests came out better. Why? Because for pairs with low spread such as EURUSD, the 0.8 pips commission brings the cost per trade above the costs per trade for an STP broker. One thing to keep in mind when performing this comparison is that the spreads I used for the ECN broker were normalized maximum values while for the NDD/STP broker they were average. We are comparing the worst ECN case to the average STP case, so more or less peanuts and apples, but in the end, if we were performing the same procedure on average versus average I believe STP would come in not far behind. The question that naturally follows is: seeing these differences, is it really worth to run it on an ECN broker? And my answer would be: yes, as long as you have a high enough balance to afford using money management with a lotsize increment of 0.1.
Moving on, let’s compare the real spread backtests against the fixed spread backtests. In every single case, things were quite a lot worse and I’m asking myself: how come? Like I mentioned in the EURClimber review, it is known that the Dukascopy historical data spreads are wider than the current spreads of the ECN brokers, since the Dukascopy data is quite old and the spreads back in 2007 were not what they are today. Yet I wanted to see what is the average spread that’s causing this to happen so I ended up writing a small EA for this. When backtested, this EA calculates a dynamic spread average for a selected time period and keeps spamming the log with it. Just in case anyone needs it, it’s available for download.
I’ll create a small spread table with all the spreads I used and the values resulted from backtesting the AverageSpread EA mentioned above on the FXT files using Dukascopy spreads. Once more, the ECN spreads are the FxOpen normalized maximal spreads from the Asian session, while the STP spreads are the GO Markets average spreads for the Asian session.
|Pair||Time interval||ECN spread||STP spread||Dukascopy average||Dukascopy normalized max|
It’s easily visible that in the very best case the average Dukascopy spread was as big as the normalized ECN max spread for the whole session, not just that interval. Moreover, this was the better case: the 21-22 interval. The spreads for the 22-23 interval are so much higher, it’s scary. As it seems, unfortunately, the real Dukascopy spreads are not very useful to us since that’s definitely not the spreads that we are trading today. It’s only natural since some of the data is almost 4 years old already, but from now on I will think twice before backtesting an EA using historical spread data, simply because the trading conditions nowadays are so much better. In conclusion, we might as well ignore the real spreads backtests I ran.
I wasn’t going to stop here, though. What, you thought backtest-fest was over? Nope, you’re not getting away that easily. Since it has taken me a long time to write this, it should also take a long time to read it. Speaking of which, I’m cooking this article for about 2 weeks already and I ran over 100 backtests in total.
So, as you might remember, before the throng of backtests I mentioned that the author recommends running both the setting file for 21-22 GMT and the setting file for 22-23 on two different charts outside DST (so during wintertime). And here I was, facing a new problem: how do I selectively backtest an EA on a certain period of the year? For some reason, it didn’t occur to me immediately that I can simply omit the tick data for the DST period of the year when generating the FXT, but once I came up with this solution, all it took was a small modification to the scripts and I was able to export some gimped FXT files and perform the backtests only on the desired period of the year. Of course, once again I proceeded to backtest both the 21-22 set and the 22-23 set to compare the results a bit. I only ran these on ECN data because, after all, I just want to compare the two time intervals against each other.
EURUSD – outside DST
USDCHF – outside DST
USDCAD – outside DST
EURCHF – outside DST
GBPCHF – outside DST
EURGBP – outside DST
EURCAD – outside DST
And now it’s settled. With the notable exception of EURCAD, all other pairs performed visibly better on the 22-23 GMT time interval even when running exclusively outside DST.
Since it would be completely redundant to run the EA twice with the same settings, I ended up with a decision: even though I go with the officially recommended settings for most of the EAs I review, I will use my own settings in this case. I will run Forex Real Profit EA on a single chart, using the 22-23 GMT time interval all around the year. As for the risk, I will use 3 as supplied in the original setting files; it’s a very sensible value although the gains will likely not be spectacular.
To finally bring an end to the backtesting section and to give you some form of results that is easily digestible, I proceeded to merge the strategy reports for all 7 pairs for the 22-23 time interval (once again, we’ve determined that this one yields far better results) from the simulated ECN backtests into a single statement.
I take pride into being sincere, so once more I’ll be totally honest with you: I’ve had my doubts about Forex Real Profit EA due to the performance in the backtests using tick data with real spread. In spite of spending a very long time writing code for this article and backtesting, I was somewhat unsure whether I should write a review or not, at least until I measured the real spreads in the backtests and found out that they’re much higher than the spreads offered by brokers nowadays. On top of that, all my doubts were gone with the wind as soon as I’ve taken one more look at the live account statements featured on the product website. On Alpari, it has over one year, over 1000 trades and over 1000 pips – now that’s a truly impressive performance.
Still, it’s obviously a very picky robot when it comes to spreads, so if you decide to buy it, you should be very careful where you run it. Another thing that is to be expected is different performance from broker to broker. Even the author’s live forward tests are exhibiting very different trades, so this will be the norm rather than the exception.
The EA is sold as a yearly subscription priced at $199. While this may seem somewhat steep at the first glance, it’s relatively low when compared to the almost $40 per month that you have to cough up for KangarooEA or EURClimber. The refund policy for Forex Real Profit EA is 30 days no questions asked. Coupled with the yearly subscription model, this makes me think that the author is in for the long run.
As for my other recent reviews, I am attaching a live forward test account to this article. Even though it’s definitely going to be eclipsed by the author’s live accounts, I believe it’s important to have an independent live forward test. This time, since the EA is very spread-sensitive, I used a GO Markets L-Plate account. For now, it’s running v5.11 with risk 3 and with the set files that enable operation between 22 and 23 GMT. The forward test was started on 23.02.2010 and any updates to its configuration will be posted on the forward tests page
Edit 25.02.2011: This is actually an older account that I used for forward testing a different EA some 1 year ago. I now configured myfxbook to correctly start analyzing starting from the date when Forex Real Profit EA was started on it. If you’ve seen a weird balance curve with a lot of trades, that was the reason.