And i might add… I have yet to see a good indicator… All are lagging and are crap. Price action, correlation and velocity are the only things I look at… I think you can take RSI, Alligator, MACD, Bool bands and throw them all out. Worthless.
Its always tricky to use expert advisors. It works if you have good trading knowledge and know which expert advisor should you opt. If you are complete newbie, then its likely blindly trusting the person whom you have never met.
I wish they weren’t called “Expert Advisors”. “Trading Bot” is more accurate, albeit less glamorous. There are some advantages to using them, especially if you can learn to code them yourself. Most of us cannot sit in front of a screen 24x7 to trade, a robot can. Many of us have learned the hard way that emotions are the enemy of a trader, robots have none. We can do our best to draw lines on charts, look at different timeframes, take into account various conditions, track price movement, a robot can consume them all at once, and react instantly and consistently. In my opinion, at the end of the day, an EA is just a codified trading strategy, and will only be as successful as the strategy it uses.
The majority of the problem is that market conditions are so dynamic and volatile, making predictions difficult. Human traders face that same challenge, so this is not unique to EAs. The challenge is coding a trading strategy that will be successful across all the varying market conditions over time.
If you use a solid trading strategy that works across many market conditions, then an EA can work, but it is not easy to achieve. In addition, as you might expect, many EAs available for sale were written specifically to be sold, and are not likely to simply “work” as you’d like them to. For this reason many people have a sour view on EAs, and I don’t blame them. Remember, at the end of the day, an EA is just a simple computer program that executes and does what you tell it. It could be total crap, or it could work with elegance. It’s all about the strategy and how it’s written.
@ghamm I agree that overbought/oversold indicators are less useful w Forex, and by nature are lagging. There are some novel ways to use Bollinger bands that I’ll write more about someday soon. They are immensely valuable.
Filtering through the hype is step one. Many say that 2% of traders make money… I would say that number is less than 1%. So going into this with realistic expectations is the first step. #2. Knowing that coming into forex as a retail trader is a huge disadvantage as a retail trader. The market has its own brain and finally figuring out that very few things it does has rhyme or reason… is step two… Embrace the random nature of the market. #3 Trading with many small trades is better than one trade. This is why I love to use probabilities spread over many trades. A mutual fund or bucket of trades. Again, keeping your expectation small. #4… Backtesting is worthless… If someone shows you a backtest as proof that the strategy works. RUN! Yesterday does not equal today. #4. If it is commercially sold, 99% chance its crap. Good strategies are RARELY if ever shared with others. MAYBE NEVER… #5… If you are not a coder, become a coder or find someone that is. Find people that you trust. Even better, find someone that is a software engineer that can write code on many platforms. Metatrader is not a good place to test strategies for many reasons. If you write your EA yourself, you are very very familiar with the way it works, risk, strengths , weaknesses. If it ever works to your satisfaction, keep it close to your chest. Again, EA’s are tools… they are not magic. They are stupid calculators… Yes, its great to eliminate emotions… but EA’s do not have any learning ability. You mentioned Bool bands, yes, can be a great tool… But wave forms, patterns that the naked eye can see are very valuable and near impossible for the EA to detect… EA’s are great at looking at crossed lines etc… At a very robotic level. thats it… For this, Im working with a mathematician to work on some wave form analysis. That horsepower is offloaded on a different machine. And even that, is very hard for a machine to see.
My 2 cents
Great discussion, and something I’ve been meaning to get into lately. First off, everything you said I can totally get behind, except:
“If someone shows you a backtest as proof that the strategy works. RUN!” = True
" Backtesting is worthless" = False… oh so false
Backtesting is the most amazing tool if you use it correctly. Of course what happened yesterday is not what will happen tomorrow, but that’s not the point. You’re testing a trading strategy. You run it through history and adjust the crap out of it until it performs consistently over time (which encompasses countless conditions). If your robot makes twice as much money as it loses consistently over decades, then you should feel pretty good about the trading strategy working tomorrow, or so the logic goes.
Here’s the bit mentioned that I’m excited to discuss. Computers are really good at things we can’t do, and we’re really good at things computers can’t do. Our reptilian brain can effortlessly recognize things that AI is only now starting to scratch. Back testing is a way to leverage the computer’s strengths: Run through these 3000 scenarios and show me which ones worked out best. That would take a human trader forever. Kicking your Strategy Tester into visual mode, and watching your bot work through real market history at turbo speed allows your eyes to see things the computer could never recognize. I’ve used this so many times. I’ll massage out a strategy through 15 years looping through every possible combination of triggers, then I’ll tune in the best values. Take that and super-speed visual charts to easily see that failed trades might have succeeded with just a little more stop loss breathing room, or that your strategy is obviously failing when markets shift from breakout to range, etc. I try to leverage my caveman self for what it’s good at, and let the computer do what I could never do.
@ghamm, @enickma, Yes, great discussion… I have been coding Bots and Indicators for the last 4 years and anyone looking to comence programing trading algo’s should read and comprehend this thread… It’s the most accurate discusion on building an Algo in Babypips to date…
Would I purchase an EA just on the backtest history provided… No chance!.. Athough I tend to agree with Enickma’s arguement to backtest… Especially in visual mode… You can see the way price action defeats Indicators, Strategies instantly… Change a few parameters and run a backtest again… you can solve one issue and create another…
The Ctrader Platform has a resonably good optimisation feature where it can run hundreds of settings (parameters) in a few hours on a particular Algo and at least get you a better starting point with where to begin Visual Backtesting…
Here is a great example of Coding and Backtesting in Visual Mode
Very acurate… Most of my development goes into using common indicators, but not the way they are intended to be by FX Educators… Example, RSI, smooth it and trade the 50 crossover… Overbought and Oversold only works sometimes…
Another was a variation on the Fibonaci Extension as I displayed in this thread a few weeks back… Unfortunetly it was wasted on most of the get rich quick crew that permiate the threads these days…
The hybrid approch is also my most successful application when developing and using Algo’s… Bot’s can watch 28 pairs+ and alert me to favourable conditions while I can be doing other things… Or, open a position, close a position using it’s predetemined logic without an ounce of procrastination from me…
Once again, informative thread for those that are contemplating the “Black Art” of coding for the Financial Markets… Good Luck.
I guess in that way, its useful. But to buy an EA based on backtesting is worthless… Im also speaking of the MT4 backtester specifically. But for me its also worthless in other ways… And this is why I write my own back testing from scratch… Or sometimes use ForexTester. One big one is live spread and the general data quality. The other is being able to display more aspects of that the bot is doing in real time, not just where its entering and exiting. Also, I want to trade many pairs at the same time… Sometimes more than 20. I will make a confession… I have not used the metatrader back tester much over the last few years… maybe it is better at handling some of this now… I took.a long break from forex and came back.
It looks to me that you have lots of experience… Wouldn’t you agree that maybe one reason that your stuff works is because you understand EXACTLY what the bot is doing? and can tweak your settings sometimes often? Would you agree that any EA that claims to set it and forget it is crap? Something that claims to work in all conditions, sideways, quiet, trending?
ghamm you are exactly right. My EA does what it does because I forged it that way over years of failure. I know it intimately cause I created it from scratch. I don’t think I’d ever advise anyone to buy an EA.
MT4 definitely has its downsides. You can tell it’s an old 32 bit clunky thing that sometimes crashes, and doesn’t run very fast. It also caused me the biggest facepalm of my experience so far. Long story short, I spent quite a lot of time adjusting my bot as I backtested it, got it all dialed in, and finally let it loose in the real market, only to realize all of my testing and tuning had been against a virtual spread of .00001 not 1 pip. When pip spread is set to 1 in MT4 instead of “current”, it does not mean one pip, it’s digits. When I set it to 10 to simulate something close to an actual EUR/USD pip spread, the bot completely took a crap and there was nothing I could do to tune it back to success. I’ve spent the time since then with this thing in the shop in pieces, completely restructuring the trading functions. It was a humbling learning experience, but it actually works significantly better now than it did before. I still have some more testing to do before I’m comfortable turning it up live again with real money, but I’m thinking another week or so should do it!.
Oh, one last thing for anyone reading that does use MT4 for back testing. Your tick data is everything. I paid for TDS (Tick Data Suite) and that gets my modeling quality to 99.9%. If you don’t have good modeling quality from your tick data, you’re wasting your time. Cheers!
Another benefit of using an Algorithm is being able to code in advanced risk management… My Bots contain TP and SL capabilities, but are very rarely utilised.
Example, using the RSI (or any bound Indicator) once again, a cross of the signal line over say the 70 or 80 value will close a short, a cross below the 30 or 20 value will close a long position. It allows a dynamic SL or profit take to be used, ensuring the logic is not trading the zones that price action can use to defeat most traders…
Coping with a change in market conditions such as trending to ranging can also be catered for with coded logic by say using the ROC value, changing a Bots parameters automatically and allowing the Bot a better chance of adapting to real-time market behaviour.
Without giving any IP away, obviously my Algorithms are a lot more advanced than what I have explained above.
Love it. Every attempt I’ve made to utilize RSI so far has failed, but I’m probably doing it wrong. I have also never played with ROC. Giving me things to do…
yes, it helps one make good trades
is that the case?
Current work is trying to smooth out some of the ugly during certain periods. Too many drawdowns for my liking.
For me, yes, but TWB is using it entirely differently than I ever have. I’ve only used it as a trade entry criteria, and found it not super-useful for that purpose.
what is your broker?
I use Oanda, how about you?
And now the flip side to all that back-testing and those super-speed visual charts, now that I’ve fixed what I wanted to fix, and turned the EA on in real life, there is no super speed. No. super. speed. Aaaaaaagh! The creeping agony of real-time is unbearable!
As of Late, Ive been taking a totally different approach… I trade light on Oanda, Using an app that I wrote using the Oanda API. This gives me way more control, as I can create an elegant user interface, also really granular lot sizes… Then , I can push larger trades, or scaled trades over to a broker that uses MT4 giving me better margin requirements. I still think that the secret to EA’s is always a hybrid approach
I’ve seen some reports on mql5 that shows somebody using EA has remarkable profit without loss!! any idea?