This is a spin-off thread from a previous one (Why Would Someone Sell a Highly Profitable System?" http://www.forexfactory.com/showthread.php?t=493085 ).
As a couple of members have shown interest to help me validate a well-behaved EA. I'll post here the things related with that, the EA details and specs and, I hope, the very good results as me and maybe some of you try it.
A well-behaved automatic system
For starts let's define a well-behaved EA (system). One possible definition here:
1) Is profitable in the long term (years) and in shorter terms. Another way to put it is that you win more days than not, it's difficult to lose during a week and
almost impossible to lose during a month.
2) Operates in many symbols (currency, metals and indexes), with a single configuration running only one instance of the EA (in a single chart).
We need many symbols because the underlaying logic has to be simple and general. Operating in many symbols means that we are less dependent of a single symbol being trendy or having a specific behaviour... that's good. Having it in a single chart is a must in a production environment, we don't want to keep 30 charts open!.
3) Operates frequently, say 4 operations per day. We need to have relevant stats and be able to stop soon if the system goes off-track.
4) Frequent stops, if someone shows you a graph of profit with time without loses he is obviously cheating. The more stops the better in order to have statistically relevant data.
5) Max drawdown (or better max drop from previous equity peak) has to be controlled, and known. The less surprises the better.
6) All ops have security TP & SL, to minimize the disasters
7) If some kind of recovery is done to an operation (compensating, edging, martingale) it will always be limited in the number of additional orders and volume.
When I code an EA I try to build it to be that way. That definition can be discussed, but I assume everybody would like to have something like that.
How the EA we're going to try operates?
This EA uses filters that are not based in the price. I'm running demo accounts with different standard systems (MA crosses, Heiken-Ashi, Maringales,...) and the current performance of those systems running on all pairs will give us the 'filtering' conditions. I also scan news and community sentiment values for all pairs (in thos we have no data we need to calculate the synthetic values). All those calculations and checks are done in a linux server I hired.
The EA:
- It is loaded in a single one minute chart, usually a chart receiving frequent ticks, for instance EURUSD.
- The EA will check every minute some classic indicators (RSI, MAs) for every pair (24 currency pairs, gold and silver) and decide if it is a good time to buy (symbol is oversold) or if it is a good time to sell.
- If one of these conditions appear the EA will contact the linux server, and there 3 extra filters will be applied taking into acccount:
- news for that symbol, past and future,
- community sentiment values and
- correlation with other systems giving indication of the current status of the symbol
(more on this on next posts)
- The server will 'score' the signal and will answer to the EA if an order can be opened, it also will give an indication of the 'quality' of the signal.
We can have HQ (high quality) and LQ (low quality) signals and the EA can be configured to use more operation volume for HQ or to ignore LQ.
- If the answer is positive from server the EA opens immediately the order and from that time on the control of the operation in done by the EA.
TP and SL will be set at the reception of the next tick after the order was opened.
- If price moves our way we wait for the order to reach TP
- If price goes the bad direction the EA will open up to 3 extra operations, incrementing the volume a bit but maintaining the initial SL
- those extra orders will be closed if possible with small profits to minimize the risk.
Optimization, data about past performance and expected results?
No. Sorry. It's already difficult to backtest a system working in a lot of instruments. It's almost impossible to do it when the EA requires 'extra' help from a central web server where I run the on-line correlations with news, sentiment and other EAs.
I've been running the EA during several months now. In different accounts, both real and demo, and with different correlation filters.
So far the EA has been doing more than 10% a month with drawdowns that never exceeded 15%. My hope is to get consistent positive results. Profit percentage will depend of how aggressive the EA is configured but recommended values will be given for small accounts (500 USD and 1000 USD), you can escalate from those numbers. The target in those recommended configurations will be >5% monthly on equity growth.
Specific configurations.
We will see that with time. But some considerations have to be done initally. I work only with a couple brokers offering acceptable spreads in all pairs,
allowing minimal size 0.01 lots in currency pairs and with 1:500 leverage. If the EA is on an account with a broker offering only decent spreads in 20 pairs
the EA has to be tweaked to only operate these (and loosing some of the advantages of operating everything). Minimal order size, symbol naming conventions require also a tweak. Leverage should not really be a problem.
Money Management?
No money management. My personal believe is automated MM serves only to produce nice curves in backtests
If the balance grows 20% in a month the trader will have to increase the operating volume in the EA config, probably increasing a 20%, but that goes with tastes.
It is highly improbable balance grows (or decreases) more than 20% per month in a well-behaved EA that is properly configured. In a typical scenario the trader
reviews the config once a month and tweaks the operating volume to fit the new capital in the account: that's MM.
What's the deal for the interested people?
- They'll get the EA, and are free to use it to validate the EA satisfies the conditions stated in the definition.
- After a month, and only if the EA confirms it is well behaved and they are satisfied they can send a fair donation to help pay for the central web system.
- A trade explorer will be created here to publish all trades and performance.
- Every time the EA asks the linux system for the new operation 'score' it'll send the accountnumber, I'll store that info in the central database and that way I know who is using the system and I can check everybody is playing fair.
I expect to win of this relation because I'll gather stats info of the EA performance in different accounts and brokers, if donations eventually appear, then, perfect because I'm paying for a heavy infrastructure today and I'd prefer to share the costs.
I will also benefit from the comments and feedback on this thread. I'm sure the current EA can be improved. Eventually after trust builds I'm open to share the source of the EA and to discuss the filters applied in the web system.
Of course I'm not worried at all of people creating new accounts to get the 1st free month or other people copying the operations, or, or, ... Fist of all we need to validate the EA behaves, let's worry later if it is a success!
So, what now?
People interested to try please post here or send me a private message. I'll need a couple days to prepare the EA for brokers other than mine. I started a real
account yesterday with 1000€ and running the recommended config but 3 times more volume (sorry, just for show and because I'm very confident), obviously That
config is too risky and aims to get more 50% profit per month. Trade explorer in my signature.
Notice that in two days it operated quite a lot, many pairs and even had an stop, well-behaved then so far.
Thank you for your time if you got here, it was a long post!
t.