Have anyone managed to make a continiously profitable ea? - page 4

 

What I've read suggests Neural Nets have mixed success on Forex, and are not significantly better than 'traditional' data structures/algorithms. https://championship.mql5.com/2010/en/news/16


I think a big difference between manual trading and EA's is in terms if visualising the chart to establish good S/R levels and trendlines of highs and lows.

It's not rocket science but I dont think its trivial either. Eg for a trend line break system, using the last 3 lows,

a) what constitutes a low depends on the timeframe and granularity ...

b) when you have the 3 lows, where exactly to you draw the trendline. (least squares might give too much emphasis to the earlier peak etc)


Anything which is two traders could draw slightly differently will require some thought to implement in an EA.

Also Intraday EA's need to be aware of Daylight Savings, Session Times, Bank holidays etc.


As a less than novice trader, I start writing an EA with a novice trading strategy ... follow the market, try to do what other traders do.

Now I think the EA should try to do what Market Makers do ?


I think an profitable EA will need to use adaptive Stop Loss based on market conditions rather than a fixed SL ( Unless using very small SL/TP. )


I see simple Moving Average Cross EA's with lovely backtests written on less than 1000 lines, mine is already at 10000 lines and I'm still not profitable in demo yet and that worries me sometimes! but I have lots of resuable code and can add strategies fairly quickly.

 
McKeen:

With all people in this forum, and especially those who has been around for a while.

Is here anyone or do you know of anyone (for certain, not just what they are saying) that has managed to create an EA profitable enough for them to put on a live account and make some serious dough?

A continious profitable EA using a stoploss that is.

I am starting to doubt this fact and it would be a good booster to hear that it CAN be done.

Or maybe it can´t be done at all or at least not without more exact data including level2 data and real volumes and other advanced tools deliberately hidden from us retailers!?

I mean there must be supercomputers out there scanning the markets realtime for any possible exploits since the day they made trading digital.

Looking forward to an answer!

/ McKeen


Hi McKeen

Having run a consistently profitable systematic hedge fund for over 10 years now, I can confirm that it is possible to build a continuously profitable strategy. That said, to do so requires you trade at the absolute minimal transactions cost and trade with brokers that are not able to take advantage of your order flow. They will all try to exploit your flow in some way, and believe me, there are a million ways in which they do! It is possible to make money doing so however, but whether it is profitable to do so using a retail account and an EA, I cant say.....yet. Try to find an edge, or a bias in price action which is robust and persistent and build your strategy from there. Without a bias, no amount of optimization, parameter fiddling or technical indicator construction will yield anything of use going forward. It will back test really well, and this will give you greater confidence to use and loose your capital. In short, find an edge and the strategy will be obvious, without one, forget about it or start a brokerage!

 

I'd definitely like to see more chat on this topic, because I'd like to know there is light at the end of the tunnel. As much as I like coding, I'd especially like something that is earning a bit of beer money...

Some thoughts on challenges of writing a consistently profitable EA:

Most manual strategies are not consistently profitable anyway and an EA is often just an implementation of a strategy. (often an over-simplified implementation)

News and Fundamentals: EAs generally have to be carefully monitored when the market is reacting to significant events.

Heuristics: EA’s tend to work in absolutes, if this is greater than that, and if a = b then enter trade. Maybe they should use a scoring/heuristic system however it is very easy to do a bad heuristics.

Nuances of Unspoken rules not captured: I think when traders refer to gut feeling, they do actually have heuristics that are not verbalised or consciously thought of. These are not migrated to the EA. eg. a trader might think, buy if close is greater than open, but they really mean buy if close is significantly greater than the open.

Adaptive: Many EAs work with fixed values and they should adapt to the market. A consistently profitable EA, IMO, should be able to trade two distinct instruments that have similar market behaviour? (or is this naive thinking on my part?)

Over reliance on indicators vs price action: Indicators are easy to incorporate in code, however time and time again we read as manual traders mature they use less indicators (if any at all), and work solely with price action looking at multiple timeframes, trends and support/resistance?

EA strategy designed by novice traders: It takes some time for a trader to become profitable. As both an extremely novice trader, but experienced developer, I can code and backtest my strategy in MQL faster than a traditional approach of manual backtesting and keeping a log book, and then only coding it once successful. However it means all the while I am still a novice trader, it may also mean I do not learn to trade well?

Too Simple: Although the best strategies, by most reports, are the simple ones, translating this into robust code, should result in a fairly comprehensive EA. A recent thread on establishing trendlines, demonstrates that something as simple as selecting peaks to draw a trendline, is not so simple for code (our brains are great at pattern matching, MQL not so great), similarly determining support/resistance (whilst not rocket science), should require some code (whether in the EA or via an indicator). If a simple 500 line Moving Average cross EA could make consistent money, we'd all be rich now?

EDIT (added):

managing the position. "Let the winners run" etc. When to take profit vs when to use some kind of trailing stop. This needs as much thought as trade entry, and can be the difference between a profitable and non-profitable EA?

 
ydrol:

Too Simple: Although the best strategies, by most reports, are the simple ones, translating this into robust code, should result in a fairly comprehensive EA. A recent thread on establishing trendlines, demonstrates that something as simple as selecting peaks to draw a trendline, is not so simple for code (our brains are great at pattern matching, MQL not so great), similarly determining support/resistance (whilst not rocket science), should require some code (whether in the EA or via an indicator). If a simple 500 line Moving Average cross EA could make consistent money, we'd all be rich now?

Surely, there is a tendency to over complicate and thus over analyse and thus over complicate again. All the focus on different strategies and systems seems to make punters and punters that code go round in circles. The more simple the better?? Isn't it about finding something simple that takes a profit, use a low risk approach and slowly and steadily you will build equity.

 

patrick007:

Surely, there is a tendency to over complicate and thus over analyse and thus over complicate again. All the focus on different strategies and systems seems to make punters and punters that code go round in circles. The more simple the better?? Isn't it about finding something simple that takes a profit, use a low risk approach and slowly and steadily you will build equity.



I think that you have misunderstood Ydrol's post.

We can look at a chart and immediately see certain conditions that are simple and obvious. But this apparently simple observation probably involves our brain processing millions of mini-observations.

There is another thread here where the poster wants his expert to draw a trend line where the price hits it 3 times. We can look at a chart and spot contenders very easily. But coding it is a different matter. Coding it properly is not so simple. If the code is too simple, there will be either a lot of unexpected results or none at all.

 

ydrol. Really good points. I've been think about the heuristics point (though I didn't know the word for it, thanks!)

Actually, I remember a while back, reading an article about how the subconscious mind helps us make (what we think are) conscious decisions... specifically it was how nurses often know that a patient will soon have a heart attack, even though there are no known quantifiable signs, or at least, the nurses were not trained to monitor them.

Transfer this to the trader and we see why sometimes he will follow is own 'rules' and sometimes decide not not to, based on a feeling. This can often be because there are some other factors that his 'rules' don't consider, but perhaps somewhere in the unconscious part of the brain, this set of circumstances is linked to a memory if him losing $1000 last time it occurred.

I think an EA will benefit from a great knowledge of yourself... yes, sounds a bit hippy, but the more I study psychology, the more a realise just how often the subconscious mind affects 'conscious' decision making.

----

As for the news monitoring, I download http://cdn.forexfactory.com/ffcal_week_this.xml everyweek and load the datetimes of related events into an array. But I haven't done the hard part yet... when it's getting to the news time, make the EA 'start thinking about' closing up operations for a while

 
alladir:

ydrol. Really good points. I've been think about the heuristics point (though I didn't know the word for it, thanks!)

Actually, I remember a while back, reading an article about how the subconscious mind helps us make (what we think are) conscious decisions... specifically it was how nurses often know that a patient will soon have a heart attack, even though there are no known quantifiable signs, or at least, the nurses were not trained to monitor them.

Transfer this to the trader and we see why sometimes he will follow is own 'rules' and sometimes decide not not to, based on a feeling. This can often be because there are some other factors that his 'rules' don't consider, but perhaps somewhere in the unconscious part of the brain, this set of circumstances is linked to a memory if him losing $1000 last time it occurred.

I think an EA will benefit from a great knowledge of yourself... yes, sounds a bit hippy, but the more I study psychology, the more a realise just how often the subconscious mind affects 'conscious' decision making.

----

As for the news monitoring, I download http://cdn.forexfactory.com/ffcal_week_this.xml everyweek and load the datetimes of related events into an array. But I haven't done the hard part yet... when it's getting to the news time, make the EA 'start thinking about' closing up operations for a while


what do you use for storing the XML data on arrays? MQL? How?
 
There is also the aspect of managing the position. "Let the winners run" etc. When to take profit vs when to use some kind of trailing stop. This needs as much thought as trade entry, and can be the difference between a profitable and non-profitable EA?
 
GumRai:


I think that you have misunderstood Ydrol's post.

We can look at a chart and immediately see certain conditions that are simple and obvious. But this apparently simple observation probably involves our brain processing millions of mini-observations.

There is another thread here where the poster wants his expert to draw a trend line where the price hits it 3 times. We can look at a chart and spot contenders very easily. But coding it is a different matter. Coding it properly is not so simple. If the code is too simple, there will be either a lot of unexpected results or none at all.

I do understand the point being put. The pursuit of creating an EA that is optimal artificial intelligence is being turned into an academic exercise. Interesting discourse if you are into coding, but it only amounts to that. There are too many variants in this game for the glove to fit the hand all the time. You have to make it fit for one pair or commodity as best you can, and cut your cloth allowing for the slack. The longer you look for perfection the more time you are wasting if it is a living you are hoping to earn. Even if you can automate most of the trading, human intervention will always be necessary. That part is instinct. If you can code that I bow down in respect!!

 

I do understand the point being put

I'm not quite so sure :) I'm, not quite talking about perfection, AI or advanced algorithms here. That stuff is way beyond the things I've been talking about, although to a non-coder it might seem like it's all in the same ball park, it's not IMO

I'm just talkiing about writing a low risk, fairly continuously profitable EA using a simple technical analysis strategy . Not making the kind of profits a pro trader would make (so no perfection needed here), but better than I would get by simply investing the money somewhere sensible!

Evidence suggests it can be done as there are EAs running on Birts review that appear to do the job.

It's all very well to say this is academic or interesting if you are into coding, but isnt this is why a lot of people are here, to codify their strategy into MQL and make money?

(Granted some people just want an EA to alert them to a set up based on a manual strategy, and they review alerts on a case by case basis, so that's different to what this thread is about?)


I want to make sure correct expectations are set when sitting down to code a strategy.

It's all very well diving in and learning MQL but I think a lot of people could be wasting a lot of time, without learning the finer points of requirements capturing and code construction?

I am talking about representation of simple trading concepts in an EA. This requires those concepts to be verbalised. As much as some traders talk about instinct, other will understand you need a quantifiable, repeatable mathematical edge.

It just so happens that the brain is extremely well adapted to converting complex behaviour/decisions into "instinct" over time, at which point it becomes difficult for the human expert trader to verbalise it, thus it will not get captured in the EA.

Think about catching a ball, (our brains dont really do the maths on any concious level, however a robot will have to do the maths).

Pattern matching is not rocket science or advanced AI (its present in Photoshop and similar), but although infants can do it, it does require more advanced coding to implement programatically.


This is not AI as such, but there are two issues:

1) fully expressing a simple strategy/algorithm will often involve an implementation algorithm that appears more complex than the real world problem - eg selecting a trend line, catching a ball. Non-coders dont really care about this complexity nor often understand the need for it.

2) over time traders will often internalise a lot of very subtle heuristics that at one time they had explicitly learned - they then call this their gut, instinct etc. Its is very hard for them to recall and verbalise these things, and in light of the above point, even when they do it results in a complicated implementation.



Reason: