How to Create and Use Average True Range for TradeStation


average true range for tradestation

In this tutorial, you’ll learn how to create the custom sloped and smoothed version of the Average True Range for TradeStation and MultiCharts in EasyLanguage and PowerLanguage.

Average True Range ATR is available from all popular platforms, but if you would like to dress up or modify your TradeStation Indicator, here, you can learn how to do it.

In this tutorial, we’ll walk you through how to create and modify the Average True Range ATR indicator.

Average True Range for TradeStation – Sloped & Smoothed

Standard Average True Range for TradeStation in EasyLanguage

EasyLanguage Average True Range Code for TradeStation

Step 1: Declare the inputs

Insert the inputs; this EasyLanguage indicator needs only the period of calculation. An Average True Range ATR of period 14, uses the last close price in the last 14 candles.

Inputs:
ATRLength( 14 ); 

Step 2: Declare the variables

Insert the variables; the ATR variable contains the value of the Average True Range

Variables:
ATR( 0 ) ;

Step 3: Calculate the Average True Range

Here we use a specific EasyLanguage function that does the calc.

ATR = AvgTrueRange( ATRLength ) ;

Step 4: Plot the indicator

The final step is to plot the EasyLanguage indicator in your chart. You plot the variable ATR.

Plot1( ATR, “ATR” ) ;

That’s all. Attach the TradeStation Indicator to the chart, and this is the result:

Average True Range TradeStation Indicator

This indicator shows what you need, but sometimes you need more.

You can modify the style of your EasyLanguage indicator, for example, we can modify the color and the size of the line

Plot1( ATR, “ATR”, Green, Default, 3);

Average True Range TradeStation Indicator Chart Style Modified

Smoothed Average True Range for TradeStation in EasyLanguage

Say you want to flatten your TradeStation Indicator. Now what? To smooth an Average True Range with EasyLanguage, you have to create a moving average of the ATR variable. Maybe you could use a 5-period moving average.

Declare another variable:

Variables:
ATR( 0 ),
ATR_SMOOTH( 0 );

To create a 5-period moving average of your indicator, write this:

ATR = AvgTrueRange( ATRLength ) ;

ATR_SMOOTH = Average (ATR, 5);

Remember to Plot the ATR_SMOOTH and not the ATR:

Plot1( ATR_SMOOTH, “ATR SMOOTH” , Red, Default, 3);

The smoothed ATR is red so that you can see the difference with the standard green:

Average True Range TradeStation Indicator Chart Smoothed

Volatility phases with Average True Range

The Average True Range calculates the volatility, let’s say you want to know if volatility is increasing or decreasing.

With the right EasyLanguage code, you will be able to add a Moving Average to identify if the volatility is high or low.

Inputs:
ATRLength( 14 );

Add two variables to calculate the Moving Average and the color of the ATR
Variables:
ATR( 0 ),
MA_ATR ( 0 ),
ATR_Color ( White );

Calculate the ATR and his Moving Average

ATR = AvgTrueRange( ATRLength ) ;
MA_ATR = Average (ATR, 50);

You have to create the rule to change the color of your EasyLanguage indicator. When the volatility is increasing, and the Average True Range is over his 50-period Moving Average, the color became Red, when the volatility is decreasing the color became Green.

If ATR > MA_ATR then
ATR_Color = Red;
If ATR < MA_ATR then
ATR_Color = Green;

Just remember to draw two lines in your TradeStation chart, the ATR, and his MA

Plot1( ATR, “ATR”, ATR_Color, default, 3 ) ;
Plot2( MA_ATR, “ATR MA”, White, default, 2 ) ; 

Now your indicator shows you the volatility phases and becomes complete.

Average True Range EasyLanguage TradeStation Indicator with Moving Average

If you change the last part of your EasyLanguage code and modify the style of your indicator, you can plot a histogram that shows you if the volatility is high or low.

Only substitute the variables “ATR” and “MA_ATR” with the number “1”.

Plot1( 1, “ATR”, ATR_Color, default, 3 ) ;
Plot2( 1, “ATR MA”, White, default, 2 ) ; 

Enter in the customize tab of the TradeStation Indicator and change the Style, choose Histogram, and change the Weight.

Tradestation Style histogram

Change the Scaling value, use a fixed scaling, and set the min and the max to “1”.

Change scaling Tradestation Indicator

This is our TradeStation indicator with Histogram style:

TradeStation Indicator Average True Range in Histogram with EasyLanguage

Average True Range for MultiCharts – Sloped & Smoothed

Standard Average True Range in PowerLanguage for MultiCharts

Average True Range in PowerLanguage for MultiCharts

Step 1: Declare the inputs

Insert the inputs; this PowerLanguage indicator needs only the period of calculation. An Average True Range ATR of period 14, uses the last close price in the previous 14 candles.

Inputs:
ATRLength( 14 ); 

Step 2: Declare the variables

Insert the variables, MultiCharts will use the ATR variable to store the Average True Range values

Variables:
ATR( 0 ) ;

Step 3: Calculate the Average True Range

Here we use a specific PowerLanguage function that does the calc.

ATR = AvgTrueRange( ATRLength ) ;

Step 4: Plot the indicator

The final step is to plot the PowerLanguage indicator in your chart. You plot the variable ATR.

Plot1( ATR, “ATR” ) ;

That’s all. Attach the MultiCharts Indicator to the chart, and this is the result:

Standard Average True Range in MultiCharts

This indicator shows what you need, but sometimes you need more.

You can modify the style of your PowerLanguage indicator, for example, we can adjust the color and the size of the line

Plot1( ATR, “ATR” , Green, Default, 3);

Modified Average True Range in MultiCharts

Smoothed Average True Range in PowerLanguage for MultiCharts

Consider you want to flatten your MultiCharts Indicator. It’s simple. To smooth an Average True Range in EasyLanguage, you have to create a moving average of the ATR variable. Maybe you could use a 5-period moving average.

Declare another variable:

Variables:
ATR( 0 ),
ATR_SMOOTH( 0 );

To create a 5-period moving average of your MultiCharts indicator, write this:

ATR = AvgTrueRange( ATRLength ) ;

ATR_SMOOTH = Average (ATR, 5);

Finally, Plot the ATR_SMOOTH and not the ATR:

Plot1( ATR_SMOOTH, “ATR SMOOTH” , Red, Default, 3);

The smoothed ATR is red, so you can see the difference with the standard green:

Smoothed Average True Range in MultiCharts

Volatility phases with Average True Range in PowerLanguage for MultiCharts

The Average True Range calculates the volatility; if you want to know if volatility is increasing or decreasing, you can modify the PowerLanguage code.

With the next simple strings, you will be able to add a Moving Average to identify if the volatility is high or low.

Inputs:
ATRLength( 14 );

Add two variables to calculate the Moving Average and the color of the ATR

Variables:
ATR( 0 ),
MA_ATR ( 0 ),
ATR_Color ( White );

Calculate the ATR and his Moving Average

ATR = AvgTrueRange( ATRLength ) ;
MA_ATR = Average (ATR, 50);

Finally, create the rule to change the color of your PowerLanguage indicator. When the volatility is increasing, and the Average True Range is over his 50-period Moving Average, the color became Red, when the volatility is decreasing the color became Green.

If ATR > MA_ATR then
ATR_Color = Red;
If ATR < MA_ATR then
ATR_Color = Green;

And draw two lines in your MultiCharts chart, the ATR, and his MA

Plot1( ATR, “ATR”, ATR_Color, default, 3 ) ;
Plot2( MA_ATR, “ATR MA”, White, default, 2 ) ; 

Now your indicator shows you the volatility phases and becomes more interesting.

Average True Range with Moving Average in PowerLanguage MultiCharts

Would you like to visualize the volatility phases with a histogram? Only change the last part of your PowerLanguage code.

Only substitute the variables “ATR” and “MA_ATR” with the number “1”.

Plot1( 1, “ATR”, ATR_Color, default, 3 ) ;
Plot2( 1, “ATR MA”, White, default, 2 ) ; 

Enter in the customize tab of the MultiCharts Indicator and change the Style, choose Histogram, and change the Weight.

Modify the MultiCharts Indicator Chart Style with Histogram

Change the Scaling value, use a fixed scaling, and set the min to “0” and the max to “1”.

Modify the MultiCharts Indicator Chart scaling for Histogram

Our MultiCharts indicator with Histogram style:

Histogram Average True Range in PowerLanguage for MultiCharts

Average True Range Tradestation Indicator Download

DOWNLOAD BUTTON

More from Finance Strategy System


Olivier Seban – The Inventor of the SuperTrend Indicator

How To Calculate and Create Average True Range ATR Indicator in Excel

Keltner Channel Indicator – Tutorial 2020

HOW TO USE THE AVERAGE TRUE RANGE

Momentum Indicator Oscillator || 2020 Tutorial

Moving Average: All about Moving Averages || 2020 Tutorial

CME settlement prices || What is and how to calculate

How To Calculate and Create Average True Range ATR Indicator in Excel

Keltner Channel Indicator – Tutorial 2020

ATR CALCULATOR for STOP LOSS INDICATOR

Parabolic SAR Indicator – Technical Analysis Tutorial

Recent Content