Point and Figure (PnF) Moving Averages

This is live and non-repainting Point and Figure Chart Moving Averages tool. The script has it’s own P&F engine and not using integrated function of Trading View.

Point and Figure method is over 150 years old. It consist of columns that represent filtered price movements. Time is not a factor on P&F chart but as you can see with this script P&F chart created on time chart.

P&F chart provide several advantages, some of them are filtering insignificant price movements and noise, focusing on important price movements and making support/resistance levels much easier to identify.

Moving averages on Point & Figure charts are based on the average price of each column while bar chart moving averages are based closing price. Average Price means (ClosePrice + OpenPrice) / 2.

Because of there is double smoothing, you should use shorter lengths for moving averages. Double smoothing means: using average price smooths once, using length greater than 2 smooths price second time.

If you are new to Point & Figure Chart then you better get some information about it before using this tool. There are very good web sites and books. Please PM me if you need help about resources.

Options in the Script

Box size is one of the most important part of Point and Figure Charting. Chart price movement sensitivity is determined by the Point and Figure scale. Large box sizes see little movement across a specific price region, small box sizes see greater price movement on P&F chart. There are four different box scaling with this tool: Traditional, Percentage, Dynamic (ATR), or User-Defined

4 different methods for Box size can be used in this tool.
User Defined: The box size is set by user. A larger box size will result in more filtered price movements and fewer reversals. A smaller box size will result in less filtered price movements and more reversals.

ATR: Box size is dynamically calculated by using ATR, default period is 20.

Percentage: uses box sizes that are a fixed percentage of the stock's price. If percentage is 1 and stock’s price is $100 then box size will be $1

Traditional: uses a predefined table of price ranges to determine what the box size should be.
Price Range Box Size
Under 0.25 0.0625
0.25 to 1.00 0.125
1.00 to 5.00 0.25
5.00 to 20.00 0.50
20.00 to 100 1.0
100 to 200 2.0
200 to 500 4.0
500 to 1000 5.0
1000 to 25000 50.0
25000 and up 500.0

Default value is “ATR”, you may use one of these scaling method that suits your trading strategy.

If ATR or Percentage is chosen then there is rounding algorithm according to mintick value of the security. For example if mintick value is 0.001 and box size (ATR/Percentage) is 0.00124 then box size becomes 0.001.

And also while using dynamic box size (ATR or Percentage), box size changes only when closing price changed.

Reversal : It is the number of boxes required to change from a column of Xs to a column of Os or from a column of Os to a column of Xs. Default value is 3 (most used). For example if you choose reversal = 2 then you get the chart similar to Renko chart.

Source: Closing price or High-Low prices can be chosen as data source for P&F charting.

Options for P&F Moving Averages:

Moving averages on P&F charts are based on the average price of each column. Bar chart moving averages are based on each close price. While 10-day SMA on a bar chart is the average of the last ten closing prices, on a P&F chart, a 10-period SMA is the average price of the last 10 column averages. Average price means “(ClosePrice + OpenPrice) / 2”

2 P&F moving averages are shown on the chart.
It can show Exponental Moving Average ( EMA ) or Simple Moving Average ( SMA )

Source: You can choose Close Price or Average Price as source. Default is Average Price.

“Fast Length” and “Slow Length” are lengths for two moving averages. Default values are 1 and 5.

“Fill between MAs” is the option to fill between Moving averages by predefined colors 'Lime/Blue', 'Lime/Red', 'Green/Red', 'Green/Blue', 'Blue/Red'

There are alerts when Fast MA crossover or crossunder Slow MA. While adding alert “Once Per Bar Close” option should be chosen.

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?