August 26


The Anatomy Of A Breakout Automated Trading Strategy: The Components

By Tomas Nesnidal

August 26, 2019


In the previous part of this 3-part article, I explained the concept of my breakout ATS model that I’ve been successfully using for about seven years. We’ve learned about four crucial components of the model: POI, distance, time filter, and a regular filter. In this part, we’ll explore each filter more in detail.

POI When it comes to scouting for the best Point Of Initiation (POI), you must be as creative as possible. Your POI can be basically anything. When I started constructing my first breakout ATS strategies, I used pretty simple methods of getting a POI. It usually was:

  • Yesterday’s Close
  • Today’s Open
  • Today’s Low (for longs)
  • Today’s High (for shorts)
  • Lowest O/H/L/C X-days back

Highest O/H/L/C X-days back All of these are very basic and obvious; still I was able to construct pretty impressive and robust strategies with just this beginner’s stuff. Plenty of these strategies are still part of my portfolio. Of course, over time, I’ve started thinking about other possibilities of different POIs and I’ve added many more:

  • Moving Averages – any kind
  • Moving Averages based on O/H/L/C/Typical Price
  • 50% retracement of the current day
  • Lowest/Highest values derived from any two or three techniques described above

POI +/- (X * TR) Again, you can stick to just these two for a very long time and get fantastic and robust strategies. But of course, you also want to keep evolving your approach so you start looking for different techniques to deploy. In my case, it was:

  • GapLess ATR
  • GapLess TR
  • Bollinger Bands difference
  • Certain Moving Averages differences

Highest High (X) – Lowest Low (X) differences Surprisingly, the results were not usually better than when using the most common and obvious ATR/TR! In fact, I quit GapLess variations completely and, although I still keep the other techniques in my D&P (Design & Prototype) code, the majority of my strategies still use ATR/TR. You don’t really need to be creative when it comes to the distance.

Time Filter At the very beginning, I used to be very “precise” when it came to the time filter. That said, I used to optimize the exact, most optimal start time and end time for every breakout ATS. Not surprisingly, I soon realized there was too much over-optimization (making it much harder to pass my very demanding robustness tests).

After a couple of years, I simplified the time filter approach pretty much and, right now, what I like is to divide the regular trading session into three or four equal parts and test the efficiency of each part separately (I call this T-Segmenting, because it’s just splitting the time into different segments). This is an absolutely sufficient solution and also a very logical one, as from my previous experience, I already know that the usual regular session behaves differently especially at its beginning, in its middle, and at its end.

Therefore T-Segmenting into three different parts is the most usual approach in the case of my breakout ATSs. Just to give you a small example, let’s say I develop a breakout ATS for e-mini Russell 2000 (TF). The regular trading hours are 9:30 – 16:15. So, I make three T-Segments:

  • T-Segment 1: 9:30 – 11:45
  • T-Segment 2: 11:45 – 14:00
  • T-Segment 3: 14:00 – 16:15 Then, I test my breakout ATS candidate for all three T-Segments and perform robustness testing in each of them to see which one is the most suitable.

Regular Filter The final part is a regular filter. Again, nothing fancy here. I basically use four different groups of regular filters:

  • Price Action based filters
  • Moving Averages based filters
  • Trend Indicators based filters
  • Volatility based filters For the first group, I usually use quite simple usual conditions, like:
  • C <> O/H/L/C X-bars backs
  • C <> O/H/L/C of the current day or the previous day
  • Any combinations of the above. For the second group, I usually use:
  • C <>certain Moving Average
  • Two different Moving Averages
  • Certain (relative or absolute) distance of the current price from a certain Moving Average For the third group, I like the following indicators:
  • DMI
  • ADX
  • Combination of the both Finally, for the last group, I like following concepts:
  • ATR <> X
  • Comparing 2 ATRs with different periods

Using certain absolute or relative difference between two ATRs with different periods I don’t have a bias towards any of the techniques and I freely use or test all of them. At the end of the day, it’s always the robustness test that will reveal the truth. Whatever passes the robustness testing is fine for me. Of course, over time, I’ve again developed plenty of my own filtering techniques and indicators, but still, I’ve been able to happily live just with the stuff I’ve described to you.

To sum up:

  • You don’t need fancy techniques to develop a robust and viable breakout ATS with my simple model.
  • However, it’s still preferable to keep experimenting, looking for improvements and new ideas; as you can see, I always like evolving all of the components of my breakout ATS model.
  • The way to develop a workable and robust breakout ATS is to experiment with as many different POIs, distances, T-Segments, and regular filters as possible.
  • Of course, the most important part is still the robustness testing, so whatever the backtest equity of your breakout ATS candidate looks like, you still need to be sure that a candidate passes your robustness testing criteria (I personally use very demanding ones).

— 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.