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

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:

Indicator and Trading Systems

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:

Indicator Import

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”:

indicator 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:

indicator installation

3. Click on “Add an indicator”

A list will appear after you click on the “Price” icon. Click on “Add an Indicator”.

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:

Range Breaker Setting

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.
Setting Panel

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:

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 Length

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:

Range Extension

By default, the range is extended one time:

Range Extension

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:

Range Height

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:

Validated Breakout

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:

Volume Increases

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.
Trend Filters

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:

Target Stoploss

Font size

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

Font Size

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:

Starting Year

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.” :

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:

Range Breakout Alert

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:

Range Breaker Alert

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:

alert triggering

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:

insertion function Probuilder

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

Probuilder Function list

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:

VariablesDescription
BreakoutBullish and bearish breakout signals:
– Bullish breakouts: 1
– Bearish breakouts: -1
TargetLongTarget value associated with the bullish breakouts
StoplossLongStoploss value associated with the bullish breakouts
TargetShortTarget value associated with the bearish breakouts
StoplossShortStoploss 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:

Range Breakout Backtest

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”:

Screener 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):

Screener List

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.
Screener Period

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

Screener Setting

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

Screener Options

Launch the screener

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

Screener Run

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

Range Breakout Screener

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