Range Breaker Documentation [EN]
The Range Breaker is an indicator that detects bullish and bearish range breakouts. This tool will help you operate range breakouts as a swing or day trader.
It provides buying and sell-shorting signals on the price graphic. It also displays the target prices and the stop losses.
Download the indicator and screener
You can download the latest version of the indicator and screener for free on this page: https://artificall.com/range-breaker-prorealtime/
The present manual treats the following sections:
- Installation of the indicator
- Indicator running
- Indicator setting
- Create an alert system
- Backtest & Automated trading
- Rabge Breaker Screener
Installation of the indicator
The installation of the indicator on the Prorealtime platform is fast and easy. Here are the installation steps:
1. Run the Prorealtime platform
You must run the Prorealtime platform at your broker. The platform starting can differ depending on your broker.
2. Click on the “Indicator & trading system” icon
You will find the icon at the top of the price graphic windows:

3. Click on “Import”
After you have clicked on the icon, the indicator window will open. You must click on the “Import” icon to import the indicator:

4. Select the Range Breaker indicator
After you click “import”, a browser window will open. This window will propose you choose the file you want to install on your platform.
You must browse your computer until you reach the indicator’s directory. You have to select the “Range Breaker.itf” file and click on “Import”:

The Range Breaker is installed on your platform now. You can start to use it 😊
Indicator running
You can use the indicator on any asset, like a stock, a future, a CFD index, or an ETF. You have to follow the steps below to run the indicator:
1. Open the price window on an asset
You must open the price window of the asset on which you want to run the Range Breaker indicator. You must click on the asset of your choice on one of your lists to open the chart.
2. Click on the “Price” icon
The Range Breaker indicator will print information on the price chart. As a consequence, you must run it in graphic mode. For this reason, you must click on the “Price” icon at the top left of the price windows:

3. Click on “Add an indicator”
A list will appear after you click on the “Price” icon. Click on “Add an Indicator”.
4. Type “Range Breaker” in the search bar
After you click on “Add an Indicator” on the list, a window will open.
- Start typing “Range Breaker” in the search bar at the top right of the window.
- Then click the “Range Breaker” indicator to run it on the price chart.
Indicator setting
Access the control panel
You will need to click on the tab under the name of the indicator at the top of the price window to access the control panel:

Structure of the control panel
The control panel comprises checkboxes and input fields allowing option activations and parameter settings. It is composed of two blocs:
- The first bloc allows setting the indicator. You can activate the buying or selling signals, customize the target and the stoploss, and adjust the sensibility of the signals.
- The second bloc allows for the data displaying management on the chart price.

I will show you how to better adapt the indicator to your needs.
Activation of the bullish or bearish signals
The Range Breaker indicator provides bullish and bearish signals. The bullish breakout signal returns bullish breakouts, and the bearish breakout signal returns bearish breakouts.
- A bullish breakout happens when the price closes above the range’s resistance. That prefigures a bull market. This signal allows a long entry opening.
- A bearish breakout happens when the price closes under the range’s support. That prefigures a bear market. This signal allows a short entry opening.
The “Bullish Breakout” signal will show the bullish breakouts of the ranges, and the “Bearish Breakout” signal will show the bearish breakout of the ranges. You have to check the corresponding checkbox to active one of the other signals:

Range length
You can define the length of the ranges whose breakouts you want to trade with the “Range Length” option. The length of the ranges is expressed in candles:

Range Extension
The indicator uses the length in range detections. However, we cannot know the exact range size when it will be broken.
The range extension parameter allows expansion of the range. The indicator will use the extended length to detect breakouts. A little vertical segment to separate two areas:

By default, the range is extended one time:

The indicator will detect a range of thirty candles with the previous setting. Therefore, the total length of detection + breakouts will be 45 candles.
Range height
You can set the minimum and maximum height of the range that the indicator will recognize. These heights are defined in percentage of the context. The context corresponds to the difference between the highest and lowest candle on a period equal to three times the range length:

Breakout validation
A breakout is validated when the price follows the breakout direction. A bullish breakout is validated when the next candle closes above the top line of the range. A bearish breakout is validated when the next candle closes under the bottom line of the range.
You can activate the breakout validation by clicking the “Validated Breakout” checkbox. The indicator will only return the validated bullish and bearish breakouts:

Volume increase
One of the best ways to eliminate false range breakouts is to only keep signals along with volume increasing. The indicator allows you to filter the breakout signals by volume increasing. You can click on the “Volume Increases” checkbox to activate this filter:

Trend filter
The range breakout strategy allows you to take advantage of the trend continuation. Trade in the trend will increase your success rate and the expected gains by entry. A validated range breakup with high volumes in a positive trend can start a new long-term bullish cycle. It is essential to check the long-term trend of the asset you watch.
The following chart shows the growth potential of a range breakup in a bull market:

The indicator contains a trend filter that allows you to display the lines appearing in the trend or against the trend:
- Click on the “Reversal” checkbox to display the lines against the trend.
- Click on the “in the Trend” checkbox to display the lines in the trend.

Target prices
The indicator automatically calculates the levels of price targets and safety stops based on the height of the range. You can adjust the number of levels the indicator will display with the “Target Level” and “Stoploss Level” options. One level is half the height of the range for price targets and one-quarter of the height of the range for stoploss:

Font size
You can set the font size of the targets and stop-losses with the “Font Size” parameter:

Starting year
You can set the starting year from which the indicator will search ranges. That allows to reduce the time calculation of the indicator:

Create an alert system
The Prorealtime platform provides a trading alert system. The Range Breaker indicator can create bullish and bearish breakout alerts.
Steps of the trading alert creation
Here are the steps you have to follow to implement an alert from the Range Breaker indicator:
1. Configure the indicator
The first step is to set the Range Breaker indicator. Based on the indicator configuration, the Prorealtime platform will build an alert.
For example, if you have defined a range of 50 candles and activated the Breakout validation and volume increase, the platform will only send alerts for this set.
2. Open the alert windows
You need to open the alert windows to create an alert. You must process a right-click on the price chart and click “Create a new alert.” :

3. Select the Range Breaker indicator
Vous must select the Range Breaker indicator to allow the Prorealtime alert system to use the indicator signals:

4. Set the values
The Range Breaker indicator returns 1 in case of bullish breakouts and -1 in case of bearish breakouts. If you want the system to trig a bullish breakout alert, you must select the “equal” operator and set 1 to the value:

5. Manage the triggers
The trigger area allows you to select the temporality of the alerts. In the following example, the platform will send one alert by day in case of bullish breakout:

Backtest & Automated trading
You can integrate the Range Breaker indicator in a backtest or use it in an automated trading system. The new version of the indicator returns all the data you need to create a strategy.
Indicator integration in a backtest
The CALL instruction
The CALL instruction allows indicator integration in a backtest:
myBreakout, myTargetLong, myStoplossLong, myTargetShort, myStoplossShort = CALL "Range Breaker"[1, 0, 30, 5, 20, 100, 0, 0, 0, 0, 4, 5, 4, 2020](close)
Function insertion
Thanks to the function insertion tool, you can call an indicator in your source code. You have to click on the “function insertion” button on the code editor window:

Then type “range breaker”, select the indicator, and click on “Add”:

The indicator will be integrated into the source code with its default setting.
Source code of a backtest
I have included the code for a backtest implementing the Range Breaker. This will help you integrate the indicator into your strategy.
The following code will open long and short entries on the 100-candle range breakouts:
//--------------------------------------------------------//
// *** Range Breakout Strategy *** //
//--------------------------------------------------------//
// Author: Vivien Schmitt
// Website: https://artificall.com
// Range Breaker: https://artificall.com/range-breaker-prorealtime/
// Indicator: Range Breaker
// Date: 2025/02/24
//--------------------------------------------------------//
DEFPARAM CUMULATEORDERS = False
DEFPARAM PRELOADBARS = 1000
//--------------------------------------------------------//
// *** SETTING BLOCK *** //
//--------------------------------------------------------//
// * Position Size
// Capital to invest
ONCE CapitalToInvest = 10000
// Minimum number of contracts
ONCE NumberOfContractsMin = 0.5
// Position Size
NumberOfContracts = MAX(ROUND(CapitalToInvest / Close, 2), NumberOfContractsMin)
// * Indicator Parameters
// Type of Breakout
ONCE BullishBreakout = 1
ONCE BearishBreakout = 1
// Length of the range
ONCE RangeLength = 30
// Extension of the Range
ONCE RangeExtension = 5
// Min range height (%)
ONCE HeightMin = 20
// Max range height (%)
ONCE HeightMax = 50
// Breakout validation
ONCE ValidatedBreakout = 0
// Volume Filter
ONCE VolumeIncreases = 0
// Trend Filter
ONCE IntTheTrend = 0
ONCE Reversal = 0
// Target and Stoploss levels
ONCE TargetLevel = 5
ONCE StoplossLevel = 5
// Font Size
ONCE FontSize = 12
// Starting Year
ONCE StartingYear = 2000
//--------------------------------------------------------//
//--------------------------------------------------------//
// *** INITIALIZATION OF THE VARIABLES *** //
//--------------------------------------------------------//
ONCE myBreakout = 0
ONCE myTargetLong = 0
ONCE myStoplossLong = 0
ONCE myTargetShort = 0
ONCE myStoplossShort = 0
//--------------------------------------------------------//
// *** INDICATOR CALLING *** //
//--------------------------------------------------------//
myBreakout, myTargetLong, myStoplossLong, myTargetShort, myStoplossShort = CALL "Range Breaker"[BullishBreakout, BearishBreakout, RangeLength, RangeExtension, HeightMin, HeightMax, ValidatedBreakout, VolumeIncreases, IntTheTrend, Reversal, TargetLevel, StoplossLevel, FontSize, StartingYear](close)
//--------------------------------------------------------//
// *** ENTRY OPENING *** //
//--------------------------------------------------------//
// *** LONG POSITION OPENING *** //
IF NOT OnMarket AND myBreakout = 1 THEN
BUY NumberOfContracts CONTRACTS AT MARKET
Set Target Price myTargetLong
Set Stop Price myStoplossLong
ENDIF
// *** SHORT POSITION OPENING *** //
IF NOT OnMarket AND myBreakout= -1 THEN
SELLSHORT NumberOfContracts CONTRACTS AT MARKET
Set Target Price myTargetShort
Set Stop Price myStoplossShort
ENDIF
Backtest setting
Here is how to configure the parameters of the Range Breaker indicator.
Type of breakouts
The BullishBreakout and BearishBreakout variables will allow activation and inactivation of bullish and bearish breakouts. You must set 1 to activate a type of breakout and 0 to inactivate it :
// Type of Breakout
ONCE BullishBreakout = 1
ONCE BearishBreakout = 1
Length of the range
The RangeLength variable allows us to define the length of the range. In this example, the length of the range is 30 candles:
// Length of the range
ONCE RangeLength = 30
Extension of the range
The RangeExtension variable allows you to extend the range length to detect more signals. Each level corresponds to 0.5 times the range length. In this example, the range length is extended by 2.5 times:
// Extension of the Range
ONCE RangeExtension = 5
Height of the range
You can set the minimum and maximum height of the range that the indicator will recognize. These heights are defined in percentage of the context. The context corresponds to the difference between the highest and lowest candle on a period equal to three times the range length:
// Min range height (%)
ONCE HeightMin = 20
// Max range height (%)
ONCE HeightMax = 50
Validation of the breakout
You can filter the validated range breakouts. You must set 1 to validate the breakout and 0 else. In this example, the breakouts will be validated:
// Breakout validation
ONCE ValidatedBreakout = 1
Volume increases
You can filter the breakouts along with volume increases. You must set 1 to activate the volume increases filter and 0 else:
// Volume Filter
ONCE VolumeIncreases = 1
Trend filter
You can filter the trend so that the indicator only detects ranges in or against the trend. You must put 1 to activate a filter and 0 to deactivate it:
// Trend Filter
ONCE IntTheTrend = 0
ONCE Reversal = 0
Target and stoploss
You can define the target and stoploss levels. That will determine their values for the long and sell-short signals:
// Target and Stoploss levels
ONCE TargetLevel = 5
ONCE StoplossLevel = 5
Font size
This option will define the font size to display the targets and stoploss. It is only helpful to the indicator. You can keep the default values:
// Font Size
ONCE FontSize = 12
Starting year
You can set the starting year of the indicator to reduce the time calculation:
// Starting Year
ONCE StartingYear = 2000
Returned variables by the indicator
The Range Breaker indicator returns the six following variables:
Variables | Description |
---|---|
Breakout | Bullish and bearish breakout signals: – Bullish breakouts: 1 – Bearish breakouts: -1 |
TargetLong | Target value associated with the bullish breakouts |
StoplossLong | Stoploss value associated with the bullish breakouts |
TargetShort | Target value associated with the bearish breakouts |
StoplossShort | Stoploss value associated with the bearish breakouts |
Example of backtest execution
Here is the result of a backtest run on the SPDR S&P 500 Trust ETF (SPY) in the 15-minute time frame from 2019 to 2025:

This backtest was run with the following configuration:
//--------------------------------------------------------//
// *** SETTING BLOCK *** //
//--------------------------------------------------------//
// * Position Size
// Capital to invest
ONCE CapitalToInvest = 10000
// Minimum number of contracts
ONCE NumberOfContractsMin = 0.5
// Position Size
NumberOfContracts = MAX(ROUND(CapitalToInvest / Close, 2), NumberOfContractsMin)
// * Indicator Parameters
// Type of Breakout
ONCE BullishBreakout = 1
ONCE BearishBreakout = 0
// Length of the range
ONCE RangeLength = 60
// Extension of the Range
ONCE RangeExtension = 5
// Min range height (%)
ONCE HeightMin = 20
// Max range height (%)
ONCE HeightMax = 100
// Breakout conditions
ONCE ValidatedBreakout = 0
// Volume Filter
ONCE VolumeIncreases = 0
// Trend Filter
ONCE IntTheTrend = 0
ONCE Reversal = 0
// Target and Stoploss levels
ONCE TargetLevel = 5
ONCE StoplossLevel = 5
// Font Size
ONCE FontSize = 12
// Starting Year
ONCE StartingYear = 2000
//--------------------------------------------------------//
Range Breaker Screener
The Range Breaker indicator comes with a market scanner. It will allow you to find real-time range breakout opportunities on the markets.
Here’s how to use the screener:
Install the screener
You must first install the screener on your Prorealtime platform. To do this, you must open the Proscreener window, then click on “Import”:

Note: If the “Import” button is not in the ProScreener window, you can import the screener from the indicators window.
Select the “Range Breaker Scan.itf” file and click on enter. Once imported, you will find the screener in the list on the left of the ProScreener window. Select it to configure it.
Select a list of assets
You must choose all the assets on which you want to find opportunities. The screener will look for range breakouts only in the selected list(s):

Select Timeframe
You can choose the timeframe in which the screener will look for range breakouts. The Range Breaker screener, like the indicator, is compatible with all timeframes.
The choice of timeframe depends on the type of trading you want to do:
- Choose small timeframes for scalping or day trading, like 1, 2, 5, or 15 minutes.
- Select large timeframes for swing trading, like 4 hours, daily or weekly.

Configure the screener
The Range Breaker screener is configured by default to find bullish range breakouts of 30 candles in size.
You can configure the Range Breaker screener like the indicator. To access the configuration panel, you must click on the wrench on the ProScreener window of the screener:

Screener Setting
You will find the same options as the indicator, except for the stoploss and display settings, which are useless for the screener:

Launch the screener
To launch the screener, click on “Execute ProScreener”:

You will get a list of assets corresponding to the screener configuration:

Increase the number of opportunities
The number of results the screener returns depends on several factors: current opportunities, the list size, and the time unit you have selected.
If the screener does not return a result, no stocks match your configuration. Here are the actions you can take to increase the number of opportunities found by the screener:
- Reduce the size of the range
- Disable filters
- Choose important asset lists like Nasdaq and Nyse
- Choose a lower time frame