These are extremely good questions, and seldom addressed. To get started it might be worth you reading some of Van Tharps material, particularly his seminar material on system development, it’s very general in nature, but it at least provides some sort of framework you can start to develop from.
Personally I use spiral type development methodology and I generate strategy ideas based on 3 key methods.
-
Method 1 is basically research, taking ideas from books, forums, existing methods etc. Most of the stuff out there is crap, but you have to start somewhere. The results from later stages of the methodology will help you get a better idea of the problem that your trying to solve, and generate new ideas for research. It useful to think in terms of each component element of your system e.g. entry, exits, position sizing etc and how these typically interact and what works with what and when etc. A good book on TA is probably worth buying for basic ideas.
-
Method 2 uses a reverse engineering approach to retrospectively identify potential trades, and attempt to identify factors responsible for those trades, this might be technical, fundemental, event driven, random chance etc. You can add in data mining, statistical analysis, or whatever floats your boat.
-
The third method I use can be losely described as a walk forward self optimisation approach. I start with the simplest system imaginable, and based on the feedback from that system, I modify system components and parameters. Its kind of like a dumbed down GA approach but based on common sense, intuition and experience.
Personally I generate basic strategies through a synthesis of those approaches. Ideas that backtest well are incorporated into the self optimising model, and good (and bad) results from the self optimising models are subjected to further backtesting for verification. When I talk about back testing, I dont just mean focussing on profits, I mean focussing on if a given system component performs better than random. So I’ll ask questions such as does my indicator give me a better win rate than random, does my indicator allow me to use tigher stops, does my indicator allow me to squeeze more out of a move, does my indicator improve the distribution of consecutive gains and losses. The more you do this stuff the smarter the questions get, and the faster you’ll focus in to sensible area’s of research.
Testing systems in metatrader isnt really of much use as far as backtesting is concerned, its a bit more complex. Back testing gives one possible set of historical outcomes for a system, but its unlikely that future performance will match exactly. Once you have a bunch of trades from any of these approaches, I’d advise a resampling type approach to determine statistical confidence intervals on the systems performance. The better charting applications support this sort of stuff, and if your serious about autotrading, you need to take this crap into account, I highly reccommend a book titled Evidence Based Technical Analysis by David Aronson for info on resampling and bootstrapping techniques.
Once thats out of the way, you can start concentrating on optimising position sizing to achieve your objective of either maximising growth, or minimising varience etc. Again theres standard models and techniques you can apply, and its mainly a case of working out the strengths and weaknesses of each and how they impact a given trading model.
There are loads of charting options, people use MT4 generally because its free. The point about software is it all does pretty much the same stuff, and it wont be the software responsible for success or failure. Personally I’d say that to have the slightest chance of suceeding in developing a mechanical system you’ll need to develop your own tools. MT is definatly enough to get you started.
Its useful to see actual examples of systems being developed, but there’s not much out there. There used to be a reasonably good article on on the T2W forum about the development of a break out system, and a decent article on Elite Trader which focussed on the development of a basic trend following system using tradestation. The forum at wealth-lab.net is also a pretty good source of information.
Its hard to give specific advice, and there’s not much useful information in the public domain but hopefully that helps get you started. The key point I’d make is dont underestimate the effects that random chance can have on your results, and wherever possible try to apply basic statistical principles to the evaluation of your results, entries are the least important part of your syste, and diversification is good too !
I’d also say that developing a knowlege of manual discretionary approaches is extremely useful in understanding key trading concepts, by which I mean support and resistance, trend, price action etc. The reason that the programmers, mathematicians and statisticians fail is becuse they dont see the bleedin obvious, so start trading something, and critically evaluating the results even if its only a moving average cross.