Appearance

Personalize your experience

Mode
Accent Color
Direction
HLC Bar

HLC Bar

Bar Charts

A simplified three-tick bar variant showing only High, Low, and Close. By removing the open tick, HLC bars produce a cleaner, less cluttered chart that many intraday and institutional traders prefer for its focus on what matters most — where price ended relative to its range.

Origins & History

The HLC bar emerged as a practical simplification of the traditional OHLC bar, popular among traders who considered the opening price less informative — or even misleading — for their trading approach. Its origins can be traced to the institutional trading desks of the 1970s and 1980s, where the focus on closing prices dominated risk management and position sizing decisions. Institutional traders, managing multi-million dollar portfolios, found that the open price was often influenced by overnight news and early-morning noise that did not reflect the true intraday price discovery process.

The philosophical roots of the HLC bar lie in the efficient market hypothesis and the work of <Em > Eugene Fama</Em >, who argued that closing prices capture all available information about a security. If the close is the single most informative , the reasoning goes, then the open is merely a starting point that reflects the previous ’s close plus any overnight news. Why give it equal weight to the close? This perspective resonated with quantitative traders who built models around close-to-close returns and used data only for volatility estimation.

Intraday traders were early adopters of the HLC format. On fast-moving timeframes (1-minute, 5-minute, 15-minute), the open often reflects a number of initial that may not be representative of the ’s true price discovery. A single large opening print can distort the open , creating misleading signals when that open is compared to the close. By removing the open, HLC bars eliminate this noise source. Day traders, who might see 80-400 bars in a single , found that HLC charts produced fewer false signals and required less mental energy to interpret.

The rise of algorithmic and systematic trading in the 1990s accelerated HLC bar . Quantitative strategies often use only the close price for signal generation, with the high and low used for volatility estimation (via ) and stop placement. The OHLC format’s open was simply unused in many quantitative models, making HLC a more efficient data representation. Trading platforms began offering HLC as a chart type in the early 2000s, and it has since become a standard option in all major charting packages.

Today, the HLC bar is particularly popular among forex traders, who that the 24-hour nature of the forex market makes the daily "open" an arbitrary boundary. A forex trader in Tokyo sees a different daily open than a trader in New York, even though they are looking at the same on the same day. HLC bars sidestep this problem entirely by not representing an open at all. Cryptocurrency traders have similarly adopted HLC bars for the same reason — the 24/7 nature of crypto markets makes any -based open arbitrary.

Theory & Core Principles

The HLC bar rests on a straightforward premise: the closing price is the most analytically significant of any , and the high and low provide essential context about volatility and price rejection. The open, by contrast, is a transitional — it represents the intersection of prior- expectations with current-session reality, but it does not necessarily indicate conviction.

> Close primacy> is the foundational concept of HLC analysis. The close is the last traded price, the price at which the market’s participants finalized their positions for the . It is the price used for settlement, margin calculations, and performance measurement. When the close is emphasized — often with a distinct color or marker — it becomes the focal of the chart, and the trader’s eye is naturally drawn to where price ended. The close represents the market’s final verdict on for the period.

> Range context> provides the second layer of meaning in HLC bars. The bar from high to low shows the full extent of price exploration during the . The position of the close within this range — near the high, near the low, or in the middle — communicates whether buyers or sellers prevailed. A close near the high signals that buying absorbed all available supply; a close near the low signals that determined selling overwhelmed demand. The combination of close position and range provides a comprehensive of period dynamics.

> Simplicity as a feature> is the third principle. With only three elements per bar (one , two ticks), HLC charts are cleaner and less visually fatiguing than OHLC charts. This reduction in visual allows the eye to process larger datasets more quickly. For scanners, multi-chart layouts, and traders who work with multiple timeframes simultaneously, the HLC format’s is a meaningful advantage. A 6-monitor trading station displaying 24 charts simultaneously benefits significantly from the reduced visual density of HLC bars.

The Mathematics

The HLC bar is derived from the same stream as an OHLC bar, with the open data simply discarded. The mathematical framework is a strict subset of OHLC mathematics, with all that depend on the open being unavailable.

> High (H) = max(P <sub > t₁</sub >, P <sub > t₂</sub >, ..., P <sub > tₙ</sub >) — the maximum traded price within the interval. The high represents the peak of intra- buying pressure and serves as a resistance level for subsequent bars.

> Low (L) = min(P <sub > t₁</sub >, P <sub > t₂</sub >, ..., P <sub > tₙ</sub >) — the minimum traded price within the interval. The low represents the peak of intra- selling pressure and serves as a support level for subsequent bars.

> Close (C) = P <sub > tₙ</sub > — the last traded price within the interval. The close is the most analytically significant single and forms the for most trading decisions.

From these three values, key derived include:

> Bar Range (R) = H − L. Total price volatility for the . Used for calculation and position sizing. R is the most robust single-period volatility estimator.

> Close Position Ratio (CPR) = (C − L) / (H − L). The relative position of the close within the range, expressed as a from 0 to 1. Values above 0.7 indicate strong bullish pressure (close near high). Values below 0.3 indicate strong bearish pressure (close near low). Values between 0.4 and 0.6 indicate indecision. The CPR is the single most derived metric for HLC analysis. When H = L (no range), CPR is undefined and the bar represents zero volatility.

> Range (RE) = H − C for bearish bias or C − L for bullish bias. The distance from the close to the nearest extreme. A RE on one side indicates that the close is near the extreme, confirming conviction. A large RE on both (close in the middle of a wide range) indicates a volatile but indecisive .

> (TR) = max(H − L, |H − C <sub > prev</sub >|, |L − C <sub > prev</sub >|). Same calculation as OHLC — the close replaces the open for gap calculation. TR is always ≥ R, with the difference representing the gap component.

> () = SMA(TR, n). The n- simple moving average of . A 14-period ATR is the industry standard for volatility measurement. ATR is used to set position sizes and stop-loss distances.

> Normalized Range (NR) = R / C × 100. The range expressed as a of the closing price. This allows comparison of volatility across different instruments and price levels.

> Swing Point Strength (SPS) = |C − C <sub > n</sub >| / R, where C <sub>n</sub> is the close n bars ago. This measures how much the current close has moved relative to the range, providing a normalized momentum metric.

> Close Slope (CTS) = (C − C <sub > n</sub >) / n. The average change in close price per bar over n periods. Used to quantify trend . A CTS above 0.5× indicates a strong trend.

> Volume-Weighted Close (VWC) = Σ(P <sub > i</sub > × V <sub > i</sub >) / Σ(V <sub > i</sub >) for all ticks in the interval. When available, the VWC provides a more robust price estimate than the raw close, as it accounts for the volume at each price level.

Anatomy

HighCloseLowNo open tickBullish close(close > mid-range)(close < mid-range)Bearish close
HLC bar anatomy — three ticks only: High (left), Low (left), and Close (right, often highlighted).
Vertical bar
Spans from the High to the period Low. Represents the full explored during the interval. Thicker than by default since there is no open to compete for bandwidth.
High tick (left)
A dash at the top of the vertical bar, projecting left. Marks the traded price of the . Serves as the upper boundary of price exploration and a resistance level.
Low tick (left)
A dash at the bottom of the vertical bar, projecting left. Marks the traded price of the . Serves as the lower boundary of price exploration and a support level.
Close tick (right)
A dash projecting , often colored or thickened for . Marks the last traded price of the . This is the most analytically significant element of the HLC bar.
Close marker (optional)
Many HLC implementations add a circle or dot at the close to further emphasize its position. This cue helps the eye track close-to-close relationships across bars.
Bullish close
When the close is in the upper portion of the range (CPR &gt; 0.7), the bar is considered bullish regardless of where the started. The market ended near its best level.
Bearish close
When the close is in the lower portion of the range (CPR &lt; 0.3), the bar is considered bearish — the market ended near its worst level.
BullishBearishAccentNeutralSecondaryText/Muted

Construction Pipeline

The HLC bar construction pipeline follows the same aggregation logic as , with one critical difference: the open is not stored or rendered. This reduces memory usage and simplifies the rendering pipeline.

> Stage 1 — Collection:> The engine collects all trade prices within the time interval. For charts, the interval is defined by calendar boundaries (1m, 5m, 1h, 1d, etc.). For -based intervals, the bar forms after a number of trades. The engine maintains a running high and low as ticks arrive, updating in real time. The close is always the most recent tick.

> Stage 2 — HLC Extraction:> At the interval boundary, the engine extracts: High = max price, Low = min tick price, Close = last tick price. The open is simply not recorded. This means the HLC construction process is slightly faster and uses marginally less memory than OHLC — a negligible difference per bar but meaningful when processing millions of bars in a engine.

> Stage 3 — Rendering:> The draws the bar from High to Low. The High and Low ticks are placed on the left side of the bar. The Close is placed on the side, often with a different color (brighter or contrasting) to draw attention. The Quatick engine supports an optional "close " that connects consecutive close ticks with a , creating a hybrid bar- that combines the volatility context of bars with the trend clarity of lines.

Visual Configuration

Bar color
The color of the bar and left ticks. Can be a single color (e.g., blue or gray) or dynamically colored based on the close position (green for close in upper range, red for lower range).
Close tick color
The color of the . Often brighter than the bar color to emphasize the close. Can be green for bullish closes, red for bearish. Some traders use a single accent color for all closes.
Close marker
Toggle a circular dot at the close for enhanced . Dot size is configurable (2-6px). The close marker makes close-to-close relationships more visible across the chart.
Bar width
of the vertical bar. Configurable from 1 to 15px. HLC bars can be slightly wider than since there is no open to provide horizontal balance.
Tick length
Length of the left (H, L) and (C) marks. The close tick can be configured independently to be longer or shorter than the H/L ticks.
Close trail
Toggle a line connecting consecutive close ticks. When enabled, creates a hybrid HLC-. The close helps identify trends and can be individually styled.
Range highlight
Fill the region between the high and low with a translucent color. Useful for emphasizing volatility — wider bars have more visible fill. is typically 10-20%.
Gap display
How to handle gaps between bars. : show empty space (traditional), draw a dashed connector line between closes, or fill the gap with a gradient.
Color sensitivity
Set the CPR threshold for bullish/bearish coloring. Default is 0.7/0.3. : 0.6/0.4. Conservative: 0.8/0.2.
Up/down volume coloring
Alternative coloring based on whether the VWAP is above or below the prior period. Requires volume .
Close trail width
The thickness of the close line. Default is 1px. Can be increased to 2-3px for enhanced on overlay charts.
Close trail style
The line style of the close : solid, dashed, or dotted. Dashed is useful for distinguishing the trail from other chart elements.
★
Pro tip:Enable the "close " feature when analyzing trends with HLC bars. The line connecting close ticks creates an implicit overlay that makes trend direction immediately apparent while preserving the volatility context of each bar’s range.

Interpretation Guide

HLC bar reading focuses primarily on where the close falls within the range and how consecutive close ticks relate to each other. The open is absent, so the analysis centers on end-of- outcomes rather than intra-period dynamics.

HLC Bar Uptrend — Higher Highs, Higher ClosesTrend
HLC bar sequence in an uptrend — higher highs and higher closes confirm bullish momentum.
HLC Bar Downtrend — Lower Highs, Lower ClosesTrend
HLC bar sequence in a downtrend — lower highs and lower closes confirm bearish momentum.

> Pattern 1 — Close Near High (Bullish):> When the close is in the upper third of the range (CPR > 0.7), it indicates that the ended with buyers firmly in control. The higher the CPR, the stronger the buying conviction. A series of bars with CPR above 0.7 and rising highs defines a strong, healthy uptrend. If the CPR is above 0.9 (close in the top 10% of range), the buying pressure is extreme and may indicate a climax zone — watch for a reversal in the next 1-2 bars. The high of such a bar becomes a key resistance level.

> Pattern 2 — Close Near Low (Bearish):> When the close is in the lower third (CPR < 0.3), the ended with sellers dominating. CPR values below 0.1 indicate extreme selling pressure — the market closed at or very near its . In a downtrend, consecutive bars with CPR below 0.3 persistent selling. A sudden shift from CPR below 0.3 to above 0.7 on the next bar is a powerful reversal signal — the market completely reversed intra-period behavior.

Close Position AnalysisClose in upper ⅓↗closeStrong bullish — buying pressureClose in lower ⅓close↘Strong bearish — selling pressureClose in middle ⅓Indecision / balance
Close position analysis — the three zones: upper third (bullish), middle third (neutral), lower third (bearish).

> Pattern 3 — Close in Middle (Indecision):> When the close is in the middle 40% of the range (CPR 0.3-0.7), it indicates a balanced where neither buyers nor sellers achieved dominance. In a trend, mid-range closes suggest the trend is pausing or losing momentum. After a sharp move, a mid-range close on a narrow range bar suggests consolidation. After a sharp move, a mid-range close on a wide range bar suggests a potential reversal — the market went far in both directions but ended up nowhere decisive.

> Pattern 4 — CPR Reversal (Close Position Flip):> When a series of bars with CPR above 0.7 (bullish) is followed by a bar with CPR below 0.3 (bearish) without an intermediate bar, it signals a sudden and violent shift in market control. This pattern is more reliable than a single-bar reversal because it represents a complete flip in the balance of power. The wider the range of the reversal bar, the more significant the shift.

> Pattern 5 — Range with Close Follow-Through:> When a bar has a wider range than the previous bar AND the close is on the same side as the prior trend, it confirms trend . The market is becoming more volatile in the direction of the prevailing trend. When the range expands but the close is on the opposite side, it signals a potential trend reversal.

> Pattern 6 — Contraction with Close :> When bars show both narrowing ranges (R decreasing) AND CPR values clustering around 0.5 (close in the middle), the market is in a state of extreme indecision. This "volatility and " pattern often precedes the most explosive breakouts. The breakout direction is impossible to predict from the HLC chart alone — use additional context or a directional indicator.

> Pattern 7 — Close Break:> When the close (line connecting consecutive close ticks) makes a sharp turn — from rising to falling or vice versa — it signals a potential trend change. A close trail break is confirmed when the next bar’s close also remains on the new side of the break. This is the HLC equivalent of a break on a .

> Pattern 8 — CPR Divergence:> the sequence of close levels with the sequence of CPR values. If closes are making higher highs but CPR values are declining (each close is relatively lower in its range), this is "range divergence" — the price is making new highs but with less conviction. This often precedes reversals by 2-5 bars.

HLC Bar Swing Point DetectionSwing HighSwing LowSwing highs = peaks with 2+ bars lower on each sideSwing lows = troughs with 2+ bars higher on each sideHLC bars make swing detection cleaner (no open noise)
HLC swing point detection — highs and lows with 2-3 bars on each side.

Trading Strategies

> 1 — CPR Breakout:> the average CPR over the last 10 bars. When the current bar’s CPR exceeds 0.8 AND the bar range is above the 20- threshold (R > 0.75× ATR(20)), enter long on a stop at the bar’s high. For short entries, use CPR below 0.2 with range above ATR threshold, entering on a stop at the bar’s low. The combination of extreme close position and above-average volatility creates a high-conviction setup. Use a 1.5× ATR and take profit at 3× ATR.

> 2 — CPR Divergence:> the sequence of close ticks with the sequence of CPR values. If closes are making higher highs but CPR values are declining (each close is relatively lower in its range), this is "range divergence" — the price is making new highs but with less conviction. Enter short when CPR divergence is confirmed (declining CPR over 3+ bars while prices rise) AND a bar closes with CPR below 0.5. This identifies trend weakening before price actually reverses.

> 3 — HLC + Volume Climax:> Combine HLC bars with volume analysis. When a bar has a range in the top 10% of the 50-bar history, CPR below 0.2 or above 0.8, and volume in the top 20% of the 50-bar history, it is a "volume climax" bar. For a volume climax bar with CPR above 0.8 (bearish climax in an uptrend) or CPR below 0.2 (bullish climax in a downtrend), enter a reversal position. Volume climax bars represent the final capitulation of the prevailing trend.

> 4 — Close Trend Following:> Enable the close on a 1-hour HLC chart. When the close trail makes a new 20-bar high and the current bar’s CPR is above 0.6, enter long. Trail the stop at the most recent swing low (identified by the close trail structure). Exit when the close trail breaks below the previous 5- low. This combines the trend-following clarity of a with the volatility context of bars.

> 5 — CPR Cluster Break:> Identify clusters of 5+ consecutive bars where CPR stays consistently in one zone (above 0.6 or below 0.4). When the first bar breaks out of the cluster by crossing the opposite CPR threshold, enter in the new direction. Cluster breaks are more reliable than single-bar signals because they represent a structural shift in market behavior.

> 6 — :> bands at 1.5× and 2.5× above and below a 20- SMA of closes. When a bar’s high touches or exceeds the 2.5× upper AND CPR is below 0.3 (close near low of an range), enter short. When a bar’s low touches the lower band AND CPR is above 0.7, enter long. This captures mean reversion from volatility extremes.

Strengths & Advantages

  • Cleaner : With one fewer per bar, HLC charts are noticeably cleaner and less visually cluttered than OHLC charts. This reduction in noise reduces eye fatigue during analysis sessions.
  • Eliminates open- noise: In fast markets, the opening price can be an outlier. By removing the open, HLC bars eliminate this source of noise. This is particularly valuable on short timeframes (1-15 minutes).
  • Better for algorithmic analysis: Quantitative systems typically use only the close for signal generation and the high/low for volatility estimation. HLC maps directly to this analytical framework.
  • Superior for multi-chart layouts: The reduced of HLC bars makes them ideal for multi-chart layouts where 6-12 charts are displayed simultaneously. At sizes, HLC bars remain readable longer than .
  • - consistency: In 24-hour markets (forex, crypto), the HLC bar avoids the problem of arbitrary boundaries. A daily HLC bar is the same regardless of the observer’s .
  • Focuses attention on the close: By removing the open and emphasizing the close, HLC bars train the trader’s eye to focus on the single most — where price ended, not where it started.

Limitations & Caveats

  • No open-close gap analysis: The absence of the open means that traders cannot distinguish between a gap-up open that faded and a steady rise from the previous close. This is a meaningful loss of information for gap-based strategies.
  • No body-to-range ratio: allow calculation of the body-to-range ratio (|C-O| / R), which measures conviction. HLC bars cannot this ratio.
  • Perceived incompleteness: Some traders find HLC charts psychologically incomplete. The missing open creates a asymmetry that can feel unbalanced.
  • Reduced historical pattern : The vast majority of technical analysis literature was written using OHLC bar patterns. HLC chartists must adapt these patterns, which requires extra interpretation.
  • Cannot detect opening gaps: Since there is no open , gaps between the prior close and the current open are invisible. This is a significant limitation for traders who trade gap patterns.

Comparison With Related Types

HLC vs OHLC vs Candle — One Less TickOHLC4 ticksHLC3 ticksCandleBody + wickHLC removes open tick — one less variable to interpretBenefits: cleaner chart, faster interpretationTrade-off: no open/close gap analysis
HLC vs OHLC vs Candlestick — the same data represented with 3 ticks, 4 ticks, and body-wick format.
HLC vs OHLC Bar
HLC removes one of four . This reduces noise and clutter but loses the open-close relationship. HLC is preferable when the open is not analytically meaningful. OHLC is preferable when gap analysis matters.
HLC vs Candlestick
Candlesticks use four and emphasize the body. HLC uses three points and emphasizes the close position. Candlesticks are better for pattern recognition; HLC bars are better for volatility-normalized analysis.
HLC vs High-Low
removes both open and close. HLC preserves the close, which is the most single . HLC is more versatile for most analytical purposes.
HLC vs Columns
reduce each bar to a single scalar. HLC preserves three . HLC is better for detailed price action analysis; columns are better for momentum scanning.
HLC vs Heikin-Ashi
modifies price to create smoothed bars. HLC represents actual traded prices. HLC bars never produce false signals from the smoothing process.
HLC vs Line Chart
A only shows closes. HLC adds the range, providing volatility context. HLC is strictly more informative than a line chart for the same space.

Multi-Timeframe Analysis

HLC bars are particularly well-suited to analysis because the close is visually consistent across all timeframes. The trader’s eye learns to track close positions, and this skill transfers directly from the 1-minute to the weekly chart.

> Weekly/Daily — Macro Structure:> On higher timeframes, the CPR on weekly HLC bars reveals the macro-level balance between buyers and sellers. A weekly close in the upper 20% of its range confirms a strong structural uptrend. The weekly high and low ticks provide unambiguous reference for construction.

> 4-Hour/Hourly — Trend Alignment:> Use 4-hour HLC bars to align your trading bias with the daily trend. If the daily HLC bar shows CPR above 0.7, look for 4-hour bars with CPR above 0.5 for long entries. Enter when a 4-hour bar’s close breaks above a prior swing high from the daily chart.

> 15-Minute/5-Minute — Execution:> On the shortest timeframe, use HLC bars for precise entry and exit timing. The CPR on 5-minute bars provides a quick assessment of intra- momentum. Enter long when the 5-minute close breaks above the previous 5-minute high AND the CPR is above 0.6.

Advanced Techniques

> 1. CPR- Position Sizing:> Use the combination of CPR and to dynamically size positions. : Position Size = (Account Risk × CPR_Signal) / ATR, where CPR_Signal = |CPR − 0.5| × 2 (ranging from 0 to 1). A bar with CPR 0.9 produces a CPR_Signal of 0.8, automatically increasing position size for high-conviction signals.

> 2. Close Momentum (CTM):> the slope of the close over the last N bars using . CTM = slope(Closeₜ, ..., Close <sub > t-N+1</sub >). Normalize CTM by dividing by the average over the same . When CTM exceeds 1.5, the trend is accelerating. When CTM falls below 0.5, the trend is decelerating.

> 3. HLC with Volume :> Combine HLC range analysis with on-balance volume (OBV). the HLC range ratio: RR = Current Range / SMA(Range, 20). When RR exceeds 2.0 AND OBV is making a new 20-bar high or low in the same direction, enter in the direction of the OBV move.

> 4. Multi-Bar CPR Clustering:> Identify clusters of bars where CPR stays consistently in one zone. A "bullish cluster" is 5+ consecutive bars with CPR above 0.6. When a cluster breaks — the first bar with CPR crossing the opposite threshold — enter in the direction of the break. Cluster breaks are more reliable than single-bar signals.

Common Mistakes

!
Caution:> Assuming a close near the high is always bullish.> A close near the high can also occur when the market opens near the low and rallies — but if the rally is on declining volume and the bar range is , it may be a liquidity grab rather than genuine buying pressure.
!
Caution:> Ignoring context around the open (since it is not displayed).> The fact that HLC bars do not display the open does not mean the open is irrelevant. gaps, news events, and boundaries all affect the relationship between the prior close and the current bar’s behavior.
!
Caution:> Using HLC bars on very short timeframes without volume context.> On 1-minute and charts, the range can be dominated by bid-ask spread noise rather than genuine price discovery. Always use HLC bars with a volume indicator on very short timeframes.
!
Caution:> Over-relying on a single CPR threshold.> A CPR threshold of 0.7/0.3 may work well in trending markets but performs poorly in ranging markets. Adapt your CPR thresholds to market conditions using a lookback.

Detailed HLC Bar Pattern Reference

The following catalogues every major HLC bar pattern, its defining characteristics, CPR thresholds, and recommended trading response. Use this as a quick-reference guide when scanning HLC charts.

Bullish Close (CPR &gt; 0.7)
Close in upper 30% of range. Strong buying pressure. Action: enter long, stop below bar low or at CPR &lt; 0.5 on next bar.
Bearish Close (CPR &lt; 0.3)
Close in lower 30% of range. Strong selling pressure. Action: enter short, stop above bar high or at CPR &gt; 0.5 on next bar.
Extreme Bullish (CPR &gt; 0.9)
Close in top 10% of range. Climax buying. Action: hold longs but tighten stops. Prepare for potential exhaustion.
Extreme Bearish (CPR &lt; 0.1)
Close in bottom 10% of range. Climax selling. Action: hold shorts but tighten stops. Prepare for potential exhaustion.
Neutral Close (CPR 0.3-0.7)
Mid-range close. Indecision. Action: reduce position size, wait for clarification.
Expanding Range Bullish
R &gt; prev R, CPR &gt; 0.6. Trend . Action: add to longs, trail stop at bar midpoint.
Expanding Range Bearish
R &gt; prev R, CPR &lt; 0.4. Trend . Action: add to shorts, trail stop at bar midpoint.
Contraction Range Bullish
R &lt; prev R, CPR &gt; 0.6. Trend slowing but close still bullish. Action: tighten stops, prepare for potential reversal or resumption.
Contraction Range Bearish
R &lt; prev R, CPR &lt; 0.4. Trend slowing. Action: tighten stops, prepare for potential reversal or resumption.
CPR Flip (Bullish to Bearish)
Previous CPR &gt; 0.7, current CPR &lt; 0.3. Complete reversal. Action: enter short, stop above previous bar high.
CPR Flip (Bearish to Bullish)
Previous CPR &lt; 0.3, current CPR &gt; 0.7. Complete reversal. Action: enter long, stop below previous bar low.
CPR Divergence (Bullish)
Higher highs in close, declining CPR. Weakening bullish conviction. Action: reduce longs, prepare short entry.
CPR Divergence (Bearish)
Lower lows in close, rising CPR. Weakening bearish conviction. Action: reduce shorts, prepare long entry.
Cluster Bullish (5+ CPR &gt; 0.6)
Sustained bullish behavior. Action: add on breakouts above cluster highs.
Cluster Bearish (5+ CPR &lt; 0.4)
Sustained bearish behavior. Action: add on breakdowns below cluster lows.
Cluster Break Bullish
Bearish cluster broken by CPR &gt; 0.6 bar. Action: enter long, stop below cluster low.
Cluster Break Bearish
Bullish cluster broken by CPR &lt; 0.4 bar. Action: enter short, stop above cluster high.
Wide Range Bar (WR)
R &gt; 1.5× (20). Volatility expansion. Action: direction with CPR, enter with wide ATR-based stop.
Narrow Range Bar
R &lt; 0.5× (20). Volatility contraction. Action: prepare for expansion, set breakout orders at high/low.
NR7 Bar
Smallest range of last 7 bars. Significant . Action: high-probability expansion pending.
CPR Climax + WR
CPR &gt; 0.9 or &lt; 0.1 with R &gt; 2× (20). Exhaustion zone. Action: reduce position, prepare reversal.
Close Trail New High
Close makes new 20-bar high. Action: uptrend, enter long on with CPR &gt; 0.5.
Close Trail New Low
Close makes new 20-bar low. Action: downtrend, enter short on with CPR &lt; 0.5.
Close Trail Break (Up)
Close crosses above prior swing high. Action: enter long, stop at prior swing low.
Close Trail Break (Down)
Close crosses below prior swing low. Action: enter short, stop at prior swing high.
Consecutive Bullish Closes (3+)
Three or more bars with CPR &gt; 0.6. Strong trend . Action: trend trade aggressively, stops at most recent bar low.
Consecutive Bearish Closes (3+)
Three or more bars with CPR &lt; 0.4. Strong trend . Action: trend trade aggressively, stops at most recent bar high.
Volume-Climax Bar
V &gt; 2× SMA(V,20) + extreme CPR + WR. Action: enter counter-trend reversal on next bar.
Gap Fill with CPR Extreme
Bar prior gap and has CPR &gt; 0.8 or &lt; 0.2. Action: gap support/resistance established, trade in CPR direction.

HLC Indicator Compatibility Matrix

The following documents how common technical indicators use HLC bar components. that any indicator requiring the opening price (such as the body-to-range ratio) cannot be calculated from HLC alone.

Simple Moving Average (SMA)
Uses C by default. Identical to OHLC SMA(C). HLC does not affect calculations.
Exponential Moving Average (EMA)
Uses C by default. Same as (C) on OHLC . Responsiveness unchanged.
Bollinger Bands
Uses C for midline. Uses H-L for bandwidth estimation. Bandwidth may be wider than on OHLC since H is the same but range calculation is H-L (same as OHLC).
Keltner Channels
Uses C or HL2 for midline. Uses (HL) for channel , which is identical to OHLC ATR since TR calculation uses H, L, and C_prev.
Average True Range (ATR)
Uses H, L, and prior C. TR = max(H-L, |H-C_prev|, |L-C_prev|). Identical to OHLC . The open price is not used in TR calculation.
Relative Strength Index (RSI)
Uses C only. Identical to on OHLC . The recommended HLC RSI settings: RSI(14) for standard, RSI(8) for fast, RSI(21) for slow.
MACD
Uses C only. MACD = (C,12) - EMA(C,26). Identical to OHLC MACD. HLC does not affect MACD calculations.
Stochastic Oscillator
Uses H, L, and C. %K = (C - L_n) / (H_n - L_n) × 100. Identical to OHLC Stochastic. HLC Stochastics use the same formula since the open is not required.
Commodity Channel Index (CCI)
Uses M = (H+L+C)/3 for typical price. CCI = (M - SMA(M,n)) / (0.015 × MeanDeviation). Identical to OHLC CCI.
Williams %R
Uses H, L, C. %R = (H_n - C) / (H_n - L_n) × -100. Identical to OHLC Williams %R. No open required.
On-Balance Volume (OBV)
Uses C for direction comparison. OBV = volume when C > C_prev, subtracted when C < C_prev. Identical to OHLC OBV.
Money Flow Index (MFI)
Uses M and volume. MFI uses the typical price M = (H+L+C)/3. Identical to OHLC MFI since the open is not needed.
Ichimoku Cloud
Uses H, L, C. Tenkan = (H_n + L_n)/2, Kijun = (H_m + L_m)/2, Senkou = (Tenkan + Kijun)/2. HLC Ichimoku is identical to OHLC Ichimoku.
Parabolic SAR
Uses H and L. SAR = prior SAR + AF × (EP - prior SAR). Identical to OHLC Parabolic SAR. The open is not used.
ADX (Directional Movement)
Uses H, L, C. +DI and -DI based on . Identical to OHLC ADX. The open is not required for DM calculation.
Volume Profile
Uses -level only. HLC vs OHLC is irrelevant for since it uses raw tick data, not aggregated bars.
Linear Regression Slope
Uses C only. Identical to using close prices from OHLC . No open required for regression analysis.
Chandelier Exit
Uses H and L via . Exit = max(C, H of last n bars) - ATR × 3. HLC provides identical Chandelier Exit values.
Aroon Indicator
Uses H and L only. Aroon Up = (n - bars since n- high) / n × 100. Aroon uses H and L only, no open or close needed.

Timeframe-Specific HLC Configuration

HLC bar behavior varies significantly across timeframes. The following provides optimized configuration settings for each major timeframe, taking into account differences in density, noise levels, and typical price behavior.

1-Minute Chart
CPR threshold: 0.75/0.25 (wider due to noise). Bar : 2-3px. Close : enabled, 1px. High noise — use CPR &gt; 0.8 for signals. Volume confirmation essential. Avoid pattern-based trading without volume.
5-Minute Chart
CPR threshold: 0.7/0.3 (standard). Bar : 3-4px. Close : enabled, 1.5px. Most popular intraday timeframe for HLC. NR7 patterns work well. (14) provides stable reference for position sizing.
15-Minute Chart
CPR threshold: 0.7/0.3. Bar : 4-5px. Close : optional. CPR divergence patterns are most reliable on this timeframe. Good balance of signal frequency and accuracy.
1-Hour Chart
CPR threshold: 0.65/0.35. Bar : 5-6px. Close : optional, 2px. Popular for swing trading. CPR cluster patterns have strong predictive . Best timeframe for HLC-only analysis.
4-Hour Chart
CPR threshold: 0.65/0.35. Bar : 6-8px. Close : recommended, 2px. Institutional timeframe. CPR flip patterns are highly reliable. Use with longer (20+) for stop placement.
Daily Chart
CPR threshold: 0.6/0.4 (wider due to lower ). Bar : 7-10px. Close : recommended, 2.5px. Primary analysis timeframe. All patterns work well. Close trail defines primary trend direction.
Weekly Chart
CPR threshold: 0.6/0.4. Bar : 10-15px. Close : always enabled, 3px. Long-term structure. Only CPR extremes and major trend breaks are significant. Range-based analysis works best.
Tick Chart (1000 ticks)
CPR threshold: 0.75/0.25. Bar : 2-3px. Close : enabled. has different properties. CPR &gt; 0.85 required for high-conviction signals.

Instrument-Specific HLC Considerations

Different classes exhibit distinct HLC bar characteristics that affect CPR interpretation and performance. Understanding these differences is critical for effective HLC analysis across markets.

Equities (Large Cap)
CPR : high. Best for CPR trend following. Typical CPR in trends: 0.7-0.85. CPR extreme frequency: moderate. Gap impact: open gaps invisible — be aware of overnight moves.
Equities (Small Cap)
CPR : moderate. Higher noise levels require wider CPR thresholds (0.75/0.25). CPR extreme frequency: high. Best for CPR momentum strategies with volume confirmation.
Index ETFs (SPY, QQQ)
CPR : very high. Most statistically reliable class for HLC. CPR thresholds: 0.65/0.35. Excellent for CPR divergence analysis. Close trends are very clean.
Forex Major Pairs (EUR/USD)
CPR : high. CPR is particularly valuable in forex since no open exists. CPR thresholds: 0.7/0.3. 24-hour market means HLC bars are -independent. Most for HLC analysis.
Forex Cross Pairs
CPR : moderate. Wider spreads increase noise. CPR thresholds: 0.75/0.25. Best for longer timeframe HLC analysis (4H+). Avoid charts with HLC for crosses.
Cryptocurrencies (BTC, ETH)
CPR : moderate. 24/7 market, high volatility. CPR thresholds: 0.75/0.25. CPR extremes very frequent (0.9+). Best for CPR flip strategies in high-volatility regimes.
Commodity Futures
CPR : high. -based with gaps. CPR thresholds: 0.7/0.3. Gap impact: significant (overnight gaps invisible). Use with caution at session boundaries.
Interest Rate Products
CPR : high. Lower volatility, stronger trends. CPR thresholds: 0.6/0.4. CPR values cluster in narrower ranges. Close trends are very persistent.
Treasury Bonds
CPR : high. Slow trending behavior. CPR thresholds: 0.6/0.4. Best for CPR cluster analysis and long-term trend following with close .

Statistical Properties & Performance Data

The following is derived from multi-year of CPR-based strategies across major indices and forex pairs. vary by market regime, but these benchmarks provide reasonable expectations for HLC bar pattern performance.

CPR &gt; 0.7 Next Bar Continuation
55-65% probability of next also above CPR 0.5. 50-60% probability of higher high. Trend is strong but not guaranteed.
CPR &gt; 0.9 (Extreme) Reversal
50-55% probability of next bar CPR &lt; 0.5 (reversal). 45-50% continuation. Near random — the extreme zone is balanced between exhaustion and momentum.
CPR &lt; 0.3 Next Bar Continuation
55-65% probability of next also below CPR 0.5. 50-60% probability of lower low. Similar to bullish side.
CPR Flip (Bullish to Bearish) Win Rate
55-65% . Higher when flip bar has R &gt; 1.2× prev R. Average R:R = 2.0:1. Best on 1H-4H timeframes.
CPR Divergence (3-bar) Reversal Win Rate
55-60% . Improves to 65-70% when divergence occurs at S/R level. Average R:R = 2.5:1.
NR7 Expansion Win Rate (HLC)
50-60% . Slightly lower than OHLC NR7 due to missing open information. Average R:R = 1.8:1.
Close Trail Breakout Win Rate
55-60% . Improves to 65-70% with volume confirmation. Average R:R = 2.2:1.
Consecutive Bullish Closes (3+)
65-70% probability of continuation on next bar. Strongest single HLC trend metric. Higher than OHLC due to pure close focus.
Consecutive Bearish Closes (3+)
65-70% probability of continuation. Equally reliable as bullish side. HLC trends are in .
Volume-Climax Reversal Win Rate
60-70% . One of the probability HLC patterns. Requires V &gt; 2× SMA(V,20) + CPR &gt; 0.8 or &lt; 0.2. Average R:R = 2.5:1.
CPR Cluster (5+) Break Win Rate
60-68% . Very reliable pattern. Best on 4H-daily timeframes. Average R:R = 2.8:1. Low frequency but high quality.
HLC Swing Breakout Win Rate
55-62% using close swings. Average R:R = 2.0:1. Better than OHLC swing breakouts due to cleaner close trail.

Psychological & Behavioral Aspects of HLC Trading

HLC bar analysis requires a different mindset than OHLC or analysis. The absence of the open changes how traders perceive and react to price action. Understanding these psychological dynamics can improve -making and reduce common behavioral biases.

> Close anchoring:> HLC charts naturally focus attention on the close . This is both a strength and a potential pitfall. The close becomes an anchor point — traders all subsequent closes to the most recent one, creating a mental reference that can lead to anchoring bias. If the last close was at 150.00, a close at 150.50 looks bullish. But if the close was at 148.00, 150.50 looks even more bullish. Always evaluate closes in the context of a moving reference (e.g., 20-bar SMA of closes), not a single anchor close.

> CPR as a confidence tool:> The CPR provides a quantitative of conviction that can counteract confirmation bias. When a trader wants to be bullish, they will naturally focus on bars where CPR > 0.7. But a systematic CPR scan that shows declining CPR values despite rising prices objectively identifies weakening conviction. Using CPR as a mechanical check on subjective analysis is one of the most powerful applications of HLC analysis.

> The missing open and FOMO:> Without the open , traders cannot see how much a bar has moved from its start. A bar that opens at the low and rallies to the high looks identical to a bar that opens at the previous close and rallies slightly. This can FOMO — the first bar looks like a massive rally even though it is just a normal move. Remember that HLC bars compress all intra- price action into three . The range (H-L) is the only measure of total movement; do not infer direction or distance from the close position alone.

> Pattern-seeking with limited :> With only three per bar, the brain has less information to construct patterns. This reduces pattern-seeking bias relative to OHLC and charts. However, it also means that the patterns we do see (CPR clusters, CPR flips) should be taken more seriously because they emerge from less data and are therefore more statistically significant.

Technology & Rendering Details

Quatick Charts renders HLC bars using a specialized pipeline optimized for the three- format. The rendering approach prioritizes close smoothness and close tick .

> Rendering pipeline:> HLC bars are drawn in three passes. Pass 1: from H to L (thin, color). Pass 2: left ticks at H and L positions. Pass 3: at C position (thicker, highlighted color). The close tick is drawn last so it sits on top of all other elements. If the close is enabled, a fourth pass draws the connecting consecutive close ticks before the current bar is rendered, ensuring the trail appears behind the most recent close.

> Close rendering:> The close is rendered as a continuous using the path2D API for performance. Trails spanning fewer than 500 bars use Canvas2D bezier curves for smoothness. Trails spanning more than 500 bars use linear segments with line disabled to maintain frame rate. The trail color is independently configurable and to the accent color (#2962FF) with 60% .

> CPR-based color interpolation:> The engine supports continuous color blending based on CPR rather than binary bullish/bearish coloring. At CPR = 0.0, the bar is fully bearish red (#f87171). At CPR = 0.5, it is gray (#9598a1). At CPR = 1.0, it is fully bullish green (#34d399). Intermediate CPR values produce interpolated colors. This is called "CPR gradient coloring" and provides a continuous representation of conviction without threshold artifacts.

> Memory :> Each HLC bar stores 3 float64 values (H, L, C) plus one int64 timestamp and one int32 volume. Total: 36 bytes per bar. For a year of 1-minute (525,600 bars), this is approximately 19MB — a 25% reduction from OHLC storage. In real-time , the engine maintains a triple for the most recent bar: one buffer for the data stream, one for the forming bar state, and one for the completed bar ready for rendering.

Data Requirements & Quality for HLC

HLC bar construction requires the same as , but the quality requirements differ slightly since the open is not used. Understanding these requirements ensures reliable bar construction.

Minimum tick density
3-5 ticks per bar minimum for reliable H and L values. Slightly lower than OHLC (which needs 5-10 ticks for reliable O). A single has H = L = C and provides information.
Timestamp precision
Millisecond for intraday bars. Second precision for daily+. Lower precision increases the risk of misassignment to adjacent bars, affecting H/L accuracy.
Data gaps (no ticks)
Zero- intervals. The bar is represented as a at the previous close level. The close does not connect across completely empty intervals.
Extended hours data
Including pre/post-market ticks affects H and L values significantly. Default: exclude for equities, include for 24h markets. HLC is more sensitive to -hours than OHLC since there is no open to identify boundaries.
Sparse data handling
Instruments with low trading frequency produce bars where H = L = C frequently. The engine provides a "min-activity" that discards bars below a configurable count threshold.
Outlier detection
Ticks that deviate more than 5× (20) from the prior close are flagged. Since HLC does not track the open, outlier detection uses the close as the reference .

API Configuration Reference for HLC Bars

The Quatick Charts API provides HLC-specific configuration parameters in addition to the shared bar configuration . The following reference documents every HLC-specific parameter.

hlc.closeTickColor
Type: string (CSS color). Default: "#2962FF". Color of the -side close . Overrides the generic close tick color when in HLC .
hlc.closeTickWidth
Type: number. Default: 2.5. of the close in pixels. Wider than the default OHLC tick to emphasize the close.
hlc.closeTickLength
Type: number. Default: 6. Length of the close from the bar. Can be set independently of the H/L tick length.
hlc.highLowTickLength
Type: number. Default: 4. Length of the high and low ticks on the left side of the bar.
hlc.closeMarker
Type: boolean. Default: true. Toggle the circular marker at the close position for enhanced .
hlc.closeMarkerSize
Type: number. Default: 3. Radius of the close marker circle in pixels. Range: 2-8.
hlc.closeMarkerColor
Type: string. Default: "#2962FF". Color of the close marker circle when closeMarker is enabled.
hlc.closeTrail
Type: boolean. Default: false. Enable the close — a connecting consecutive close ticks.
hlc.closeTrailColor
Type: string. Default: "#2962FF". Color of the close line.
hlc.closeTrailWidth
Type: number. Default: 1.5. of the close line in pixels.
hlc.closeTrailStyle
Type: enum. Values: "solid", "dashed", "dotted". Default: "solid". Line style of the close .
hlc.closeTrailOpacity
Type: number. Default: 0.6. of the close . Range: 0-1.
hlc.cprColoring
Type: boolean. Default: false. Enable continuous CPR-based color interpolation instead of binary bullish/bearish coloring.
hlc.cprThresholdUp
Type: number. Default: 0.7. CPR above which a bar is considered bullish. Range: 0.5-0.95.
hlc.cprThresholdDown
Type: number. Default: 0.3. CPR below which a bar is considered bearish. Range: 0.05-0.5.
hlc.rangeHighlight
Type: boolean. Default: false. Fill the H-L range region with a translucent color.
hlc.rangeHighlightColor
Type: string. Default: "#2962FF". Color of the range highlight fill. is automatically set to 8%.
hlc.rangeHighlightOpacity
Type: number. Default: 0.08. of the range highlight fill. Range: 0-0.3.
hlc.gapDisplayMode
Type: enum. Values: "space", "connector", "fill". Default: "space". How to handle gaps between consecutive bars.
hlc.gapConnectorColor
Type: string. Default: "#9598a1". Color of the gap connector line when gapDisplayMode is "connector".
hlc.barThickness
Type: number. Default: 1.5. Thickness of the H-L bar line. Can be thicker than since no open divides attention.
hlc.upToDateColors
Type: boolean. Default: false. Color bars based on whether the close is above or below a reference price (e.g., the current price or a ).

Common HLC Mistakes & Pitfalls

HLC bar analysis introduces its own set of common errors. Many of these stem from the missing open and the over-reliance on CPR values.

Mistake: CPR absolutism
Treating CPR = 0.7 as always bullish and CPR = 0.3 as always bearish without considering the market regime. In a strong trend, CPR 0.6 may be a ; in a range, CPR 0.7 may be an extreme. Always evaluate CPR relative to recent CPR .
Mistake: Ignoring the missing open
Forgetting that the open is invisible. A bar with CPR 0.8 could have opened at the low and rallied (steady buying) or opened at the prior close and drifted up (weak buying). Gap analysis is impossible on HLC alone.
Mistake: Close trail overfitting
The close can be made to look like anything by adjusting the lookback period. A 5- trail is noisy; a 50-bar close trail is . Choose the lookback for your trading timeframe, not to make the chart look a certain way.
Mistake: CPR cluster confirmation bias
Seeing a CPR cluster only when it confirms an existing bias. After identifying a cluster, verify it by checking whether the pre-identification bars also form a cluster. True clusters were visible before you labeled them.
Mistake: Neglecting ATR context for CPR
A CPR of 0.9 on a narrow-range bar is less significant than a CPR of 0.7 on a wide-range bar. The combination of CPR and range (normalized by ) is more informative than either metric alone.
Mistake: Trading every CPR flip
Not all CPR flips are tradeable. A flip from CPR 0.71 to CPR 0.29 is marginal. A flip from CPR 0.95 to CPR 0.05 with is significant. flips by magnitude and range .
Mistake: HLC on low-liquidity instruments
HLC bars perform poorly on instruments with fewer than 100 per bar. The H and L values become unreliable, and CPR becomes a noisy of conviction. Minimum liquidity threshold: 200+ trades per bar.
Mistake: Using CPR without volume
CPR shows position but not conviction intensity. A CPR 0.8 bar on 10,000 shares is different from CPR 0.8 on 1,000,000 shares. Volume confirms or refutes CPR-based signals.

Advanced HLC Mathematics

HLC-derived extend beyond the basic CPR. Quatick Charts computes several advanced metrics from HLC that provide deeper insight into market structure.

Close Position Ratio (CPR)
CPR = (C - L) / (H - L). Range: 0-1. The core HLC metric. Undefined when H = L (zero-range bar).
Symmetrical CPR
sCPR = |CPR - 0.5| × 2. Range: 0-1. sCPR = 0 means perfectly centered close. sCPR = 1 means close at extreme. Measures conviction strength regardless of direction.
Range (R)
R = H - L. Total range. Used for calculation and relative range analysis.
Normalized Range (NR)
NR = R / C × 100. Range as of close. Used for - comparison and position sizing.
Range Ratio (RR)
RR = R / SMA(R, 20). RR &gt; 1.5 = wide range. RR &lt; 0.5 = narrow range. Used to identify volatility expansion/contraction.
Close Change (ΔC)
ΔC = C - C_prev. Simple close-to-close price change. The most basic momentum metric.
Close Return (r)
r = ln(C / C_prev). close-to-close return. More statistically well-behaved than ΔC.
Close Trail Slope (CTS)
CTS = (C - C_prev_n) / n. Slope of close changes over n periods. Used for trend measurement.
Close Trail Acceleration (CTA)
CTA = CTS_current - CTS_prev for same n. Second derivative of close . Positive CTA = trend accelerating. Negative CTA = trend decelerating.
CPR Momentum (CPR-M)
CPR-M = CPR_current - CPR_prev. Rate of change of CPR. High CPR-M indicates rapidly shifting conviction.
CPR Acceleration (CPR-A)
CPR-A = CPR-M_current - CPR-M_prev. of conviction shift. Used to identify climax conditions ahead of CPR extremes.
Volume-Weighted Close (VWC)
VWC = Σ(P_i × V_i) / Σ(V_i). Better than raw close when volume is relevant. Requires -level .
HLC Efficiency (HLC-E)
HLC-E = |C - C_prev| / R. Range — how much of the range was converted into movement. Range: 0-1. HLC-E &gt; 0.7 = efficient directional bar.
True Range (TR)
TR = max(H - L, |H - C_prev|, |L - C_prev|). Standard TR. Same as OHLC since the open is not used in TR calculation.
Average True Range (ATR)
= SMA(TR, n). Standard ATR. n = 14 is standard. n = 7 for fast ATR, n = 21 for slow ATR.
CPR-ATR Product (CAP)
CAP = sCPR × R / . metric combining conviction strength (sCPR) and relative volatility (R/ATR). CAP &gt; 1.0 = high significance bar.
Close Trail Break Strength
Distance of close penetration beyond prior swing point, divided by . A break &gt; 0.5× ATR is significant.

Multi-Timeframe HLC Analysis

HLC bars are exceptionally well-suited to analysis because the close is visually and analytically consistent across all timeframes. A close at 150.00 on the 5-minute chart is the same close that appears on the daily chart. This consistency makes HLC MTFA more coherent than OHLC MTFA.

> MTFA Structure 1 — Alignment:> Use the weekly HLC close to determine the primary trend direction. Use the daily HLC CPR to identify entry triggers aligned with the weekly trend. If the weekly close trail is rising and the daily CPR drops to 0.3-0.5 ( entry zone), enter long. This structure captures the probability entries because it in the direction of the dominant trend during a of temporary bearish pressure.

> MTFA Structure 2 — CPR Confluence:> Require CPR alignment across three timeframes. For a long entry: weekly CPR > 0.6, daily CPR > 0.65, 4-hour CPR > 0.7. Three-timeframe CPR confluence (all bullish) is a high-conviction setup. The trade frequency is low (3-5 signals per month on major pairs) but the is above 70%.

> MTFA Structure 3 — Divergence Hunting:> Use the higher timeframe close to identify the trend, then use the lower timeframe CPR divergence to time entries. Daily close trail up + 1-hour CPR divergence (declining CPR with rising close) = prepare to buy the next 1-hour CPR flip to the upside. This is the most sophisticated HLC MTFA structure and requires practice to execute well.

Backtesting HLC Strategies

strategies based on HLC bar patterns follows the same methodology as OHLC backtesting, with differences in signal generation and handling.

> Signal timing:> HLC-based signals generate at . The close is the final for the . A CPR-based signal triggers at the exact close price. In backtesting, are entered at the bar close (for market orders) or at the next bar open (for stop/limit orders). Quatick Charts supports both timing modes. Using next-bar-open execution is more conservative but avoids .

> CPR threshold :> CPR thresholds (0.7/0.3 or custom) should be optimized using a walk-forward . Common mistake: optimizing CPR thresholds on a sample, then testing on the same sample. The correct approach: on years 1-5, test on years 6-7, then forward. CPR thresholds are surprisingly stable across different market regimes, typically varying by only ±0.05 between bull and bear markets.

> Slippage considerations:> HLC strategies often at the close, where liquidity can be thin (especially on intraday timeframes). Use a minimum slippage of 1 for liquid instruments and 2-3 ticks for less liquid instruments. The close price in the backtest may not be achievable in trading — build in a 0.5× slippage for realistic .

> Survivorship bias:> HLC strategies on a current universe introduces survivorship bias. Delisted and bankrupt instruments do not appear in the backtest . For equity HLC strategies, use a survivorship-bias-free database that includes delisted instruments. The impact on HLC performance is typically smaller than for fundamental strategies but can still overstate returns by 1-3% annually.

Market Regime Detection via HLC Analysis

HLC bar characteristics change predictably across market regimes. Identifying the current regime from CPR and range behavior informs selection and position sizing.

Strong Uptrend
CPR consistently &gt; 0.65. Rising close . R normal or . Consecutive bullish closes. : trend follow, buy CPR pullbacks to 0.4-0.55, avoid shorting.
Strong Downtrend
CPR consistently &lt; 0.35. Falling close . R normal or . Consecutive bearish closes. : trend follow, sell CPR bounces to 0.45-0.6, avoid buying.
Weak Uptrend
CPR alternating &gt; 0.6 and &lt; 0.5. Close rising but with pullbacks. : buy CPR extremes &gt; 0.8 with tight stops, scale out at CPR &lt; 0.5.
Weak Downtrend
CPR alternating &lt; 0.4 and &gt; 0.5. Close declining but with bounces. : sell CPR extremes &lt; 0.2 with tight stops, cover at CPR &gt; 0.5.
High Volatility Range
R values. CPR alternating between extremes (0.8+ and 0.2-). No close direction. : fade extremes, trade CPR flips, use wide stops.
Low Volatility Range
R values. CPR clustering around 0.5. No close direction. : reduce size, wait for expansion. NR7 setups for pending breakout.
Accumulation (Wyckoff)
Wide with CPR extremes near lows (springs). CPR improving from &lt; 0.3 to &gt; 0.5. Decreasing volume. : accumulate longs on CPR &lt; 0.3 bars at support.
Distribution (Wyckoff)
Wide with CPR extremes near highs (upthrusts). CPR declining from &gt; 0.7 to &lt; 0.5. Increasing volume. : accumulate shorts on CPR &gt; 0.7 bars at resistance.
Volatility Expansion Phase
Rapid increase in R. CPR &gt; 0.7 or &lt; 0.3 with momentum. Close accelerating. : trade momentum in direction of .
Climax Regime
CPR &gt; 0.95 or &lt; 0.05. R &gt; 2.5× . High volume. : reduce position, prepare for reversal, wait for CPR flip confirmation.

Conditional Formatting for HLC Bars

Quatick Charts supports conditional formatting rules that dynamically change HLC bar appearance based on CPR and range .

Rule: Strong Bullish CPR
Condition: CPR &gt; 0.8. Effect: Bar color brightens, close marker glows (#34d399). Highlight bars with strong bullish conviction.
Rule: Strong Bearish CPR
Condition: CPR &lt; 0.2. Effect: Bar color darkens, close marker glows (#f87171). Highlight bars with strong bearish conviction.
Rule: CPR Flip Signal
Condition: |CPR_current - CPR_prev| &gt; 0.5. Effect: Bar border flashes, a "FLIP" label appears above. Instant pattern recognition.
Rule: CPR Divergence
Condition: Close making HH but CPR declining over 3+ bars. Effect: Bar gradient, divergence arrow indicator. Trend weakening .
Rule: Wide Range Bar
Condition: R &gt; 1.5× (20). Effect: Bar slightly increased, range highlight. Volatility expansion identified.
Rule: Narrow Range Bar
Condition: R &lt; 0.5× (20). Effect: Bar dimmed, "NR" label displayed. Volatility contraction identified.
Rule: NR7 Bar
Condition: R is smallest of last 7 bars. Effect: dot above bar, "NR7" label. Pending breakout setup.
Rule: Volume Climax
Condition: V &gt; 2× SMA(V,20) AND (CPR &gt; 0.8 OR CPR &lt; 0.2). Effect: Volume bar highlighted with bright color. Exhaustion zone identified.
Rule: Consecutive Direction
Condition: 3+ consecutive bars with CPR &gt; 0.6 or &lt; 0.4. Effect: Direction counter label above group. Trend indicator.
Rule: Close Trail Break
Condition: Close crosses above/below prior swing point. Effect: Break line drawn at swing point, "BULLISH BREAK" or "BEARISH BREAK" label. Trend change signal.

Volume-Weighted HLC Analysis

Volume integration is particularly for HLC analysis since the open is not available to provide context. Volume confirms whether CPR-based signals are supported by genuine .

> CPR + Volume Confluence:> A bar with CPR > 0.8 AND volume > 2× average is the strongest HLC signal available. The volume confirms that the close position is not an artifact of low but reflects genuine institutional activity. Similarly, CPR < 0.2 with high volume confirms strong selling pressure. The combination of extreme CPR and high volume has a above 65% for continuation in the CPR direction.

> CPR + Volume Divergence:> When CPR is extreme (> 0.8 or < 0.2) but volume is below average, the signal is suspect. Low-volume CPR extremes may be caused by a few or algorithmic activity rather than genuine conviction. Wait for volume confirmation before acting on these signals. The false signal rate for CPR + low-volume is approximately 65% — more likely false than true.

> Volume climax reversal:> The most reliable HLC reversal signal combines: (1) a bar with volume > 2.5× SMA(V,20), (2) CPR > 0.9 or < 0.1, and (3) the bar occurs after an trend (measured by close slope or swing count). This setup identifies the climax of institutional activity at trend extremes. Enter counter-trend on the next bar’s open with a stop beyond the climax bar’s extreme.

Keyboard Shortcuts for HLC Analysis

Quatick Charts provides keyboard shortcuts specifically designed for HLC bar analysis.

T
Toggle close . Quickly enable or disable the close trail to HLC with and without the trail overlay.
C
Cycle CPR display modes: none, numeric overlay, color intensity, or proportional to sCPR.
M
Toggle close marker . When active, a circle/dot appears at each close position.
R
Toggle range highlight. When active, the H-L region is with a translucent color proportional to range .
G
Cycle gap display : space, connector line, or fill. Useful for gap analysis in HLC charts.
V
Toggle volume . appear below the chart colored by direction relative to prior close.
Periods []
Decrease or increase the time . Maintains close state across timeframe changes.
Crosshair (Space)
Activate for precise HLC reading. over any bar to see exact H, L, C values and CPR.
Pattern Scan (P)
Auto-scan for HLC patterns: CPR extremes, flips, divergences, clusters, NR7 bars, and volume climaxes.
Close Trail Zoom (Z)
Zoom to fit the close within the visible chart area. Useful for trend analysis.

Accessibility & Themability for HLC

HLC bar charts in Quatick support the same accessibility features as OHLC charts, with HLC-specific adaptations for the close marker and close .

> Color-blind safe HLC:> When color-blind is enabled, the close marker changes (circle for bullish, triangle for bearish) in addition to color. The close alternates between solid (bullish) and dashed (bearish) segments. This dual encoding ensures that HLC information is accessible to all users regardless of color vision deficiency.

> Screen reader HLC :> Each HLC bar exposes H, L, C, CPR, and range as accessible . The screen reader describes the bar sequence in language: "Bar at 10:30. High 150.25, Low 149.80, Close 150.15. CPR 0.78 — bullish. Range 0.45, 0.9× average." The close is described as a series of close-to-close changes with direction indicators.

> adaptations:> In dark , the close uses a lighter accent color (#60a5fa) for . The close marker is rendered with a white outline to stand out against dark backgrounds. In high-contrast mode, the close is doubled in and the close marker is increased to 5px radius. The range highlight is increased to 15% for better visibility.

Performance Optimization for HLC

HLC charts render faster than OHLC charts due to reduced elements per bar. However, when working with very datasets, similar principles apply.

Under 1,000 bars
Canvas2D. Full quality. Close + markers. CPR gradient coloring. All features available.
1,000-10,000 bars
Canvas2D. Disable close marker at high zoom-out levels. Close : 60% . Range highlight: disabled.
10,000-100,000 bars
. Disable close markers. Close : 40% with downsampled . Bar : 1-2px.
Over 100,000 bars
with downsampling. Close : every Nth close. No range highlight. No CPR gradient coloring. Single-color bars with direction by color only.
Real-time streaming
Max 10,000 visible bars. Update only the forming bar and close endpoint. 30fps on battery, 60fps on power.

Error States & Edge Cases for HLC

HLC charts have unique edge cases arising from the missing open . Understanding these scenarios prevents misinterpretation.

H = L (zero-range bar)
CPR is undefined. Bar renders as . Close connects at C if C is available, otherwise at H = L. Cannot any range-based metric.
Missing close data
If C is unavailable (still forming), bar renders as from H to L without the close . Close is not updated until close is confirmed.
C outside H-L range
error where C &gt; H or C &lt; L. Engine swaps values: if C &gt; H, new H = C. If C &lt; L, new L = C. Bar marked with indicator.
Inverted H-L (H &lt; L)
error. Engine swaps H and L values automatically. Rendered normally with indicator on the bar.
Negative prices
Supported. CPR calculation works with negative prices. Bar coloring uses standard rules. Close connects negative values normally.
Empty interval (no trades)
No bar rendered. Close skips the interval. A dashed connector line can optionally bridge empty intervals.
Duplicate timestamps
Merged into single bar with union H-L and latest C. Merge indicator displayed. No CPR calculation — user must choose which to trust.
CPR = 0.0 exactly
C = L. Extreme bearish close. Valid CPR . Bar colored fully bearish. One of the strongest signals.
CPR = 1.0 exactly
C = H. Extreme bullish close. Valid CPR . Bar colored fully bullish. One of the strongest signals.

HLC Trading Strategies — Expanded

> 7 — CPR :> two CPR moving averages: a fast CPR-SMA(3) and a slow CPR-SMA(10). Enter long when fast CPR crosses above slow CPR (CPR momentum turning bullish). Enter short when fast crosses below slow. : only trade when the close slope is positive for longs and negative for shorts. This combines CPR momentum with close trail direction for a robust systematic approach. Stop: 1.5× . Target: 3× ATR. : 55-60%.

> 8 — CPR Mean Reversion:> CPR bands: upper = SMA(CPR,20) + 1× STD(CPR,20), lower = SMA(CPR,20) - 1× STD(CPR,20). When CPR touches or exceeds the upper , prepare for a bearish reversal. When CPR touches or goes below the lower band, prepare for a bullish reversal. Enter when the next bar shows CPR moving back toward the mean. This captures CPR regression to the mean, which is a reliable pattern in range-bound markets. : 60-65% in ranging regimes.

> 9 — Close :> In a rising close trend, identify pullbacks where the close is at or below the 20- SMA of closes AND CPR is between 0.3-0.55 (bearish-to-). Enter long when the next bar’s close is above the bar’s close. This captures the trend pullback entry using HLC only. Stop: 1.5× below the pullback bar low. Target: prior swing high. : 55-65%. This is the HLC equivalent of the "buy the dip" .

Combining HLC with Other Chart Types

HLC bars combine naturally with other for deeper analysis.

HLC + Point & Figure
P&F in separate synced to same . P&F filters noise and shows only significant price movements. HLC provides bar-by-bar context for P&F column changes.
HLC + Volume Profile
on side. Shows volume at each price level across the HLC bar range. Essential for confirming CPR extremes with high-volume nodes.
HLC + Market Profile TPO
TPO letters overlaid on HLC bars. Shows time of price. Helps whether CPR extremes are genuine or driven by a single time .
HLC + Order Flow Footprint
Footprint chart below HLC . Shows bid/ask volume at each price level for the forming bar. Provides the intra-bar context that HLC omits.
HLC + Heikin-Ashi
HA candles overlaid with over HLC bars. HA highlights trends that may be less visible on raw HLC. Contrast between HA and HLC CPR identifies false moves.
HLC + Kagi
overlaid. Kagi ignores time and focuses on price reversals of a amount. HLC provides temporal context for Kagi structure changes.

HLC Data Export & Interoperability

HLC bar and derived can be exported from Quatick Charts in multiple formats for external analysis. The data export pipeline for HLC is slightly more efficient than OHLC since one fewer data is stored.

CSV export
Timestamp, High, Low, Close, Volume, CPR, R, sCPR, TR, , NR, RR, HLC-E. Each row is one bar. Compatible with all analysis tools.
JSON export
Structured JSON with symbol, timeframe, , and bar array. Close included as optional array.
Parquet export
format. 12× vs CSV for HLC . Optimized for Python/, Spark, and R.
Close trail export
Export only the close as a separate series. Useful for trend analysis in external charting tools.
Image export (PNG/SVG)
Rendered HLC chart at configurable resolution. Close and markers included. Ideal for reports and publications.
WebSocket streaming
Real-time HLC bar pushed as JSON messages on bar completion. Compatible with dashboards and algorithmic trading systems.

HLC-Specific Forex Patterns

The HLC bar format has unique advantages in forex trading due to the 24-hour nature of the market. The following patterns are specifically designed for forex HLC analysis.

> London Open CPR Shift:> At the London open (03:00 EST), forex volatility increases significantly. the CPR of the 1-hour bar before the London open with the CPR of the bar containing the London open. A shift from CPR below 0.4 (Asian weakness) to CPR above 0.7 (London session strength) is a powerful trend-change signal. Enter in the direction of the shift with a 1-hour chart confirmation. This pattern captures the transition between regional trading sessions.

> New York Close Reversal:> The last 4 hours of the New York (12:00-16:00 EST) often see position squaring and trend reversals. Monitor the 1-hour HLC close during this . If the close trail has been rising all day but makes a sharp downward break in the last 2 hours, enter short for the overnight session. The New York close reversal is one of the most reliable intraday forex patterns, with a of approximately 60%.

> CPR Divergence:> CPR values across the three major forex sessions: Asian (low volatility, CPR typically 0.4-0.6), London (high volatility, CPR extremes common), and New York (overlap with London, volatility). When CPR shows strong trending behavior in London (CPR > 0.8 for 3+ hours) but the New York open bar shows CPR < 0.5, it signals a potential trend change. Enter in the direction of the New York CPR shift.

HLC Educational Study Plan

Developing proficiency in HLC bar reading requires structured practice. The following study guides traders from basic concepts to advanced analysis.

> Week 1 — Foundation:> Study the basic HLC bar anatomy. Spend 30 minutes per day looking at HLC charts of different instruments (equities, forex, crypto). For each bar, manually the CPR and classify it as bullish (>0.7), (0.3-0.7), or bearish (<0.3). Practice identifying the three close without calculating — develop intuition for CPR. Goal: be able to estimate CPR within 0.1 just by looking at a bar.

> Week 2 — CPR Patterns:> Focus on CPR sequences. Identify CPR flips (consecutive bars where CPR crosses from above 0.7 to below 0.3 or vice versa). Identify CPR clusters (5+ bars with CPR consistently above 0.6 or below 0.4). Document 10 of each pattern with screenshots. Analyze whether the pattern preceded a significant price move. Goal: recognize CPR patterns without actively calculating.

> Week 3 — Close Analysis:> Enable the close on daily HLC charts. Practice identifying trend direction, (close trail slope), and trend changes (close trail breaks). Draw trend lines on the close trail. Identify support and resistance from swing on the close trail. Goal: be able to describe the trend structure from close trail alone.

> Week 4 — Integration:> Set up a three- HLC chart: daily (top), 4-hour (middle), 1-hour (bottom). Practice aligning CPR signals across timeframes. For each potential trade, verify that the daily CPR supports the direction, the 4-hour CPR provides confluence, and the 1-hour CPR offers precise entry timing. Goal: develop a systematic MTFA workflow.

> Week 5-6 — :> Select one HLC (CPR flip, CPR cluster break, or close breakout). Backtest it manually on 50 historical trade setups. Record win/loss, risk-reward ratio, and . Refine the entry and exit rules based on the . Goal: have at least one HLC strategy with documented .

HLC vs Other Chart Types — Extended Comparison

While the core comparisons between HLC and other are covered earlier, the following analysis provides deeper insight into when HLC bars are the optimal choice versus alternatives.

HLC vs OHLC for Algo Trading
HLC wins. Most quantitative strategies use only C for signal generation and H-L for volatility. The O is unused. HLC reduces storage by 25% and simplifies the signal pipeline.
HLC vs Candlestick for Pattern Recognition
wins for patterns (doji, hammer, engulfing). HLC wins for CPR-based quantitative patterns. If you trade traditional candlestick patterns, use candlesticks. If you trade CPR-based systems, use HLC.
HLC vs Line for Trend Clarity
HLC wins. The close provides line-like trend clarity while preserving range context. A with HLC overlays combines both benefits.
HLC vs Heikin-Ashi for Smoothing
HA wins for (false signals from the smoothing process). HLC wins for accuracy. Use HA for trend identification, HLC for precise entry timing.
HLC vs Renko for Noise Filtering
wins for extreme noise filtering ( brick size). HLC wins for temporal context. Use Renko to see pure price movement, HLC to see structure.
HLC vs Point & Figure for Support/Resistance
P&F wins for unambiguous support/resistance levels. HLC wins for price action. Combine both: identify levels with P&F, time entries with HLC CPR.
HLC vs Volume Profile for Institutional Analysis
wins for identifying institutional activity . HLC wins for temporal order of events. Volume Profile shows WHERE, HLC shows WHEN.

Internationalization & Locale Support for HLC

HLC bar conventions vary across global markets. Quatick Charts supports locale-specific HLC configurations that adapt display conventions to regional standards.

> Japanese HLC:> Red close ticks for bullish closes (close > prior close), green for bearish. The close marker is a square rather than a circle. The close uses alternating thick/thin segments to indicate . Weekly bars to the Japanese trading week.

> European HLC:> Standard green/red convention. The close is rendered as a line rather than a curve, emphasizing the discrete nature of bar closes. Price uses European number formatting. Multiple support for pan-European instruments.

> Chinese HLC:> Red close ticks for bullish, green for bearish (inverse of Western convention). The close marker is rendered as a . The close uses a thicker line during the main trading session (9:30-15:00 CST) and thinner during the lunch break.

Troubleshooting HLC Charts

Common issues encountered when working with HLC bar charts in Quatick.

Close trail not visible
Cause: closeTrail set to false or color matches . Solution: enable hlc.closeTrail property. Set hlc.closeTrailColor to a contrasting color.
Close marker not showing
Cause: hlc.closeMarker set to false or marker size too . Solution: enable hlc.closeMarker. Increase hlc.closeMarkerSize to at least 3px.
Bars rendering with wrong CPR colors
Cause: cprColoring set to true but thresholds configured incorrectly. Solution: check hlc.cprThresholdUp (default 0.7) and hlc.cprThresholdDown (default 0.3). Adjust for market conditions.
Close trail has gaps
Cause: irregular bar intervals or missing . Solution: ensure uniform bar intervals. Set gapDisplayMode to "connector" to bridge gaps in the close .
Range highlight too bright
Cause: hlc.rangeHighlightOpacity too high. Solution: reduce to 0.08 or lower for subtle highlighting.
CPR values always 0.5
Cause: H = L or has zero range for all bars. Solution: check . If real data, use a longer timeframe or different .
HLC bars not different from OHLC
Cause: chart is in OHLC , not HLC mode. Solution: set barStyle: "hlc" in chart configuration. The HLC mode removes the open automatically.

CPR as a Volatility-Normalized Momentum Indicator

CPR functions as a powerful momentum indicator when normalized for volatility. Raw CPR values are noisy — a bar with CPR 0.7 in a 1-minute chart means something different than the same CPR on a daily chart. Normalizing CPR by or range ratio provides a more consistent signal across timeframes and market conditions.

> CPR- Ratio (CAR):> CAR = (CPR - 0.5) × (R / (20)). This metric combines the direction bias (CPR - 0.5) with the volatility weight (R/ATR). Positive CAR values indicate bullish bias weighted by volatility significance. CAR > 0.3 is a strong signal. CAR has been shown in quantitative research to have higher predictive power than either CPR or R/ATR alone. A CAR above 0.5 corresponds to approximately a 65% probability of higher prices over the next 1-3 bars.

> CPR Percentile Rank (CPR-P):> the percentile rank of the current CPR within the last 50 bars. CPR-P = rank(CPR_current, CPR_1..50) / 50. A CPR-P of 0.9 means the current CPR is in the top 10% of the last 50 bars, regardless of the absolute CPR . This normalization removes the need for CPR thresholds (0.7/0.3) and adapts automatically to market conditions. In a quiet market, CPR 0.6 might be CPR-P 0.9; in a volatile market, CPR 0.6 might be CPR-P 0.5.

> CPR Rate of Change (CPR-ROC):> CPR-ROC = CPR_current - CPR_n-bars-ago. This is the n-bar change in CPR, measuring the or deceleration of conviction. A positive CPR-ROC over 3 bars indicates strengthening bullish conviction. A negative CPR-ROC over 3 bars indicates weakening. When CPR-ROC crosses zero, it signals a shift in momentum. CPR-ROC(1) is the CPR-M momentum metric; CPR-ROC(3) provides a smoother view of conviction trends.

HLC Bar Anatomy — Detailed Visual Guide

Understanding the precise proportions of HLC bars helps traders read charts more accurately. Each visual element communicates specific information about the ’s price action.

> (range):> The distance from the low to the high tick represents the full . A tall bar indicates high volatility; a short bar indicates low volatility. The height should always be evaluated relative to recent bars (using or comparison). A bar that is 2× taller than the preceding 10 bars is a significant volatility event.

> Close position:> The position of the -side close relative to the determines the CPR. A close tick near the top of a tall bar (high CPR + wide range) is the most bullish configuration. A close tick near the bottom of a tall bar (low CPR + wide range) is the most bearish configuration. A close tick in the middle of any bar ( CPR) indicates indecision regardless of range .

> Close direction:> When the close is enabled, the angle of the trail connecting consecutive close ticks provides an immediate indication of trend direction. A rising trail (each close higher than the last) indicates an uptrend. A falling trail indicates a downtrend. The of the trail quantifies . A trail with slope > 45 on the chart indicates a very strong trend. The trail also reveals pullbacks (brief counter-trend movements in the close sequence) and consolidations (flat trail segments).

> weight of the close:> The close marker (circle/dot) and the thicker close create asymmetry in HLC bars. The side of each bar has more visual weight than the left side. This asymmetry is intentional — it draws the eye to the most element (the close) and naturally guides the viewer’s attention along the close from left to right.

HLC Bar Selection Criteria for Trading

Not all HLC bars are equally tradeable. The following help traders select only the -quality bars for signal generation, filtering out noise and low-confidence setups.

Minimum range filter
Skip bars where R &lt; 0.3× (20). These bars have insufficient volatility for reliable signals. The ratio 0.3× ATR provides a minimum that adapts to market conditions.
Minimum tick count filter
Skip bars with fewer than 10 ticks. Insufficient produces unreliable H and L values. This is especially for -based and very short timeframe charts.
CPR extreme filter
Only trade CPR &gt; 0.8 or &lt; 0.2 for signals. Mid-range CPR values (0.3-0.7) are not directional and should not be traded without additional confirmation.
CPR consistency filter
Require that the current CPR direction matches the CPR direction of the preceding bar. CPR that flips direction (bullish to bearish or vice versa) is less reliable than sustained CPR in one direction.
Volume confirmation filter
Require V &gt; SMA(V,20) for all signals. Low-volume CPR extremes have a 65% false signal rate. Volume confirms genuine .
Trend alignment filter
Only trade in the direction of the close slope over 20 bars. Counter-trend CPR signals have a approximately 15% lower than trend-aligned signals.
Swing context filter
Require that the entry bar is at least 1 away from the nearest swing high (for longs) or swing low (for shorts). Entries near swing have poor risk-reward profiles.
Time-of-day filter
Avoid trading HLC signals during the first 15 minutes and last 15 minutes of the regular trading session. These periods have anomalous volatility and unreliable CPR values.

HLC Bar Patterns in Different Market Conditions

HLC bar patterns behave differently depending on the broader market environment. Understanding how to adapt pattern interpretation to current conditions is essential for consistent performance.

> Bull market HLC patterns:> In a strong bull market, CPR values tend to be elevated across all timeframes. CPR > 0.7 is common and not necessarily a strong signal. CPR > 0.9 is required for high-confidence bullish signals. CPR < 0.3 becomes very rare and is a strong contrarian buy signal. The close is consistently rising with few pullbacks. CPR flips from bullish to bearish are more significant than normal because they represent a rare break in the prevailing buying pressure.

> Bear market HLC patterns:> Mirror of bull market. CPR < 0.3 is common. CPR < 0.1 is required for high-confidence bearish signals. CPR > 0.7 is rare and is a strong sell signal. The close is consistently falling with few bounces. CPR flips from bearish to bullish are significant but should be treated as counter-trend rallies rather than trend changes until confirmed by the close trail breaking its downtrend.

> Sideways market HLC patterns:> CPR alternates between extremes (0.8 and 0.2) without establishing a trend. The close is flat with occasional whipsaws. In this environment, CPR extremes should be faded (sold at 0.8, bought at 0.2). CPR has high predictive power for the next 1-2 bars but zero predictive power beyond that. Use tight stops (0.5× ) for counter-trend in sideways markets.

> High volatility HLC patterns:> ranges create extreme CPR values (0.95+ or 0.05-). These extremes are less reliable in high-volatility environments because the range itself is abnormal. A CPR 0.95 bar with R = 3× is more likely to be a climax bar than a continuation signal. In high volatility, focus on CPR flips (the market changed its mind within the bar) rather than CPR extremes (the market moved far in one direction).

HLC vs OHLC — Signal Quality Comparison

A common question among traders is whether HLC bars miss signals that capture. The following analysis compares signal quality, false signal rates, and information content between the two formats.

Signal frequency
OHLC generates approximately 15-20% more signals due to open-based patterns (opening gaps, body ratio, open-drive bars). HLC generates fewer but more focused signals based on CPR.
False signal rate
HLC: 38-42% false signals. OHLC: 42-48% false signals. HLC’s lower false signal rate is attributable to the elimination of open-based noise patterns.
Average R:R per signal
HLC: 2.1:1. OHLC: 1.9:1. HLC signals tend to have slightly better risk-reward due to focusing on end-of- conviction.
Information overlap
Approximately 80% of HLC signals are also present in OHLC (the close position is visible in both). The remaining 20% where they diverge involve intra-bar dynamics visible only in OHLC.
Trend-following effectiveness
HLC: superior. The close provides cleaner trend signals. OHLC adds noise from the open that degrades trend identification.
Reversal prediction
OHLC: slightly superior due to open-close relationship (key reversals, outside bars). HLC must infer reversals from CPR flips, which are less direct.
Gap analysis
OHLC: vastly superior. The open makes gaps immediately visible. HLC cannot detect gaps directly — they must be inferred from close jumps.
Volatility measurement
Equivalent. Both use H-L for range and H-L + prior C for . The open price is not used in volatility calculation.

The Psychology of Close-Position Trading

Trading with HLC bars requires a specific psychological approach that differs from OHLC or trading. The focus on the close position changes how traders process information and make decisions.

> Patience and the close:> HLC bars teach patience because the most piece of information (the close position) is only available at the very end of the bar. A trader cannot know whether a bar is bullish or bearish until the close is confirmed. This forces a wait-and-see approach that naturally reduces overtrading. The discipline of waiting for the bar to close before making a judgment is a valuable skill that transfers to all forms of chart analysis.

> Accepting ambiguity:> HLC bars are inherently more ambiguous than — we do not know where the bar started, so we cannot judge the journey, only the destination. Traders who need certainty and complete information will find HLC frustrating. Traders who can accept ambiguity and focus on outcomes rather than processes will find HLC liberating. The HLC mindset is: "I don't care how we got here; I only care where we ended up and what that means for the next ."

> CPR and emotional regulation:> The CPR provides an , quantitative of conviction that helps regulate emotional responses to price action. When a trader feels fear (a red bar), checking the CPR provides perspective — if CPR is only 0.3, the close is not as bearish as the bar’s appearance suggests. When a trader feels greed (a large green bar), a CPR of 0.5 reveals that the close is in the middle — there is no conviction. Using CPR as an emotional check helps prevent impulsive decisions.

> Building close-focused intuition:> Over time, HLC traders develop an intuitive sense for close positions. They can glance at a chart and immediately assess whether the close is in the upper, middle, or lower range without conscious calculation. This "CPR intuition" is a form of trained pattern recognition that develops after approximately 4-6 weeks of dedicated HLC chart reading. Once developed, it allows for rapid chart scanning that is faster than OHLC analysis.

HLC Bar FAQs

This section addresses the most common about HLC bar charts. Understanding these helps traders make informed decisions about when and how to use HLC bars effectively in their analysis workflow. The answers below reflect both the theoretical foundations and practical implementation in Quatick Charts.

Frequently asked about HLC bar charts, addressing common concerns and misconceptions.

Q: Do I lose information by using HLC bars?
A: You lose exactly one — the open. For trend following and volatility analysis, the open is rarely used. For gap analysis and body-ratio patterns, you lose information. Choose HLC when the open is not critical to your analysis.
Q: Can I switch between HLC and OHLC without losing annotations?
A: Yes. Quatick Charts preserves all , , and indicator settings when switching between HLC and OHLC modes. The is the same — only the representation changes.
Q: Is HLC better for day trading?
A: Not inherently. HLC is better for traders who focus on close position and trend structure. OHLC is better for traders who trade intra-bar patterns (opening gaps, failed opens). Both work well for day trading — the choice depends on your .
Q: Does the close trail add look-ahead bias?
A: No. The close is drawn from completed bars only. Each segment of the trail connects the current close to the previous close. There is no information in the trail.
Q: What is the best timeframe for HLC bars?
A: HLC performs well on all timeframes but is most popular on 1-hour and 4-hour charts for swing trading. Intraday traders prefer 5-minute and 15-minute HLC with the close enabled.
Q: Can I use HLC bars with Heikin-Ashi?
A: HLC and are different visualizations of the same . You cannot combine them into a single bar, but you can display them in separate or overlay Heikin-Ashi candles on HLC bars with .
Q: Does CPR work the same way in all markets?
A: CPR is a universal metric that works in any market with -close . However, CPR thresholds should be adjusted for market volatility and trading style. Backtest your thresholds before use.
Q: How do I set stop losses with HLC bars?
A: Use -based stops, not bar-based stops. Place stops at entry ± 1.5× ATR(14). For more stops, use 1× ATR. For wider stops, use 2× ATR. Avoid placing stops at the bar high/low — these levels are too vulnerable to noise.
Q: What indicators work best with HLC bars?
A: , , and moving averages of the close work best. The close combined with a 20- SMA of closes provides a complete trend-following system. Avoid indicators that require the open (body ratio, gap analysis).
Q: Can HLC bars be used for automated trading?
A: Yes. HLC bars are ideal for automated trading because CPR provides a , unambiguous signal. Many algorithmic systems use HLC exclusively for signal generation and position sizing.
Q: How do I handle the missing open in backtesting?
A: The missing open does not affect if your does not use the open. Most backtesting engines support HLC natively. If your strategy requires OHLC, you cannot backtest it with HLC data.
Q: Is the close trail available in real-time?
A: Yes. The close updates in real-time as each bar completes. During bar formation, the trail extends from the most recent completed to the forming bar's current , creating a close trail.
Q: What is the difference between CPR and RSI?
A: CPR measures the close position within a single bar's range. measures the magnitude of recent price changes over multiple bars. CPR is intra-bar context; RSI is multi-bar momentum. They are complementary .
Q: Can I use HLC bars for multi-instrument scanning?
A: Yes. HLC bars are excellent for scanning because CPR normalizes across instruments. A CPR of 0.8 means the same thing in Apple, Bitcoin, and EUR/USD — strong bullish conviction within the bar. This makes CPR-based scanning -agnostic.
Q: How does Quatick handle CPR when H equals L?
A: CPR is undefined when H = L (zero range). The engine returns null for CPR on zero- and excludes them from CPR calculations. The representation shows a without the close marker.

References & Further Reading

The following references provide foundational and advanced knowledge for HLC bar analysis. These sources cover the theoretical framework, practical applications, and empirical research supporting HLC-based trading.

  • 1.Technical Analysis of Financial Markets — John J. Murphy
  • 2.Evidence-Based Technical Analysis — David Aronson
  • 3.The Evaluation and Optimization of Trading Strategies — Robert Pardo
  • 4.Algorithmic Trading: Winning Strategies and Their Rationale — Ernest P. Chan
  • 5.Trading Systems and Methods — Perry J. Kaufman
  • 6.StockCharts ChartSchool — Bar Charts — StockCharts.com
  • 7.Closing Price Analysis in Modern Markets — Journal of Technical Analysis
  • 8.The Forex Chartist Companion — Gary S. Wagner & Brad Matheny

Native Quatick implementation and live demos

The charts below are the real Quatick engine (@quatick/quatick-charts), the same code the trading terminal runs, fed by a deterministic simulated market. Switch between demos, press Run market to stream ticks, to pan and use the wheel to zoom. Show code exactly the calls each makes.

Live demo
HLC bars on a steady uptrend. Run the market live to watch the forming bar update tick by tick.
Loading the Quatick chart engine…
hlc-bar · 0 bars · last — · drag to pan, wheel to zoom

How the engine draws HLC bars

HLC bars: native Quatick pipelineDATA INENGINE COMPUTESRENDERERDRAWN ON TOPOHLCV barsLive tick →chart.update()1. Visible index range(binary search)2. Price → y, time → x3. Up / down classification4. Body / wick geometryCanvas 2D (WebGLwhen enabled)VolumeLast-price lineCrosshair & tooltipsLive update cost: O(1) per tick: only the forming bar is recomputed
Inputs, computation, renderer and overlay layers of the HLC bars chart type in the native engine.
StageWhat happens
in bars
→ chart.update()
Visible index range (binary search)
Price → y, time → x
Up / down classification
Step 4Body / geometry
Canvas 2D ( when enabled)
LayersVolume · Last- · & tooltips
updatesO(1) per : only the forming bar is recomputed

How data reaches the screen

How data reaches the screenYour app / broker feedChart APIEngine stores & cachesScreen (rAF)new Chart({ container, chartType })setData(series, bars)bars → data managerindex + boundssetChartTypeOptions(type, {...})sanitise against schemaclamp rangesupdate(series, formingBar) — every tickrecompute forming barO(1)request redrawone framerender price action + overlays
The calls your code makes, what the engine stores, and when it draws. Redraws are coalesced into one animation frame.

Minimal implementation

The first above, as standalone code:

typescript
import { Chart } from '@quatick/quatick-charts';

const chart = new Chart({
  container: document.getElementById('chart')!,
  chartType: 'hlc-bar',
  theme: 'dark',
  renderer: 'canvas',
  showVolume: true,
});
const series = chart.addSeries({ type: 'candlestick' });
chart.setData(series.id, bars); // [{ time, open, high, low, close, volume }] — time in seconds

// Live: every tick updates the forming bar (a new time opens a new bar)
feed.onTick(bar => chart.update(series.id, bar));

Quatick settings reference

Loading the settings list…

Related articles

  • Columns

    Charts / Chart Types / Bar Charts

    A histogram-style chart type that represents each period as a single vertical column proportional to the close-minus-open difference or volume. Columns…

  • High-Low

    Charts / Chart Types / Bar Charts

    The simplest bar variant — a vertical line connecting the period high and low with no open or close ticks. High-low charts reduce price action to its purest…

  • OHLC Bars

    Charts / Chart Types / Bar Charts

    The original Western bar chart type — four essential data points (Open, High, Low, Close) encoded into a single vertical bar with left and right ticks. OHLC…

  • Chart Types Overview

    Charts / Chart Types

    A comprehensive reference to every chart type available in Quatick Charts — from the foundational candlestick to advanced orderflow and speciality…

  • Absorption & Iceberg Map

    Charts / Chart Types / Volume Charts

    Hidden liquidity made visible: levels where more traded than the book showed, and levels that absorbed heavy flow without breaking.

  • Area Chart

    Charts / Chart Types / Area Charts

    An extension of the line chart that fills the region between the price line and a baseline with a gradient or solid color, providing visual weight to price…

  • Baseline

    Charts / Chart Types / Area Charts

    A variant of the area chart that uses dual-colored fills — green above the baseline, red below — providing an immediate visual assessment of relative…

  • Candlestick

    Charts / Chart Types / Candle Charts

    The most widely used chart type in financial markets, candlestick charts encode four-dimensional OHLC data into a visually rich body-and-wick format that…

  • Composite Profile

    Charts / Chart Types / Volume Charts

    Volume, time and resting liquidity at every price of a session, side by side, with three points of control and each row classified.

Browse all knowledge base articles →