Classic Charting Method

Free Point and Figure Chart

A Point and Figure chart records rising prices in X columns and falling prices in O columns. Box size sets each price step; reversal sets the opposite move needed to start a new column. Upload CSV data below, then compare the settings and data limits.

Pattern Detection
Customizable Settings
100% Free

Chart Settings

Min price move per box

Boxes to reverse direction

Auto-detect P&F patterns

Fixed boxes only. Rows are read in file order, using high/low when present and close otherwise. This is a browser reconstruction, not a TradingView data feed. Use oldest-first rows with the same session and price adjustment basis.

No full box move yet. Reduce box size or load a longer price series.

P&F Chart Quick Reference

X

X Column

Rising prices, bullish trend

O

O Column

Falling prices, bearish trend

Double Top

Bullish breakout above prior X high

Double Bottom

Bearish breakdown below prior O low

Read the columns before the pattern labels

A column contains one symbol type. X means the recorded move is upward; O means it is downward. Columns alternate after a qualifying reversal. Horizontal distance counts column changes, so two columns need not cover equal amounts of time.

For a fixed box size B and reversal R, the opposite move needed is B × R. Suppose B = 1 and R = 3. From an X high at 104, 105 adds an X, 102 adds nothing, and 101 starts O boxes at 103, 102 and 101. The reversal is measured from the column extreme, not from the latest close or the first price of the column.

This follows the construction rules described in TradingView's point and figure guide. The selected box size determines which moves remain visible; a filtered chart does not establish the next market direction.

The same prices, three different charts

Reproduce this example with chronological date/close rows of 100, 104, 102, 101 and 105. Assume the grid starts at 100. Close-only data supplies one price per row, so there is no intrabar high/low ordering question in this example.

Fixed box settings applied to the same five prices
Fixed boxReversalColumn endpointsWhy it changes
13 boxes = 3X 104 → O 101 → X 105The drop to 101 reaches the reversal threshold.
23 boxes = 6X 104 onlyThe drop never reaches 98, and 105 does not reach the next X at 106.
14 boxes = 4X 105 onlyThe pullback stops at 101, above the required 100 reversal.

A larger box changes the grid; a larger reversal changes how far price must move against a column. Record both values when comparing results. Selecting the combination that makes one historical pattern look clean is not evidence that it will work on another sample.

Why the source and OHLC sequence matter

Start with an existing X column at 104 and use a 1-unit box with a three-box reversal. For a row with open 103, high 104, low 101 and close 103, close-only processing leaves X at 104. High/low processing starts O at 101. The OHLC row is identical; the selected source changes the result.

Now change that row's high to 106. This tool extends the X column to 106 and gives continuation priority, without also drawing an O column from the same row. OHLC does not tell you whether 106 or 101 came first. A different reconstruction convention can produce different columns from the same candles. Use finer source data to investigate that ambiguity; it still cannot recover missing ticks.

What this CSV tool actually does

  • Reads rows in file order. It requires date and close, accepts high and low, and uses close when an extreme is absent. Open is not used. Sort the file oldest first; rows are not sorted automatically.
  • Uses a fixed grid anchored at zero. The first close is rounded down to a grid level. The first full move establishes direction; if the initial row reaches both directions, upward movement takes priority.
  • Only adds price levels actually reached: highs round down to the grid, lows round up. A low of 101.2 cannot create an O at 101.
  • Rebuilds the chart when you change the CSV or settings. It does not implement ATR, percentage sizing or TradingView's one-step-back option for one-box charts.
  • Limits rendering to 1,000 price levels, 200 columns and 50,000 cells. Increase box size or shorten the data range if the display limit is reached.

The sample is illustrative data. CSV parsing and column calculations run in your browser, and the tool attempts to retain the data and settings in local storage. It does not fetch live prices or send orders.

Match TradingView settings before comparing

In TradingView, select Point & Figure from chart types, then open chart settings. Record the source, box method and reversal alongside the symbol, interval, session and loaded history. Its Traditional method uses a fixed box; ATR derives sizing from volatility. Percentage (LTP) uses the latest closing price and can recalculate earlier chart structure as that price changes. Projected columns can also change before the source interval closes. See TradingView's settings reference.

TradingView documents that P&F bars are built from lower-timeframe prices and approximate tick-based construction. A CSV with daily high/low values cannot be expected to reproduce that feed. Reload comparisons should preserve the starting history, price adjustments and session as well as the visible box settings.

Separate the signal structure from executable prices

A double top label means an X column exceeded the preceding X high; a double bottom means an O column fell below the preceding O low. Here, triple patterns require two equal prior same-direction extrema. These rules describe the columns, without measuring the probability or size of a future move. The detector does not provide a profit target or a complete entry, stop and exit policy.

In Pine Script, ticker.pointfigure() creates an identifier for P&F data requested through request.security(). The returned OHLC values represent synthetic column values, rather than a record of executable trades. There is no dedicated Pine function that renders the native P&F chart. These constraints are described in the Pine Script non-standard data documentation.

  1. Define the source, box method, reversal and exact column comparison before writing a signal.
  2. Observe requested P&F values on a standard candlestick chart. Decide when the signal becomes known; prevent historical requests from using future information.
  3. Test orders on standard price bars with explicit order timing, commission and slippage. Inspect gaps and bars that contain both a stop and target.
  4. Compare forward observations with the rebuilt chart. Keep a signal log so later reconstruction does not erase the evidence of what was available at the time.

TradingView warns about unrealistic non-standard chart backtests. A box threshold crossed during a gap is not a guaranteed fill at that threshold. Even a standard-chart backtest remains a simulation. This page is educational and does not provide investment advice or promise trading returns.

Sources checked October 17, 2026. The numeric comparisons above are calculated examples, not market performance.

Continue with TradingView workflows or compare price-based views in the Kagi chart generator.

Frequently Asked Questions

How does a three-box reversal work?

With a fixed box size of 1 and an X column ending at 104, price must reach 101 to start an O column. A move to 102 leaves the X column in place. The new O boxes are 103, 102 and 101.

Does this generator match TradingView point and figure charts?

Not necessarily. This tool uses fixed, zero-anchored boxes and the rows in your CSV. TradingView also offers ATR and Percentage (LTP) sizing and uses its own data feed and reconstruction. Match source, session, interval, start history and box method before comparing.

Can I use close-only CSV data?

Yes. Supply date and close columns. When high and low are absent, the tool uses close for both. With high and low present, it uses those extremes. This can produce a different column sequence from close-only data.

What happens when one row reaches both extremes?

This tool gives continuation priority: an X column extends using the high and does not also reverse using that row's low. An O column extends using the low first. The row cannot establish the actual order of its high and low.

Can a point and figure backtest prove my trade fills?

No. P&F values describe reconstructed columns. TradingView warns that non-standard chart backtests can use synthetic levels. Evaluate execution on standard price bars, with realistic order timing, costs and slippage; that simulation still does not guarantee live fills.

What does the pattern detector identify?

It compares alternating columns for double top and bottom breaks, and checks two equal prior extrema for triple top and bottom breaks. These labels are structural comparisons, not price targets or measured probabilities. A triple break can also receive a double-break label.

Turn a P&F rule into an observable signal

Use the Pine Script AI Coding Agent to draft and review a script that requests available P&F data. Specify the column rule and observation timing, then check it on a standard price chart. Code generation does not verify fills or place broker orders for you.

Explore the Pine Script AI Coding Agent