Higher time frame is better and easier for algorithm trading

In the past two years, I developed my ftap trading system a lot and had tested a lot of algorithm trading strategies. The result was very frustrated, I couldn't find even a single usable strategy. I have thrown about 70 robot source code files in to a not-used folder and only keep about 40 robots in the development folder, and I'm going to throw most of the 40 robots away in the future.

What is wrong with my research and development

I tried many different kinds of strategies, such as indicator based strategies (MA, RSI, MACD, PSAR, CCI, etc), price action (e.g, enter trade after an engulf bar), and time series based strategies (such as ARMA). Most likely I can't go quite wrong with so many different kinds of strategies. So what's wrong that I couldn't find a workable strategy?

I had been thinking for quite long time and recently I think I can summary the mistakes during my development.

Mistake 1, I was seeking for Holy Grail

I understand quite well that there is no Holy Grail in the world, but seems in my subconscious I was always looking for Holy Grail. I expected that my strategy works on all 28 major currency pairs and crosses, and I also expected that my strategy works on the whole historical period on my data (my Dukscopy history data is back to year 2003).

That opinion is absolutely wrong. The currencies run differently. The major pairs, such as EURUSD, GBPUSD, tend to be trending all the time, while the crosses, such as AUDCAD, EURGBP, tend to be ranging. And the pairs behave quite difference in different periods. Back to 10 years ago, the Forex market is very fluctuated. It was common a pair went up down for hundreds of pips in a single day. Nowadays, the market is much more mature and the volatility is smaller. Also, the market is quite different before and after 2009/2010, at the time the US Fed executed QE.

A trend following strategy may not work in a ranging market, and a mean reversion strategy may not work in a strong trending market. That's nature and not the fault of a strategy. We can't expect a strategy works for all markets and all periods.

Mistake 2, I tended to trade on small time frame

In my original opinion, since computer program never feels tired, it's better to put a strategy on smaller time frame such as 1 hours or even 5 minutes. That will be cool if a robot executes several trades in a single day and grabs some pips each day!

I have to say, this mistake is the essential mistake in my strategy development.

I had tested several strategies on 1 hour or even 5 minutes data, none worked. I had told me that those strategies are not working at all. But recently I tested the almost same strategies on daily data, guess what happened? They work as I expected! I can't say they will be profitable strategies because I need time to test them on live account, but at least I have approved that those strategies are not wrong.

Why lower time frame doesn't work

My those strategies use indicators, such as moving average, MACD, etc. Those indicators were invented before computer was used extensively, and they were designed to be used on daily data. There inventors had no intention to use them on 5 minutes data.

Also lower time frame is sensitive to different sessions in Forex market. During Asia session, the non-JPY pairs tend to be peaceful, low volatility, and low volume, even in a strong trending period. That may give bad side effect on the indicators. Daily data has no such disadvantage, it's a full cycle of all the sessions in a day, Asia, London, and New York sessions.

Another reason may be that it tends to be more noise on lower time frame.

Yet another reason is spread. The spread is nothing on daily data, but it's vital on 5 minutes data.

This doesn't mean lower time frame doesn't work for all algorithm trading. I only mean lower time frame doesn't work for my those strategies.


Enter your comment. Wiki syntax is allowed: