Traders' Tip text
Created by Vitali Apirine, the Average Percentage True Range (
APTR) indicator illustrates the notion that in today's world, it gets increasingly hard to create new indicators. In particular, if one's built around classic 
ATR and is trying to normalize it.  For obvious reasons, the original indicator should not be used for making comparisons across different markets. No surprise that different authors before have recognized the issue in using absolute price values by the 
ATR. For example, May 2006 Traders' Tip focused on 
Normalized Average True Range and August 2010 issue brought 
Normalized Volatility.
As a solution to this problem, for no less than a decade Wealth-Lab has been including a version of a normalized 
ATR indicator called "
ATRP", i.e. ATR percentage. It's simply an 
ATR multiplied by 100 and divided by the close price. We have coded the 
APTR and compared it visually to 
ATRP. As can be seen on the enclosed Figure 1, while the two are not exactly equal they are substantially close in their readings and dynamics. 
Figure 1. For the most part, both indicators' curves were inseparable during 2015. (^RUT daily data, Russell 2000 Index).Usually they reach at about the same date, however, sometimes the red line (Wealth-Lab's ATRP) gets more responsive than the blue line (APTR). On such occasions, ATRP leads APTR for a short period. For example, Figure 2 compares the two indicators during the recent "Black Monday" phase on August 24, 2015:
Figure 2. When volatility rapidly increases, ATRP becomes slightly more reactive than APTR as shown on the Daily chart of CVX (Chevron).After updating the 
TASCIndicators library to v2015.10 or later, the 
APTR indicator can be found under the TASC Magazine Indicators group. You can plot it on a chart or use it as an entry or exit condition in a Rule-based Strategy without having to program a line of code yourself.
As a conclusion, 
APTR is very similar to 
ATRP and can be used to measure volatility across different markets.
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using TASCIndicators;
namespace WealthLab.Strategies
{
	public class MyStrategy : WealthScript
	{
		protected override void Execute()
		{
			APTR aptr = APTR.Series(Bars,14);
			ATRP atrp = ATRP.Series(Bars,14);
			ChartPane aptrPane = CreatePane(30,true,true);
			PlotSeries(aptrPane, aptr, Color.Blue, LineStyle.Solid, 2);
			PlotSeries(aptrPane, atrp, Color.Red, LineStyle.Solid, 2);
		}
	}
}Eugene
Wealth-Lab team
www.wealth-lab.com