Point and Figure (PnF) Moving Averages Histogram

Jan 31, 2020

Static chart image
Signals
Oscillators
Moving Averages

The Point and Figure (PnF) Moving Averages Histogram indicator provides a live, non-repainting momentum oscillator based on Point and Figure charting logic to filter noise and highlight significant trend shifts.

Usage

The Usage section describes how the script can be used to identify trend direction and momentum transitions. Unlike standard histograms based on time-based bars, this tool calculates moving averages from PnF columns, which only advance when specific price movement thresholds (box size and reversal) are met.

  • Trend Identification: When the histogram is above zero, the fast PnF moving average is above the slow moving average, indicating bullish momentum. Conversely, values below zero indicate bearish momentum.
  • Momentum Strength: The color-coded columns indicate whether the distance between the two moving averages is expanding or contracting. Bright green/red columns show strengthening momentum, while darker shades suggest a potential slowdown or mean reversion.
  • Filtering Noise: By adjusting the Box Size and Reversal settings, you can filter out minor price fluctuations that would typically cause "whipsaws" on a standard time-based moving average crossover.

Details

The script features an internal PnF engine that calculates columns independently of TradingView's integrated PnF chart type. This allows the indicator to overlay PnF logic onto standard time charts.

Moving averages on PnF charts are calculated using the average price of each column (Open + Close) / 2. Because PnF columns already act as a primary filter, the resulting moving averages are "double smoothed." Users are encouraged to use shorter lengths (e.g., 1 and 5) compared to traditional time-based indicators to maintain responsiveness.

Settings

PnF Configuration

  • Method: Determines how the box size is calculated (User Defined, ATR, Traditional, or Percentage).
  • ATR Period: Sets the lookback period for the box size when the "ATR" method is selected.
  • Box Size: Sets a fixed price increment for the "User Defined" method.
  • Percentage %: Sets the box size as a percentage of the current price.
  • Reversal: The number of boxes required to switch from a bullish (X) column to a bearish (O) column and vice-versa.
  • Source: Choose between "close" or "hl" (High/Low) to drive the PnF column logic.

Moving Averages

  • MA Type: Select between EMA (Exponential Moving Average) or SMA (Simple Moving Average).
  • MA Source: Choose between "Average Price" of the column or the "Close Price" of the column.
  • Fast MA Length: The period for the leading moving average.
  • Slow MA Length: The period for the lagging moving average.

FAQ

How does the "Traditional" box size work? The traditional method uses a predefined table where the box size automatically adjusts based on the price of the asset (e.g., a 1.0 box size for prices between 20 and 100).

Why does the histogram not update on every bar? The histogram only updates its internal calculation when a new PnF box or column is formed. If the price remains within the current box/reversal range, the PnF values remain static.

How do I access this tool? You can get access on the LuxAlgo Library for charting platforms like TradingView, MetaTrader (MT4/MT5), and NinjaTrader for free.

Free access on the following platforms
tradingviewSymbolTradingView
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

ninjatraderNinjaTrader
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

metatrader4MetaTrader 4/5
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

thinkorswimThinkorswim
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

Trading & investing are risky and many will lose money in connection with trading and investing activities. All content on this site is not intended to, and should not be, construed as financial advice. Decisions to buy, sell, hold or trade in securities, commodities and other investments involve risk and are best made based on the advice of qualified financial professionals. Past performance does not guarantee future results.

Hypothetical or Simulated performance results have certain limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not been executed, the results may have under-or-over compensated for the impact, if any, of certain market factors, including, but not limited to, lack of liquidity. Simulated trading programs in general are designed with the benefit of hindsight, and are based on historical information. No representation is being made that any account will or is likely to achieve profit or losses similar to those shown.

Testimonials appearing on this website may not be representative of other clients or customers and is not a guarantee of future performance or success.

As a provider of technical analysis tools and strategies, we do not have access to the personal trading accounts or brokerage statements of our customers. As a result, we have no reason to believe our customers perform better or worse than traders as a whole based on any content, tool, or platform feature we provide.

Charts used on this site are by TradingView in which the majority of our technical indicators are built on. TradingView® is a registered trademark of TradingView, Inc. www.TradingView.com TradingView® has no affiliation with the owner, developer, or provider of the Services described herein.

Market data is provided by CBOE, CME Group, BarChart, Massive, CoinAPI. Select U.S. equities data is provided through Massive. CBOE BZX real-time U.S. equities data is licensed from CBOE and provided through BarChart. Real-time futures data is licensed from CME Group and provided through BarChart. Select cryptocurrency data, including major coins, is provided through CoinAPI. All data is provided “as is” and should be verified independently for trading purposes.

This does not represent our full Disclaimer. Please read our full disclaimer.

© 2026 LuxAlgo Global, LLC.