I'm very new to trading but am a software developer by trade. I've been developing automated forex strategies for about 6 months now and have learnt an enormous amount in that time, but know I have much to learn still before achieving any sort of meaningful success.
My most recent epiphany regarding trading strategies is that, in short, most of the effort is in not losing money rather than in making it. By this I mean that recognizing and programatically detecting market conditions that DON'T suit your strategy is much more difficult - and much more important - than writing the core concept of the strategy to exploit a particular market behaviour. For example, it is actually is very simple to write a profitible strategy for a trending market, but markets don't trend 100% of the time and when they don't, you'll get cleaned up.