Open Range Breakout Daytrading System

Open range breakout system is a well known concept. It is a variation of the classic N-bar breakout system. This concept is so widely talked about because it works. I will show you a new twist of the concept that is never discussed anywhere else.

Open Range Breakout

What does the open range breakout system do?

1. it identifies the highest price and lowest price reached since open upto the Start Time,

2. long on a stop at the highest price and short on a stop at the lowest price obtained in #1,

3. only trade once per direction, so at most 1 long and 1 short positions taken per day,

4. always exit at the end time of the day,

5. when the range of previous trading session is above certain threshold of the average range of the previous trading days, no trade is taken for the day

Here is the trading system, Open Range Breakout. You can use Indicator Manager to install this system in your NeoTicker.

The system is written in formula and can be installed into NeoTicker by just copying that into the indicator directory.

The Performance

Once you have installed the indicator, you can now set up your chart.

The example I am going to use is 10-min ES, going all the way back to 1998. Remember to set the chart to the appropriate time range as the regular trading session of ES is 9:30 AM to 4:15 PM Eastern Time.

When you apply the system, remember to set your price multiple to 50 and min tick size to 0.25. The commission I used in my testing is 2.5 per trade.

Here is the result of the system.

Equity chart

As a core system, with no bells and whistles, it works reasonably well.

One issue, though, is that the performance lately is not that good.

Our Twist

Go into the Chart Manager and change the chart’s trading time range from the original 9:30 AM – 4:15 PM, to 10:00 AM – 4:00 PM.

This technique is known as Data Reduction, which I have discussed in more details in another article titled “Daytrading the Emini” in the Technical Analysis of Stock & Commodities magazine, August 2003 issue.

Here is the performance of the system using reduced data.

10 to 4 open range

You probably do not believe it is the same system with the same default parameters, don’t you?


To improve a trading system does not necessarily involves a lot of parameter twistings. The more important thing to do is to understand why the system is not doing what it supposed to and find logic solutions to resolve the problem.

In this case, it is obvious that the opening 20 to 30 minutes is very chaotic and so is the last 15 minutes of trading. By removing those information, we improved the stability of our signals, thus the improvement in performance.

Discuss this article.

8 Comments on “Open Range Breakout Daytrading System”

  1. BKuerbs Says:

    There is a lengthy discussion and an ongoing realtime test of this kind of system at the Elitetrader Board: http://www.elitetrader.com/vb/showthread.php?s=&threadid=44092

    As far as I remember they use 9:30 – 11:45 (EST) to get the range and some more conditions. Like do not trade on Thursdays(!) and do not trade when yesterday’s daily range was above its 5-day average.


    Bernd Kuerbs

  2. Lawrence Chan Says:

    Open Range Breakout is a widely used concept in systematic daytrading. What we have here is a barebone system, by using data reduction, that evolved into a much improved model that has less drawdown and better overall performance. Everyone can use this as a starting point to further develop their own favour of this system. Not sure if the ideas in the Elitetrader thread can be incorporated into the system presented. It is a good exercise for our users.

  3. Dor Says:

    I am a novice in programming. Can you tell me why this is used?
    $bo_high := if ($switch_time, dailybar.high, $bo_high);

    If I change the time to say 10:10 am to 11:00 am to get the opening range, how can I get the high and low of that range in backtest? Wont dailybar.high give the high of the day, instead of the high for the time range? Is there a way to get the high of the time range specified?

    Thank you.

  4. Kenneth Says:

    Use “Reference Time” indcator to get high of a specific time range.

    Second plot of reftime indicator is the high of the time range.

  5. simon Says:

    great idea…Is the modified strategy still working?

  6. Kenneth Says:

    We will be providing updated system performance report in the future.

    You can also download the system provided in the article and run it in NeoTicker to get the latest system performance result.

  7. Ray Auxillou Says:

    I was browsing the web looking for something in the 3 to 4 day trading systems and this is one of the things that came up.
    I cannot see how this system works for application to the OEX index? What is the meat of the system?

  8. Daniel K Says:

    So with the performance chart shown, what are the money management rules? I see the theoretical started with 10K, what were the stop rules as well as capital risked per trade? Thanks!

Leave a Comment

Blog Developed
By ContentRobot