I would have to repectfully disagree. A automated system should be a reflection of price action and heard mentality not market environment. Price action should be the core of your automated system. For example, for the history of the Euro you will always find breakouts regardless of market environment. This should be the focus of the system.
To further this point; I have found that breakouts pretty much look the same now as they did 50 years ago. Take a look at the book Technical Analysis of Stock Trends by Edwards and McGee. The first edition came out in 1948. The chart patterns in this book look nearly identical as the chart patterns in Technical Analysis of the Futures Markets written by Murphey 42 years later. As humans we do not like change therefore price action is slow to change if at all. The biggest difference in price action over the past 50 years is the speed at which it happens, its now milliseconds or minutes instead of hours or days.
Now, the hard part is coding the price action. The easy part is setting stops and targets. To do this you would simply follow the heard mentality. After all, the instrument you are trading is reflection of the traders who trade it. So trade like them! If the the average trend going up after a breakout is a 100 ticks over the past six months there is a high probability it will be close to that going forward. Set your targets and stops accordingly.
This is not to say that market environment wont cause you to have a bad month or a bad week. It will, but it will be the exception rather than the rule.
nosce te ipsum
Trade what the market is doing; NOT what you think its going to do.
The following user says Thank You to Silver Dragon for this post:
A system may uses rules and discretionary elements. Do you consider this system in the most viewed thread as being a discretionary or rule based system ?
What about if one of the rule states: if x is 'Low' then whatever but 'Low' is not exactly defined. What about if 'Low' can only be defined within a given context ? Context that can take thousands of different shapes impossible to put into a list or limited Ninja lingo statement.
If "low" cannot be defined in a readable statement that means the same thing to 10 people who read it,. then 'low' is subjective. If I say 'low' is the low of a 5 minute candle which is at least 10 ticks lower then the 20EMA, then that statement is not subjective, it means the same always in all markets, and to every person who reads it. But, If I say "low" is a price in the area of previous support, than that statement is subjective, it can mean 10 different things to 10 different people, so it is discretionary and subjective. However discretionary does not necessarily have to be subjective, if the discretionary decision is based on an objective rule. 'Buy' 1 tick above the high of the previous bar, if the low of the previous bar is lower then 10 ticks below the 20EMA, is an objective rule, that can be used in a discretionary method. In this case the rule is actually a mechanical rule, because it is un-ambiguous, and the discretionary decision based on that rule will be the same every time. I think cjbooth's method that you mentioned is good example of a well defined rule based objective discretionary system. Most of the decisions he makes, are well identified, written out, un-ambiguous, and repeatable. With every signal that presents itself, the decision to take or skip that signal will generally be very consistent. I think Perry's system is another good example, that's why mwinfrey was able to write a strategy for it.
Last edited by monpere; June 12th, 2011 at 02:25 PM.
The following user says Thank You to monpere for this post:
An automated system should not have to be a reflection of anything. What it should do is identify exactly the market principle the programmer is trying to exploit. Most HFT's have nothing to do with price action as we know it, and have nothing to do with heard mentality, because within the fractions of seconds they get in and out of positions, price action and heard mentality does not come into play.
That is Market Environment. If you wrote your strategy 3 years ago when the market was having 900 tick breakouts, and now it is only having 100 tick breakouts, your strategy will fail miserably. The way you mitigate that is through Walk Forward backtesting optimization. So in your scenario, you would use 6 month walk forward optimization periods.
Last edited by monpere; June 12th, 2011 at 03:35 PM.
The following user says Thank You to monpere for this post:
You can build into a system a way for trades signals never to signal because of market conditions. Market conditions can change daily and my system will not take trades when range and volatility are not present for the most part. In fact there will be very few signals in my system when conditions are not conducive to my objective. If I am playing the probabilities why would I want to enter trades when probabilities are low? The risk is real and I want to maximize my chances of a win. I don't have to plod through bad months in bad conditions. I also don't have to recognize when those conditions exists as my system will. Sometimes the best way to make money in the market is simply not to lose your profits.
"The day I became a winning trader was the day it became boring. Daily losses no longer bother me and daily wins no longer excited me. Took years of pain and busting a few accounts before finally got my mind right. I survived the darkness within and now just chillax and let my black box do the work."
The joke is that both system and discretionary traders are doomed, if they remain static. Systems and setups go stale, because the markets keep evolving, participants change, and fundamentals subtly shift.
If you think you found the 'holy grail' with your system, you are delusional. Your system will die sooner or later, and it won't be pretty. One day, your normal drawdown will become an "unusual" drawdown, and then a disaster one. Your only hope is making enough $ and retiring before it hits the fan. Good luck.
PS This is from a guy who did system trading for years. I had systems that worked for a decade in backtesting, only to die within a couple of years once traded live.
"...the degree to which you think you know, assume you know, or in any way need to know what is going to happen next, is equal to the degree to which you will fail as a trader." - Mark Douglas
The following 4 users say Thank You to Anagami for this post:
Hard experience was with the Australian ASX, where systems which worked well with accounts of less than $1M stopped above $1M. Consequently I had to split the capital between different and new strategies.
With the EUR/USD, I don't have anywhere near sufficient capital to move this market, but people regularly complain of "stop hunting" and there are specific strategies which utilise the early morning movements of London or US opens i.e. someone is able to deliberately move the market to their benefit.
So I conclude that given enough capital, even with the EUR/USD it is possible for working strategies be killed with too much success. Further the bigger the position you have to exit, the more important to do this when momentum is moving in your desired direction to avoid too much slippage...
Another factor that I think is often overlooked with trading is that of mistakes.
Whether we trade on a descretionary or systems basis with a profitably system / method we are all open to making mistakes or not executing according to plan. This can range from missing a trade (away from screen), incorrect order management, not exiting when we should, etc. The backtesting always assumes zero mistakes. Very often it is these mistakes which happen during our day to day trading which kill our performance.
From my perspective, having a computer execute trades on mybehalf is a great way to minimise my errors and enable a more consistent track record.
It would be best if a computer program could create its own system based on back-testing price data(trading millions of times with different indicators in every possible combination on all times given) and come up with the most precise set of requirements that result in profit based on the most recent frequency. This would enable a system to evolve or change over time.
Maybe this already exists on a retail level but I'm not sure because I don't use automation personally. I wouldn't mind giving it a shot eventually, I just don't find it necessary Atm to spend the time programming when I can profit with 'discretion'.
Favorite Futures: Futures - bonds, currencies, index
Posts: 288 since Oct 2010
Thanks: 70 given,
And I would respectfully disagree. It doesn't have to be anything. The whole reason for me writing automated systems is that I don't have to hand hold them all the time. There aren't as many real truisms in trading as people would like to generalise, but one of them is that a static automated strategy will behave differently in different market environments. So rather than me continually monitor every sort of market environment and switch strategies on and off accordingly, I like to have all of them know what sort of market they're in, so they can either take advantage of the different conditions, or send me an email saying "hey, I'm not going to trade today".