August 19


The Anatomy Of A Breakout Automated Trading Strategy: The Concept

By Tomas Nesnidal

August 19, 2019


By being an automated full-time trader for 7 years, I came pretty early in my trading career to the conclusion that a well-constructed trading breakout model is by far the best way to aim for stable returns in automated trading. During all those years, I’ve been experimenting with many different approaches – most probably with all you know or can imagine. But from my experience, breakout models are timeless and very universal. In the following three articles I’d like to share some of my concepts and the most crucial components behind them.

A Breakout Automated Trading System (ATS) modeI use: 4 crucial components There is no reason for looking for (over) complexity in automated trading. In fact, over the years I’ve learned that a refined simplicity not only works very well, but it also saves you a huge amount of technical struggles, problems, and headaches.

The breakout concept I use can basically be coded into any trading platform, and many great strategies that I’ve been trading for years are, in fact, so simple that they only have several lines of code. So, what does my usual breakout model conceptually look like? In general, I approach the breakout ATS development from the perspective of four different components that need to be put efficiently together (ideally with some factor of creativity and novelty, which is necessary nowadays to be able to compete and stay in the game).

These four components are (as I’ve personally named them for my own purposes):

  • Point of Initiation (POI)
  • Distance
  • Time Filter
  • A Regular Filter.

Again, don’t look for any complexity; you’ll see in a minute that the model is really a very simple one (yet, it can be very efficient).

Why these 4 components and what are they for? Good question. You’ll learn about them now. Let’s stop here for a moment. To fully understand why we’ll use specifically these four components, let me ask you a question: Have you ever thought about what a breakout actually is? From my perspective, a breakout is nothing more or nothing less than a certain level, which needs to be reached by a market within a certain time (and under certain conditions), to give you a probability of a strong continuous momentum (which will give you, ideally, an average profit several times higher than your average risk).

In simple words, all you need is a level at which you can say, “once the level is penetrated, it’s wise to buy or sell the underlying market”. But, how do you get such a level? Good question. First of all, you need to start somewhere, right? So, how about define a point on your chart and then a distance from this point? This is what I call the POI (Point Of Initiation) and Distance. When you combine them together, you’ll get a level at which you can wait for a breakout. For example, you can start with something very simple and obvious, like yesterday’s closing price on a daily chart to define a POI, and add 3x ATR as a distance. 

This is how you make a breakout level and you are half-done (of course, this is just a very simple example). However, in the last part of this 3-part article, I’ll show you that even a simple combination can give you a very good strategy. The model is so simple that it can be interpreted by this basic drawing:

Now, let’s continue. You already know two blocks out of the four – how to get a breakout level. How about the rest? From my experience, constructing a breakout ATS just with the POI and the Distance isn’t sufficient and you are still far from the end. With only these two components you can (and probably will) get too much noise and false signals that the ATS won’t be even tradable.

So, now, what you really need is to add some restrictions (but not too many to avoid over-fitting) that will help you to get rid of some noise and make the strategy tradable. And here, you add my other two components – time filter restrain and a regular filter. First of all, you add the time restrain. Once you add it, you just allow a strategy to reach the breakout level only within a certain period of time. It really makes a lot of sense (and mainly a big difference).

Why? Because some breakout levels work better only in early trading hours, some in later trading hours and some work only within a very specific time window. This is due to different markets behavior during particular time windows, so you cannot ignore this, rather make it a natural part of your breakout ATS. And second, you add a regular filter. Why do we still need it? Because once you construct your first breakout ATS based on the model above, you’ll very soon realize that you’ll still need an additional filter to improve certain parameters like Average Trade, Profit Factor, and Return/Drawdown ratio.

Therefore you’ll have to experiment which filters to use (generally some indicator-based or price-action-based filter). Once you find a suitable filter (and still keep it simple to overcome the danger of over-fitting), you’ll finally have something more reasonable to continue with (not to trade with yet, just to continue with other robustness testing, etc.). In the next part, we’ll have a closer look at the four components of the breakout ATS model we’ve learned about today.

To sum up:

  • A good and powerful trading model doesn’t need to be complicated.
  • A breakout is nothing more than a certain level in the (near) future that needs to be reached to buy or sell your underlying market.
  • A breakout strategy is conceptually a very simple technique: all you need is a POI, time, distance, and often another additional filter.
  • Once you start working smartly and creatively by putting these four components together, you can get an interesting, efficient, and robust breakout strategy.
  • Each component in the model has got its purpose and all of the components are crucial to be able to develop something reasonable and tradable.

— By Tomas Nesnidal of Systems on The Road.

Tomas Nesnidal

About the author

  • {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

    Learn To Code & Build Strategies
    Using EasyLanguage.