Opening Range Breakout Strategy

Quantower Strategy Published 13 September 2025
PREMIUM

We highly recommend joining our discord community by following this invite link discord-invitation

Description

The Opening Range Breakout strategy is based on entering on a signal generated by analyzing market behaviour in regard to a price range formed around the first minutes of the trading session. The strategy provides a very flexible entry setup based on that breakout concept

The strategy will start by detecting the opening range, the opening range is a range defined as a an interval that can be parametrized, but in general terms the opening range should be located around the opening market hour of 09:30 EST for most of the future market instruments. The opening range can, for example, be defined between 09:30 EST and 09:35 EST (spanning 5 Minutes) or from what is know as Cash Open from 08:30 EST to 09:30 EST. One should experiment with different intervals and seek the most adapted interval for each instrument.

For Crypto markets, the opening of a session is irrelevant since crypto markets are always open even on weekends. But since there is a strong correlation between crypto instruments and US market futures one can use US market session intervals to define the opening range interval for crypto markets

The second step of the strategy is to wait for a breakout of the price from the opening range. The strategy will wait for the price to retest the range as the first required condition before deciding to open a trade. After the retest, the strategy will wait for the price action to show a strong breakout in the direction of the initial retest. Precisely, the strategy will look for a Faire Value Gap that will be the trigger to enter a trade, or the strategy can be set to an immediate mode which will enter trade at the close of a bar without waiting for Faire Value Gap to occur. Also the strategy will look for these entry conditions to occur before a certain time limit for the day. Generally speaking, the more you wait for the price to breakout the more the price can get far away from the initial price range, so I put a time limit to 11:00 EST for example, meaning no trades will be allowed to be triggered after 11:00 EST. Off course this is a parameter that you can modify.

Entering a trade is an important part for any strategy, bu what is more important is managing the trade. The strategy allows to manage the trade with many management methods. Along with the initial setting of the Stop Loss price, a Take Profit price and a dynamically set Quantity to maintain a Fixed Risk per trade which is a crucial part of any strategy profitability on the long run.
The Stop Loss price can be set to Fibonacci levels calculated on the retracement on the opening range zone.

All these steps are configurable and can be enabled/disabled which makes this strategy very lenient and adaptable to a wide range of scenarios

Entry Setup Examples

One drawback of Quantower on comparison of other platforms such as Ninjatrader, is that a Quantower strategy cannot draw on the Chart, only indicators can. Meaning that the strategy will analyze the opening range without being able to draw it on the chart for us to visualize it. For this reason, I will draw on the chart myself to demonstrate some examples.

Example #1: Perfect Entry Setup on MES

On this example entry setup which is run on MES on the 1 Minute Timeframe, the opening range is set to span from 09:30 to 09:45 EST. And a Faire Value Gap is required for entering a trade after price retrace to the opening range, with stoploss set to the supertrend level at the entry time. The time on the chart is UTC+1, this is why the opening range appears on 15:30 (chart time) instead of 9:30 (EST)

After the opening range has finished forming, you can notice on the example that the price broke down from the range at the bar marked 2.. This marks the first event required for the strategy to enter a trade.

After this step, the strategy will wait for the prie to retrace back to the opening range. The retracement can be triggered by any tick that goes inside the opening range, which occured at the candle marked with 3.. This event marks the second required condition for a valid entry setup. After that the strategy will be armed for entry and it will wait for an FVG to trigger the entry which occured at the 3 candles marked with 4.

The stoploss can be calculated according to multiple options. The chosen option on this example is the Supertrend indicator which has set the stoploss price to the supertrend DownTrend line. The take profit was set according to a 2:1 calculation leading to a winning trade.

The sequence of this example was the following :

  1. First breakout from the range (no FVG is required)
  2. Price retraces back to the range
  3. Price breakout 2nd time from the range with an FVG (Faire Value Gap)

opening-range-breakout-MES-Minute1
Click to enlarge
Entry setup parameters explanations

By enabling/disabling certain parameters of the strategy one can change these required steps, here are some examples of the parameter values with their entry setup outcome:

This parameter values will require the following sequence :

  1. First candle close breakout from the range (no FVG is required)
  2. Price retraces back to the range
  3. Price breakout 2nd time from the range with an FVG (Faire Value Gap)

This parameter values will require the following sequence :

  1. Price breakout 1st time from the range with an FVG (Faire Value Gap)

This parameter values will require the following sequence :

  1. First candle close breakout from the range (no FVG is required)
  2. Price retraces back to the range
  3. Price breakout 2nd time from the range with a candle close outside the range (no FVG is required)

This parameter values will require the following sequence :

  1. First candle close breakout from the range (no FVG is required)
  2. Price retraces back to the range
  3. Entry will be dispatched at the first tick outside the range

Features

The Opening Range Breakout strategy has a set of unique features:

  • No pending orders are placed: only market orders
  • Full-auto strategy that can be scaled into multiple instances
  • Precise backtesting capabilities based on Tick Level playback to obtain precise entry/exit backtesting executed on tick level
  • Robust In-house Order management library. Resistant to connection loss and works seamlessly on Rithmic accounts or other connection

Here I further explain some of the features of the strategy in more details

Futures on US indices or Crypto pairs

The strategy works seamlessly on both US Futures instruments such as ES, MES, NQ, MNQ..., or on crypto futures available on popular crypto exchanges such as ByBit or Binance

Dynamic Quantity and Risk Management

As all our strategies, this strategy implements two methods to set quantity for open positions.

  • Fixed Quantity: This method will use the same quantity value for each position. If the stoploss is variable between positions (by using a dynamic stop loss value), The win/loss will be also variable between positions
  • Dynamic Risk Adjusted Quantity: This method will calculate quantity of each position based on multiple factors:
    • The stoploss of the position
    • The maximum risk (in $ currency value) allowed for a position to take
    • The maximum quantity allowed for a position to take
    Using this method will produce equal win/loss amounts accross all positions. For example, a position with a tight stoploss will have a greater quantity than a wide stoploss position, so that both positions produce the same profit or loss
Position Management

As all our strategies, this strategy implements mutiple position management methods :

  • Classical Trailing Stop:This method will trail the stop loss of the position based on a trigger and a trailing amount
  • SuperTrend indicator:This method will manage the position based on the SuperTrend indicator

Apart from those position management methods, the strategy allows to set the stop loss based on multiple strategies and to set the take profit based on different ratio based methods. Check the parameters section for a detailed explanation

Account Management

The strategy implements daily stop-trading triggers based on the Net winning position count, the Net losing position count or when a target realized Net profit is reached. or when a target net loss is reached.

Parameters

We try to keep the parameters to minimum. We only left the most important parameters to be set

General
Execute Historical Trades This parameter is very important and should be used carefully. This parameter will enable executing trades when the strategy is run on Historical mode you may check this parameter to test the performance of the strategy on days in the past or to simply test if the used parameters will generate trades on the current day. But when you run the strategy on Live mode, you should uncheck this parameter.
Daily TakeProfit Target The strategy will stop when the daily TakeProfit amount is reached after a position is closed. When set to 0, this parameter is ignored
Daily StopLoss Limit The strategy will stop when the daily StopLoss amount is reached after a position is closed. The value of this parameter is positive. For example if the value is set to 300, the strategy will stop when the Realized PnL is lower or equal to -300$. When set to 0, this parameter is ignored
Stop @ Daily Winning Count This will make the strategy stop trading if the net count of winning trades for the day is equal to the value of this parameter. This parameter is ignored if equal to 0
Stop @ Daily Losing Count This will make the strategy stop trading if the net count of losing trades for the day is equal to the value of this parameter. This parameter is ignored if equal to 0
Entry Setup
Time Zone

This parameter sets the time zone to be used for setting the Trade Time parameter below. Since futures markets are open and closed based on US market time zone which is EST (US Eastern, New York), this parameter allows you to specifiy trade time interval on another timezone which is your local machine timezone

  • EST: This will use EST (Eastern Time) timezone while setting the Trade Time intervals
  • CET: This will use CET (Centrel European Time) timezone while setting the Trade Time intervals
  • Local Time: This will use the local machine timezone
Open Range Time (hh:mm-hh:mm,...) This sets the opening range interval. Example : 09:30-09:35 will define an opening range spanning from nine-thirty to nine-thirty-five AM. The tim zone is specified by the previous parameter. After this interval is finished, the range will be drawn in the chart marking the its high and low prices
Start Trading From (hh:mm) This parameter sets when the trading should start after the opening range has started. In most cases you would want trading to start as soon as the opening range has formed, but sometimes you would want to wait some time before the strategy starts trading.
Allow Trading Until (hh:mm) This parameter sets when the trading should stop after the opening range has formed. This time will restrict new trades to be open but will not affect already open positions to be managed.
Range Offset (Ticks) This parameter sets adds an offset in ticks to the calculated opening range. The offset is added to the high price and to the low price of the range. For eample if you set the value of this parameter to 4 Ticks, the opening range will be extends by 4 ticks to the top and by 4 ticks to the bottom.
Wait For Range Retrace This option will make the strategy wait for the following sequence of events before entering the trade:
  1. Price breaks from the range the first time
  2. Price retraces back to the range and touches it
  3. Price breaks from the range a second time
Wait For FVG This option will make the strategy wait for a valid Fair Value Gap while breaking from the range. The FVG can occur after the breakoff. When this option is not used, the strategy will only wait for a bar close in the direction of the trade
Trade Mode

This parameter sets the entry mode after a retest of the Opening Range zone

  • On Bar Close: This option will trigger a trade on bar close after all conditions are satisfied
  • On First Tick: This option will trigger a trade on the first price tick after all conditions are satisfied
Min. Distance From Range (Points) this parameter will set the minimum required distance in points from the range to the current price in order to trigger a trade. If you set this to the value 0, it means as soon as the price break from the range, the strategy can trigger a trade. If you set this to for example 4 points, the strategy will not open a trade until the price break from the range for at least 4 points
Max. Distance From Range (Points) this parameter will set the maximum allowed distance in points from the range to the current price in order to trigger a trade. If you set this to the value 0, it means no control on the distance is made. If you set this to for example 10 points, the strategy will not open a trade until if the price break from the range for more than 10 points from the range upper or lower level
Reset Bias On Each Side This parameter is only used when the Wait For Range Retrace is enabled. This parameter will have the following behaviour:
  • When this parameter is not enabled, the strategy will set its directional bias at the first bar closed outside the range. If the price closes above the range, the strategy will only look for bullish entries. If the price closes below the range, the strategy will only look for bearish entries. And if the price goes completely in the opposite direction, the strategy will not chang it bias
  • When this parameter is enabled, the strategy will change its bias with the price. This Logic will produce more trades compared to when the parameter is disabled. This parameter is an option to let the strategy behave in two different logics. It is up to you to decide which logic is aligned with your trading style.
SuperTrend Entry Filter This parameter will enable/disable using the SuperTrend indicator as an entry filter. When this is enabled, Long trades are allowed to enter only when the SuperTrend is in bullish mode. Inversly, it allows short trades to enter only when the SuperTrend indicator is in bearish mode. Notice that this will result in fewer trades overall
Order Label The parameter will let you set a Label that will be suffixed to all positions sent to the broker. This is useful in case you want the positions sent to the broker to have a specific value to differentiate them from positions of other people using the same strategy
Quantity Strategy

This parameter sets how the quantity should be set for a Trade

  • Fixed Quantity: This will set a fixed quantity. Before the trade is open, the risk is evaluated and if the risk calculated is higher than the value of the parameter Target Risk Per Trade ($), the trade is skipped and will not be open
  • Risk Adjusted: this option will make the contract size for each trade dynamic and calculated based on the StopLoss price and the Target Risk Per Trade ($) value
Max Qty This parameter sets the maximum allowed quantity when the Risk Adjusted method is selected. This option is very useful since some propfirms has order quantity limits that can cause the account to be invalidated
Order Qty This parameter is only used if the Quantity Strategy is set to Fixed. This parameter sets a fixed quantity of each trade. In the case of increasing orders quantity executed by the order management mechansim, this parameter is also used for each increase in quantity. Generally, We would use the values 1 or 2 for this parameter
Order Management
Order Management Strategy
  • Classic Trail Stop:

    This method will run a trailing stop based on a trigger and a trailing amount. See below for the Trailing Stop Parameters for parameters that control this method

  • SuperTrend: This method will use SuperTrend indicator as a signal to close trades. When price closes above/below the trend of the SuperTrend, the stop loss level is set one tick above/below the wick of the bar that broke the supertrend level.
  • None: This selection means the stop loss defined by the Target Risk Per Trade ($) parameter will be used
Target Risk Per Trade ($) This sets the max risk in dollars for one position.
  • This parameter is used before a position is open to determine if the StopLoss level calculated by the StopLoss Strategy respects this max risk, if not, the position will not be opened
Max Allowed Risk Per ($)
  • This parameter is only used if the Quantity Strategy parameter is set to Risk Adjusted
  • When the quantity is calculated based on a StopLoss level and a target Risk in $, the calculated quantity will be the quantity that gets as close as possible to generating the target Risk for the given stoploss, but rarely the exact target Risk. So for example if you set the Target Risk to $250, the strategy will calculate the quantity of 3 for example. This value of 3 will generate a real risk of lets say 257$ (in an ideal setting the quantity would have been 2.89 to generate exactly $250 risk, but that is impossible). So this parameter will control how far you allow the real Risk to deviate from the Target Risk.
StopLoss Strategy
  • Fibo 0%: This sets the stoploss price at the closest Opening Range level to the breakout price, in other words at 0% retracement
  • 23.60%: This sets the stoploss price at 23.60% Fibonacci retracement from the breakout level of the Opening Range
  • 38.20%: This sets the stoploss price at 38.20% Fibonacci retracement from the breakout level of the Opening Range
  • 50%: This sets the stoploss price at the exact half level the Opening Range
  • 61.80%: This sets the stoploss price at 61.80% Fibonacci retracement from the breakout level of the Opening Range
  • 76.40%: This sets the stoploss price at 76.40% Fibonacci retracement from the breakout level of the Opening Range
  • 100%: This sets the stoploss price at the opposite breakout level of the Opening Range, in other words at 100% retracement
  • Fixed Currency Value: This selection means only the stop loss defined by the Target Risk Per Trade ($) parameter will be used
  • Points: The StopLoss price is set as a number of points from the entry price
  • SuperTrend: The StopLoss price is set according to the Supertrend indicator levels
TakeProfit Strategy
  • Fixed Currency Value: This selection means the take profit price will be based on the fixed value of the parameter Take Profit Currency
  • Points: The take profit price will be set as a number of Points from the entry price
  • 1:1 Win Loss Ratio: The take profit price will be calculated based on the stop loss price with a 1:1 ratio
  • 0.5:1 Win Loss Ratio: The take profit price will be calculated based on the stop loss price with a ratio
  • 2:1 Win Loss Ratio: The take profit price will be calculated based on the stop loss price with a 2:1 ratio
  • 3:1 Win Loss Ratio: The take profit price will be calculated based on the stop loss price with a 3:1 ratio
  • 4:1 Win Loss Ratio: The take profit price will be calculated based on the stop loss price with a 4:1 ratio
  • 5:1 Win Loss Ratio: The take profit price will be calculated based on the stop loss price with a 5:1 ratio
  • 6:1 Win Loss Ratio: The take profit price will be calculated based on the stop loss price with a 6:1 ratio
Stop Loss Points This parameter is available if the Stop Loss strategy is set to Points
Stoploss offset Points This parameter will add an offset of points to the calculated stoploss level. This offset will be used when calculating Risk per trade
Take Profit Currency This sets the take profit in dollars for the open position. If you use the Fixed Currency Value as a take profit strategy, the value of this parameter will be used. If not, make sure to set this parameter to a high value to not interfer with other ratio based strategies
Super Trend
SuperTrend Period This sets the supertrend period
SuperTrend Smooth This sets the smoothing period of the supertrend
SuperTrend Multiplier This sets the Supertrend multiplier. The bigger this parameter the wider the supertrend bands
Trailing Stop Parameters
Trailing Stop Strategy When the Classic Trail Stop method is selected, this parameter let you chose on which basis the trailing will be calculated
  • Points: The trailing trigger and trailing amount will be calculated in Points from the entry price
  • Ratio: The trailing trigger and amount will be calculated in ratio from the stoploss value mirrored on the winning side of the trade
Trailing Stop Trigger When the Classic Trail Stop method is selected, this parameter sets the trigger (in Points or in Ratio)
Trail Amount When the Classic Trail Stop method is selected, this parameter sets the amount (in Points or in Ratio) to be trailed when the trigger is hit
Backtesting and Preferred Settings

Here I will try to periodically list backtests with different risk appetit. But before that here are some remarks regarding backtesting

  • Past results are not guarantee of future results. All backtesting results are for indicative purposes only
  • The period on which the backtest was run was not handpicked to show the best results, The backtest period is the month prior to the first release of this strategy
  • Commissions are included in the backtests to get as realistic results as possible. The commission schema used is the same as Apex trader funding program for US futures, and the same as ByBit for crypto futures
  • At automated-trading.ch we run very precise backtests due to the following 2 factors
    • We are running backtest on the maximum precision on intrabar granularity by using tick level DataSeries
    • We are only using Market Orders instead of Pending Orders, in both real-time and becktest modes.

How to run accurate tick-level backtests on Quantower

To run backtests on Quantower, first click on the Backtest button as shown on the image below.

how to backtest on quantower

Then you should select the strategy as shown below

how to seelct backtest strategy

Then, you should select the symbol, in the example below, we have selected MES as Symbol. Once the symbol is selected you should click on the General Settings button. On the window that will open, you should make sure the History Type selected is Last and the Period is Tick

how to seelct backtest settings

Fees should manually specified. For MES futures you should set the fees to 0.61 like shown on the image below

how to seelct backtest settings
Backtest results
Download & Installation Instructions

To download and install the strategy follow the instructions below

  • The strategy requires installing the ATCHATR ATR indicator first. Click on the below button to download the indicator
  • Download here
  • As illustrated on the image below, extract the whole content of the zip file into your Quantower indicators folder. The indicators folder can be found by default following this path : {C:\Users\{Windows Username}\Documents}\Quantower\Settings\Scripts\Indicators
  • Make sure the files are extracted inside a new folder called ATCHATR
  • extract atr indicator
  • The strategy also requires installing the ATCHSuperTrend indicator first. Click on the below button to download the indicator
  • Download here
  • As illustrated on the image below, extract the whole content of the zip file into your Quantower indicators folder. The indicators folder can be found by default following this path : {C:\Users\{Windows Username}\Documents}\Quantower\Settings\Scripts\Indicators
  • Make sure the files are extracted inside a new folder called ATCHSuperTrend
  • extract supertrend indicator
  • Once those two indicators are installed, the next step is to download and install the strategy file
  • This file was downloaded 1 times. Last download was 13 hours ago
  • As illustrated on the image below, extract the whole content of the zip file into your Quantower strategies folder. The strategies folder can be found by default following this path : {C:\Users\{Windows Username}\Documents}\Quantower\Settings\Scripts\Strategies
  • Make sure the files are extracted inside a new folder called ATCHOpenRangeBreakoutStrategy
  • how to import strategy to quantower
  • To start the strategy you should first click on the Strategy Manager module on quantower menu like shown on the image below
  • Then Click on the + button to add the strategy. Once added, you should open its settings
  • On the settings panel you should enter you automated-trading.ch License that you can get from here billing main page
  • how to import strategy to quantower
Frequently Asked Questions
General
Can this strategy run on Crypto futures

Yes! this strategy can run on crypto pair futures such as BTC/USDT future from ByBit

Can this strategy run on weekend on Crypto futures

Yes! this strategy can run on weekends when it is used on Crypto futures. When run on US futures it will not run on weekends

Can I use a Trade Copier with this strategy?

Yes! you can use a copier, but a better solution would be to run multiple instances of the strategy. The purchased license allows you to run unlimited instances on multiple machines

Can I use this strategy to pass Apex or any other trader funding program?

Yes! The strategy is designed for that exact purpose. It will work seamlessly on Rithmic, Tradovate, ByBit futures or any other provider connected to your Quantower platform

Is this a hands-off, full-automatic strategy or does it need manual intervention and monitoring?

I designed this strategy to be full-automatic strategy. Yet, it can be used as a semi-auto strategy to enter trades and then let you manage those trades manually using its command buttons

Why should I consider full automated-trading instead of discretionary manual trading?

You should consider full auto-trading over manual trading for many reasons:

  • Trading 24/7: Automated trading strategies don't need to go to the bathroom not it need to take a break
  • Better execution, faster and more precise
  • Eliminate psychology and sentiments
  • Can be scaled to dozens if not hundreds of instances
  • Automated trading can generate truly "passive" income, manual trading is just another "more stressful" job

Can I ask you to modify/add a new feature to this strategy?

Yes, If you have an idea that you believe can improve the performance of this strategy, I will be more then happy to hear from you. Please use the contact page to send me a message

Will I get the source code of the strategy when I download it?

No, the source code of the strategy is protected for copyright reasons

Billing
Can I cancel my subscription at any time?

Yes, you can cancel your subscription from the account page at any time to prevent future payments. We cannot refund the unused portion of your subscription, but you will be able to use your subscription even after cancelling for the remainder of the billing cycle.

Is there a free trial period?

No, we don't offer a trial subscription plan.

What is the refund policy?

We do not offer full or partial refunds, but you may cancel your subscription at any time to stop future payments.

Skeptics
What is your background? Aren't you just another fake trading guru trying to sell me garbage?

I have been a professional software developer since 2010. I have been developing automated trading strategies since 2012, for my self for fun and profit and also been developing strategies for clients all over the world

I have always been invlolved professionaly in the business of Finance and Investing, I have worked for trading brokers and investment banking.

I'm not a marketer, and I don't hire someone else to develop my strategies.

If this strategy is favorable why are you selling it?

I'm not selling it, I'm renting it to generate an additional income and diversify my different sources of income besides what this strategy can generate. Which you should also do. You should not rely on one source of income to reach financial independance, the key is diversification.

The edge of this strategy will not disappear if many people start using it. This strategy is purely mechanical and does not rely on a hidden quantitative pattern that should not be disclosed

Why the strategy uses Market orders and no Pending orders?

Lets examine pros and cons of pending orders

  • Pros:
    • Best price execution when using limit orders
    • Protection against losses in case of connectivity issues
  • Cons:
    • Can get rejected on high price volatility
    • Delay between request to place the order and when it gets placed. Price volatility can cause the order to be rejected and the price to run away
    • Requires management: any opposite orders need to be canceled
    • Visible to the broker, placed orders can be manipulated

After years of developing strategies I reached the conclusion that market orders are better suited for the context of automated trading.

The main drawback of using pending orders is the fact that they can be rejected which is very hard to manage especially in a volatile environment

In all our strategies, we use market orders even for take profit and stop loss. Lets examine the pros and cons of market orders

  • Pros:
    • Guarantee of execution reagrdless of volatility conditions
    • Invisible to the broker before they get submited
    • No risk of being rejected which means better protection for stop loss
    • Faster execution than pending orders
  • Cons:
    • In the case of the connection being lost with the broker, the strategy will be unable to send market orders

How accurate are your backtest results?

We are following the Quantower official guide on how to achieve precise intrabar granularity backtesting by using Tick level DataSeries for execution

Don't take my word for it. Test it yourself, at the end of each trading day, run a backtest of the strategy on that day and compare it with the live trades the strategy made during the day.

Release Notes
Release 1.0.0.0 - 13 September 2025

  • First Release of the strategy

User Comments & Feedback

You can find feedback of our users and ask questions about this strategy by joining our discord community by following this invite link or clicking on the Discord logo image. Joining is completely free discord-invitation