Appearance

Personalize your experience

Mode
Accent Color
Direction
High-Low

High-Low

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 form: the range of price exploration. This minimalist approach is ideal for volatility analysis, ATR-based systems, and traders who want the cleanest possible view of price movement.

Origins & History

The high-low chart type is the most elemental form of financial price visualization. Its origins predate modern charting entirely, tracing back to the earliest days of organized market reporting. In the 19th century, before computer graphics and detailed charting software, newspapers and telegraph ticker services reported only two prices for each trading session: the high and the low. These two numbers — and sometimes just the closing price — were considered sufficient to characterize a day’s trading activity.

The physical <Em > ticker tape</Em >, introduced in 1867 by <Em > Edward A. Calahan</Em >, transmitted trade prices in real time but did not organize them into charts. Traders would manually record the day’s high and low prices on graph , a simple to represent the range. This practice — the direct precursor to today’s high-low chart — was the original technical analysis visualization method in Western markets. These -drawn range lines were the first bar charts, created before the convention of adding open and close ticks was established.

> Charles Dow> used high-low extensively in his editorial analyses for The Wall Street Journal. His Dow Theory, which classified market movements into primary, secondary, and minor trends, relied on the concept of "swing " — which are defined by the high and low extremes of . The high-low range was central to his concept of "line" formation (trading ranges) and "penetration" (breakouts). Dow’s original charts, preserved in the Wall Street Journal archives, show simple lines representing each day’s high-low range — pure high-low charts.

In the 1920s and 1930s, > Richard > incorporated high-low range analysis into his . His concept of "absorption" — where a operator accumulates or distributes shares within a — relied on observing the expansion and contraction of the high-low range over time. Narrowing ranges indicated absorption was complete; ranges signaled the start of a -up or mark-down phase. ’s range analysis remains one of the most sophisticated applications of high-low chart reading.

The development of <Em > </Em >> charting in the early 20th century represented a specialized evolution of the high-low concept. charts record every instance where price moves by a specified amount (the box size), effectively creating a high-resolution, time-independent record of expansion. The high-low chart is Point & Figure’s simpler, time-bound cousin — both focus on price range; only the treatment of time differs.

Modern volatility measurement tools — particularly <Em > ()</Em >, developed by <Em > J. Welles </Em >> in his 1978 book "New Concepts in Technical Trading Systems" — are built on the foundation of high-low range analysis. recognized that the high-low range, adjusted for gaps via the "" formula, is the most robust single- volatility estimator available. Every modern ATR calculation is, at its core, an analysis of high-low ranges.

Theory & Core Principles

The high-low chart is built on a single, powerful principle: the (high minus low) is the most descriptor of a ’s price activity. Direction — whether price closed up or down — is secondary. What matters is the extent to which price explored space during the period.

> Volatility primacy> is the core concept. The high-low range directly measures the volatility of a . A wide range indicates high volatility — significant disagreement among market participants, or the arrival of new information that shifts the consensus of . A narrow range indicates low volatility — agreement, consolidation, or a lack of new information. The sequence of and contracting ranges reveals the market’s volatility cycle, which is at least as predictable as the price trend cycle.

> precedes movement.> One of the most insights in technical analysis — confirmed by decades of empirical research — is that volatility expansion (a sudden widening of the high-low range) typically precedes significant movement. A low-volatility consolidation phase (narrow ranges) builds energy that is released as a high-volatility expansion phase (wide ranges). This is the "calm before the storm" pattern, and the high-low chart makes it immediately visible.

> Price rejection .> Without open or close ticks, the high-low chart directs attention to price levels where the market reversed. A long upper wick — a high that is significantly above the average price level of adjacent bars — indicates a zone of strong selling pressure. A long lower wick indicates strong buying pressure. These rejection are support and resistance levels, more reliable than arbitrary lines because they represent actual price discovery failures.

> and gaps.> The high-low chart naturally accommodates gap analysis through the concept. When a gap occurs between periods (e.g., the current ’s low is above the previous period’s high), the true range captures this gap by measuring from the previous close to the current extreme. This makes the high-low chart particularly useful for instruments prone to gaps.

The Mathematics

The high-low bar uses only two per :

> 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 buying pressure and serves as a resistance level.

> 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 selling pressure and serves as a support level.

Key derived :

> Range (R) = H − L. The fundamental volatility metric. The larger the range, the more price discovery occurred during the .

> (TR) = max(H − L, |H − C <sub > prev</sub >|, |L − C <sub > prev</sub >|). Adjusts for gaps by comparing the current ’s range with extensions beyond the previous close. The TR is always at least as as the raw range.

> () = (1/n) × Σ(TR <sub > i</sub >) for the last n periods. Typically n=14. is the most widely used volatility indicator in financial markets.

> Range Ratio (RR) = Current Range / . Normalizes the current range relative to recent volatility. Values above 2.0 indicate a volatility spike. Values below 0.5 indicate extreme .

> Upper (US) = H − max(Midpoint, Previous Close). The above the midpoint or prior close. Used to identify rejection levels at the top of the range.

> Lower (LS) = min(Midpoint, Previous Close) − L. The below the midpoint or prior close. Used to identify rejection levels at the bottom of the range.

> Midpoint (M) = (H + L) / 2. The arithmetic center of the range. Provides a rough estimate of the ’s average trading price when no volume is available.

> (GS) = TR − R. The portion of the attributable to gapping beyond the previous ’s range. A GS relative to R indicates a significant gap event.

> Volatility Ratio (VR) = Current Range / SMA(Range, n). Compares the current range to the average range. Used to identify periods of unusually high or low volatility.

> Range (RE) = |C − C <sub > prev</sub >| / R. Measures how much of the range translated into close-to-close movement. Values near 1 indicate efficient trending; values near 0 indicate choppy range-bound action.

> Volatility Skew (VS) = (H − M) / (M − L) when H − M > M − L, and negative otherwise. Measures asymmetry in the range. A positive skew indicates the range more to the upside; negative indicates more to the downside.

Anatomy

HighLowNo open or close ticksHLBullish range expansionHLBearish range expansion
High-low chart anatomy — the simplest bar variant, consisting of only a vertical line with two endpoint markers.
Vertical line (range)
A straight spanning from the High to the period Low. This is the sole element of the high-low bar. Its length represents the full of the period.
High marker (top)
The top endpoint of the , often drawn as a circle or a short . Marks the traded price of the .
Low marker (bottom)
The bottom endpoint of the , drawn as a circle or . Marks the traded price of the .
Midpoint (implied)
The arithmetic center of the range, (H+L)/2. Not drawn by default but can be displayed as an optional dash.
Range length
The length of the , proportional to the H−L. This is the primary information-carrying dimension of the high-low bar.
BullishBearishAccentNeutralSecondaryText/Muted
ℹ
Note:The high-low chart is sometimes called a "range bar" or " chart." However, these terms can be confused with and other chart types. In the Quatick Charts taxonomy, "High-Low" specifically refers to the time-based bar variant showing only range extremes.

Construction Pipeline

The high-low construction pipeline is the simplest of any bar variant — it captures only the extremes of the stream. This requirement makes high-low charts the most performant bar variant.

> Stage 1 — :> The engine monitors the incoming stream within the time interval, maintaining only two running values: current high and current low. Unlike OHLC or HLC construction, there is no need to store the first or last tick — open and close are irrelevant. This reduced memory footprint makes high-low charts the most performant bar variant for rendering.

> Stage 2 — Range Extraction:> At the interval boundary, the engine finalizes High = max price and Low = min tick price. The rendering requires only these two values. The construction is stateless between bars — each bar is completely independent. This simplicity makes high-low bars the fastest bar variant to compute and render.

> Stage 3 — Rendering:> The draws a from the high price coordinate to the low price coordinate. Endpoint markers (circles or ticks) are drawn at both ends. The line can be colored based on whether the midpoint is above or below the previous bar’s midpoint, or a single color can be used for all bars.

Visual Configuration

Line color
Single color for all bars, or coloring. Common schemes: gray/blue, midpoint-based (green if M &gt; M_prev, red if M &lt; M_prev), or volatility-based (brighter for wider ranges).
Line width
Thickness of the range line. Configurable from 1 to 8px. Thicker lines emphasize volatility. Default is 2-3px.
Endpoint marker
Style of the high/low endpoints. : none (clean line only), circle ( dot at each end), ( dash), (enhanced ).
Marker color
Color of the endpoint markers. Can match the line color or be independently configured.
Midpoint dash
Toggle an optional dash at the midpoint of the range. Provides a center reference.
Range fill
Fill the area between the high and low with a translucent color gradient. Creates a "range " effect that emphasizes volatility.
Volatility coloring
Color bars based on the range ratio. Narrow bars in muted colors; wide bars in bright colors. Creates an instant map of volatility.
Gap indication
Show gap connectors between bars when a gap occurs. : dashed connector, arrow indicator, or no indication.
Color gradient direction
For gradient-fill bars, the direction of the gradient. Top-to-bottom or bottom-to-top. Top-to-bottom with green-to-red creates a quick bullish/bearish cue.
Endpoint size
The radius of endpoint markers in pixels. Configurable from 2-6px. Larger markers emphasize the range boundaries.
Bar rounding
Apply rounded caps to the range line ends. Creates a softer appearance. Default is flat/square caps.
★
Pro tip:Enable "volatility coloring" to instantly identify volatility contraction and expansion . Bars with RR above 2 (double the average range) stand out as bright , making it easy to spot volatility and potential climax .

Interpretation Guide

Reading high-low charts is about reading volatility structure. Without ticks, the analyst focuses on range patterns — expansion, contraction, , and climax.

Range Expansion & ContractionExpanding RangeVolatility increasingContracting RangeVolatility decreasingExpansion → trending / volatile marketContraction → consolidation / quiet marketContraction → expansion is a high-probability setup
Range expansion (increasing volatility) and range contraction (decreasing volatility) — the fundamental volatility cycle.

> Pattern 1 — (Volatility Breakout):> A sequence of bars with progressively increasing range lengths signals that volatility is . This typically occurs at the beginning of a new trend, when a significant news event hits the market, or when a consolidation phase resolves. To interpret the direction of the expansion, combine with a separate indicator.

> Pattern 2 — (Volatility ):> A sequence of bars with decreasing range lengths signals that the market is consolidating. This is the "coiling spring" pattern. The narrower the ranges become, the more energy is being stored for the subsequent expansion. Extreme — ranges at 50% or less of the 20-bar — is a powerful that a volatility explosion is imminent.

Volatility Spike DetectionVolatility spikeNormalReturn to normalSudden spike often precedes trend change or climax
Volatility spike detection — sudden range expansion followed by a return to normal.

> Pattern 3 — Volatility Spike (Climax Bar):> A single bar with a range that is 2-3 times the is a volatility spike. In the context of a long-running trend, a volatility spike at the extreme of the trend often marks a buying or selling climax. After the spike, if the following bar has a dramatically smaller range, it confirms the climax has occurred.

> Pattern 4 — Higher Highs and Higher Lows:> Even without close ticks, an uptrend is visible: each successive bar has a higher high and a higher low than the previous bar. The trend lines connecting the high markers and low markers both slope upward. When the high begins to flatten while the low trend line continues rising, the trend is maturing.

High-Low Trend Structure — Higher Highs & Higher LowsHigh trendLow trendUptrend = higher highs + higher lowsDowntrend = lower highs + lower lowsHigh-low is the purest trend visualization
Uptrend structure in high-low — higher highs and higher lows with trend lines.

> Pattern 5 — Range at Support/Resistance:> When price approaches a known support or resistance level and the bars exhibit progressive range , it indicates the market is coiling for a breakout. The subsequent is typically explosive. Enter in the direction of the expansion with a stop at the opposite side of the compression zone.

> Pattern 6 — Range Pivot:> A single bar with a wide range that reverses a pattern of — going from narrow to wide in one — is a powerful signal. If the wide bar creates a higher high AND a higher low than the previous bar, it confirms trend resumption. If it creates a lower high and lower low, it signals a potential reversal.

> Pattern 7 — Range Clustering:> A series of bars with similar range sizes (within 20% of each other) forms a "range cluster." In an uptrend, a range cluster at the highs indicates . In a downtrend, a cluster at the lows indicates accumulation. The breakout from a range cluster is typically sharp and sustained.

> Pattern 8 — Stepwise :> When each bar in a sequence has a range that is progressively larger than the previous (e.g., 10, 15, 22, 33, 50 units), this "stepwise expansion" indicates accelerating volatility that often culminates in a climax bar. The stepwise pattern is more reliable than a single wide bar because it shows sustained volatility growth, not just a one- anomaly.

> Pattern 9 — Range Crush:> A single bar with a range that is less than 25% of the , occurring after a of normal or wide ranges, is a "range crush." This extreme often precedes the most explosive breakouts. The range crush focuses maximum energy into a , and the release is proportionally powerful.

> Pattern 10 — Midpoint Divergence:> When the midpoint ((H+L)/2) of consecutive bars makes higher highs but the range of each bar is , the market is rising on decreasing volatility — a bearish divergence. When the midpoint makes lower lows but ranges are contracting, it is a bullish divergence. These midpoint-range divergences often precede significant reversals.

Trading Strategies

> 1 — Reversal:> (14) and plot bands at 1.5× and 2.5× ATR above and below a 20- simple moving average. When a high-low bar touches or exceeds the 2.5× upper AND the bar’s midpoint is above the prior bar’s midpoint, it signals an overextended condition. Enter short with a stop at the bar’s high plus 0.5× ATR. Take profit at the 1.5× lower band.

> 2 — Volatility Contraction Breakout:> Identify a of at least 5 bars where each bar’s range is below the 20-bar . Place buy and sell stops at the and lowest low of the squeeze period. The first side to is the likely expansion. Enter in the triggered direction with a stop at the opposite side of the squeeze. the stop using a 1× ATR distance.

> 3 — Climax Spike Reversal:> When a single bar has a range exceeding 2.5× and is the largest bar in the last 20 periods, it as a potential climax. If the following bar has a range less than 50% of the climax bar’s range, enter a reversal position. Enter short if the climax bar’s midpoint is above the prior 10-bar average midpoint; enter long if below.

> 4 — :> Monitor the ratio of consecutive bar ranges. When Bar₂ has a range that is 1.5× or more of Bar₁'s range, and Bar₂'s midpoint is in the direction of the 20-bar trend, enter in the trend direction on a stop at Bar₂'s high (uptrend) or low (downtrend). The bar’s range provides a volatility reference for stop placement.

> 5 — Range Cluster Breakout:> Identify a range cluster (5+ bars with ranges within 20% of each other). When a bar breaks above the cluster’s high with a range at least 1.5× the average cluster range, enter long. When a bar breaks below the cluster’s low with similar , enter short. The cluster breakout captures the energy release from sustained consolidation.

> 6 — Midpoint Trend Continuation:> a 10- SMA of the midpoint. When the midpoint is above the SMA and a bar with range exceeding 1.5× forms, the expansion confirms the uptrend — enter long. When the midpoint is below the SMA and a wide bar forms, enter short. This uses the midpoint SMA as a and as a trigger.

Strengths & Advantages

  • Maximum clarity: The high-low chart is the cleanest possible representation of price activity. With only a per , there is no clutter, no distracting ticks, no false patterns created by open-close noise.
  • Ideal for volatility analysis: By removing all information, the high-low chart becomes a pure volatility visualization tool. Range-based indicators are immediately intuitive on a high-low chart.
  • Perfect for overlay charts: The footprint makes high-low bars ideal for overlay charts where one symbol’s price action is displayed on top of another’s.
  • Fastest rendering performance: High-low bars require the fewest graphical primitives per bar — a single line and two markers. This translates to the fastest rendering performance.
  • Naturally identifies support/resistance : When multiple bars share similar highs or lows, these levels become support and resistance . The high-low chart makes these zones immediately visible.
  • No false pattern generation: Without open and close ticks, there are no false patterns created by open-close noise. Every element represents real price discovery.

Limitations & Caveats

  • No information: The high-low chart provides no inherent sense of direction. Without additional context, the chart is ambiguous about which direction price moved during the .
  • Cannot identify patterns: Most price patterns (head and shoulders, double tops/bottoms, flags, pennants) are not visible on a high-low chart because the essential components are missing.
  • No gap without augmentation: Gaps between consecutive bars are not visually apparent on a high-low chart because there is no close to with the next bar’s open.
  • Limited standalone utility: Few traders use high-low charts as their primary chart type for all purposes. The lack of information makes it unsuitable for many common trading tasks.
  • Requires additional analysis for direction: To determine direction, traders must overlay a , , or use midpoint tracking. This adds that somewhat negates the simplicity benefit.

Comparison With Related Types

High-Low vs OHLC vs HLC — Simplest Bar VariantOHLC4 ticksHLC3 ticksHigh-Low2 pointsHigh-low removes all ticks except range extremesBenefits: pure volatility view, cleanest chartTrade-off: no directional bias from close position
High-Low vs OHLC vs HLC — the progression from 2 to 3 to 4 data points per bar.
High-Low vs OHLC
OHLC adds open and close ticks. High-low is 50% simpler and 75% faster to render. OHLC is for comprehensive analysis; high-low is a specialized tool for volatility focus.
High-Low vs HLC
HLC adds the close . HLC provides directionality while remaining cleaner than OHLC. High-low is for pure volatility work; HLC balances volatility with context.
High-Low vs Candlestick
Candlesticks add bodies and wicks. High-low is the opposite — information for maximum clarity. They represent opposite ends of the information-density spectrum.
High-Low vs Columns
reduce each to a single scalar. High-low preserves two (high, low). Columns provide momentum direction; high-low provides volatility magnitude.
High-Low vs Renko
bricks time and show only price movements. High-low preserves time but filters close/open. They serve different analytical purposes.
High-Low vs Bollinger Bands
are an indicator, not a chart type, but they serve a similar analytical purpose — visualizing volatility structure. A high-low chart with Bollinger Bands provides a double volatility view.

Multi-Timeframe Analysis

The high-low chart’s focus on range makes it uniquely suited for volatility analysis. Since direction is de-emphasized, the analyst can volatility structures across timeframes without being distracted by conflicting signals.

> Weekly/Daily — Macro Volatility Regime:> On weekly high-low charts, the overall range structure reveals the market’s macro-volatility regime. weekly ranges over 4-8 weeks indicate a high-volatility regime; contracting ranges indicate a low-volatility regime. The weekly trend defines the macro environment for all lower-timeframe trading.

> 4-Hour/Hourly — Intermediate Structure:> On the 4-hour high-low chart, identify volatility clusters. A cluster of narrow 4-hour ranges during a of wide daily ranges indicates a in the macro trend. A cluster of wide 4-hour ranges during narrow daily ranges indicates that the daily trend is gathering momentum.

> 15-Minute/5-Minute — Execution:> On the shortest timeframe, the high-low chart provides the cleanest possible view for execution. Enter when the 5-minute range expands after a of 5-minute , using the high or low of the expansion bar as the entry .

Advanced Techniques

> 1. with :> Combine high-low bars with a indicator. When a high-low bar’s range extends into a low-volume node (LVN), the move is likely to continue through that zone quickly. When it extends into a high-volume node (HVN), it is likely to stall or reverse.

> 2. -Weighted Position Sizing:> Use the current bar’s range relative to to dynamically compute position size. Factor = min(ATR(20) / Current Range, 3). Smaller ranges → larger positions (expect expansion). Larger ranges → smaller positions (expansion may be near completion).

> 3. Multi-Bar Range Pattern (Expansion-Contraction Cycle):> Identify the complete cycle: (1) — 5+ bars with ranges below 0.5× ; (2) Breakout — a bar with range above 1.5× ATR; (3) Expansion — 3-5 bars of sustained wide ranges; (4) Climax — a bar with range above 2.5× ATR; (5) Contraction — first bar with range below 0.5× ATR after the climax.

> 4. Range Divergence with Momentum Indicator:> Combine with or MACD. When range is but momentum is declining, this "range divergence" often precedes a significant reversal. The high-low chart provides the range information; the momentum indicator provides the direction.

Common Mistakes

!
Caution:> Assuming a wide range bar is always significant.> A wide range in isolation is not necessarily meaningful. can occur due to low-liquidity conditions, spread widening, or anomalies. Always evaluate in context.
!
Caution:> Ignoring the midpoint trend.> Without ticks, it is tempting to focus solely on range size. But the sequence of midpoints provides a useful directional signal. the midpoint as a line or marker to track the center of price exploration.
!
Caution:> Using high-low charts alone for entry timing.> The high-low chart excels at identifying volatility structure but is poor at entry timing. Use high-low charts for analysis and position sizing, but use a different chart type for precise execution.
!
Caution:> Over-reacting to single-bar range anomalies.> A single unusually wide bar may be caused by a news event or error. Wait for confirmation — the next bar should show either continued expansion (confirming) or collapse (confirming climax).

Detailed High-Low Bar Pattern Reference

The following catalogues every major high-low bar pattern, its defining range characteristics, and recommended trading response. These patterns focus exclusively on range structure and volatility behavior.

Range Expansion (Volatility Breakout)
Progressive increase in R over 3+ bars. Each bar has R &gt; previous R. Indicates increasing volatility. Action: prepare for move. Combine with directional overlay to determine direction.
Range Contraction (Volatility Compression)
Progressive decrease in R over 3+ bars. Each bar has R &lt; previous R. Indicates consolidation. Action: place breakout orders at the high/low of the zone.
Volatility Spike (Climax)
R &gt; 2.5× (20). Usually the largest bar in 20+ bars. Indicates potential exhaustion. Action: reduce positions, prepare for reversal, wait for confirmation bar.
Range Crush (Extreme Compression)
R &lt; 0.25× (20). The narrowest bar in 20+ bars. Indicates maximum energy storage. Action: prepare for explosive breakout. Place stops beyond crush zone boundaries.
NR7 (Narrow Range 7)
R is the smallest of the last 7 bars. Indicates significant . Action: -probability expansion setup. Direction requires additional context.
NR4 (Narrow Range 4)
R is the smallest of the last 4 bars. Indicates short-term . Action: moderate-probability expansion setup.
WR (Wide Range Bar)
R &gt; 1.5× (20). Indicates volatility expansion. Action: direction with trend , enter with ATR-based stop.
2× WR (Double Wide Range)
R &gt; 2× (20). Indicates extreme volatility. Action: potential climax. Trade with caution, reduce position size.
Expansion-Contraction Sequence
WR bar followed by a bar with R &lt; 50% of WR. Indicates failed expansion. Action: enter counter-trend on the contraction .
Contraction-Expansion Sequence
NR7 bar followed by a bar with R &gt; 1.5× . Indicates successful breakout. Action: enter in direction of the expansion.
Higher Highs + Higher Lows
Consecutive bars with HH and HL. Indicates uptrend structure. Action: trade long, trail stop at most recent low.
Lower Highs + Lower Lows
Consecutive bars with LH and LL. Indicates downtrend structure. Action: trade short, trail stop at most recent high.
High Cluster (Same H)
3+ bars with identical or very similar H. Indicates resistance zone. Action: enter short below cluster low or long on breakout above cluster high.
Low Cluster (Same L)
3+ bars with identical or very similar L. Indicates support zone. Action: enter long above cluster high or short on breakdown below cluster low.
Range Cluster
5+ bars with ranges within 20% of each other. Indicates stable volatility regime. Action: prepare for regime change. Breakout from range cluster is typically sustained.
Stepwise Expansion
Each bar R is 1.2-2× previous R for 4+ consecutive bars. Indicates accelerating volatility. Action: expect climax bar soon. Reduce positions after stepwise expansion.
Stepwise Contraction
Each bar R is 0.5-0.8× previous R for 4+ consecutive bars. Indicates decelerating volatility. Action: expect expansion soon. Prepare breakout orders.
Midpoint Higher + Range Contracting
Rising M with declining R. Bearish divergence. Indicates weakening uptrend. Action: reduce longs, prepare for short entry.
Midpoint Lower + Range Contracting
Falling M with declining R. Bullish divergence. Indicates weakening downtrend. Action: reduce shorts, prepare for long entry.
Wide Range Pivot
WR bar that reverses a contraction pattern. Indicates trend change. Action: enter in direction of the pivot, stop beyond the pivot bar extreme.
Gap Bar (Large GS)
Bar where TR - R &gt; 0.5× R. Indicates significant gap event. Action: gap direction is often the initial trend direction for the current .
Inside Range
H &lt; prev H AND L &gt; prev L. Indicates . Similar to inside bar in OHLC. Action: place breakout orders at parent bar boundaries.
Outside Range
H &gt; prev H AND L &lt; prev L. Indicates beyond prior extremes. Action: enter in direction of the midpoint move relative to prior midpoint.
Key Range Reversal
Bar makes new L (or H) beyond prior bar but midpoint reverses direction. Indicates failed breakout. Action: enter counter-trend on the reversal.
Range Acceleration
Current R ≥ 1.5× prior R in the direction of the 20- midpoint trend. Indicates trend . Action: add to position in trend direction.

High-Low Indicator Compatibility Matrix

The high-low chart works well with indicators that emphasize volatility and range. Indicators that rely on direction or close price have limited utility when used alone with high-low bars.

Average True Range (ATR)
Uses H, L, and prior C. TR = max(H-L, |H-C_prev|, |L-C_prev|). The single best indicator for high-low charts. bands on high-low charts provide a complete volatility structure view.
Bollinger Bands
Uses C for midline, H-L range for bandwidth. Bandwidth = (Upper - Lower) / Midline. Works well but the midline requires a close or midpoint substitute.
Keltner Channels
Uses M or HL2 for midline, for bandwidth. Compatible with high-low charts. Use the midpoint (H+L)/2 as the Keltner midline estimator.
Range Ratio (RR)
RR = R / (20). to high-low charts. No additional required. Identifies volatility expansion and contraction .
Volatility Ratio (VR)
VR = R / SMA(R, 20). Slightly different from RR. Useful for identifying relative range extremes. Compatible without modification.
Relative Strength Index (RSI)
Uses C. Cannot be calculated from H and L alone. Requires a price series substitute. Use midpoint (H+L)/2 as a close proxy for calculation on high-low charts.
MACD
Uses C. Cannot be calculated from H and L alone. Use midpoint series as a proxy. MACD on midpoint has lower signal quality than MACD on close.
Stochastic Oscillator
Uses H, L, and C. The %K = (C - L_n)/(H_n - L_n) × 100 cannot use raw high-low . Substitute midpoint for C in stochastic calculations.
On-Balance Volume (OBV)
Uses C for direction. Requires close . Not directly compatible. Use midpoint comparison as substitute.
Volume Profile
Uses -level price and volume. Compatible with high-low charts since uses raw tick , not aggregated bar data.
Parabolic SAR
Uses H and L. Compatible without modification. SAR uses the high and low of each bar. Works naturally with high-low .
ADX (Directional Movement)
Uses H, L, and C. The +DI/-DI calculation requires comparison of current H/L with prior H/L. Compatible without modification.
Chandelier Exit
Uses H, L, and . Exit = max(C, H of last n bars) - ATR × 3. Requires close for one component. Use midpoint as close substitute.
Elder Ray Index
Bull Power = H - (C,13), Bear Power = L - EMA(C,13). Requires close for EMA. Use midpoint EMA as substitute.
Chaikin Volatility
Uses HL range only. Chaikin Volatility = (((HL_range, n) - EMA(HL_range, n-m)) / EMA(HL_range, n-m)) × 100. Fully compatible without modification.

Timeframe-Specific High-Low Configuration

High-low bar configuration for different timeframes. Parameters that work well on daily charts may not be optimal for intraday due to differences in noise and density.

1-Minute Chart
Line : 1-2px. Endpoint markers: none or dots (2px). High noise environment — use RR &gt; 2.0 for significant signals. (14) is highly variable. Best used with additional volume context.
5-Minute Chart
Line : 2-3px. Endpoint markers: circles (3px). Standard intraday configuration. Volatility patterns begin to stabilize. NR7 patterns work well for expansion trading.
15-Minute Chart
Line : 3-4px. Endpoint markers: circles (3px). Ideal for intraday swing trading. Range clustering patterns are most reliable on this timeframe.
1-Hour Chart
Line : 4-5px. Endpoint markers: circles or ticks (4px). Popular for volatility analysis. (14) provides stable readings. /contraction cycles are clearly visible.
4-Hour Chart
Line : 5-6px. Endpoint markers: ticks (4px). Institutional timeframe for volatility analysis. Stepwise expansion patterns are highly reliable. Best for multi-bar range cycle analysis.
Daily Chart
Line : 6-8px. Endpoint markers: ticks (5px). Primary volatility analysis timeframe. All range patterns work well. Daily trend defines the macro volatility regime.
Weekly Chart
Line : 8-12px. Endpoint markers: ticks (6px). Long-term volatility structure. Only major range patterns (climax bars, ) are significant.
Tick Chart (1000 ticks)
Line : 1-2px. Endpoint markers: none. Range analysis on charts captures micro-structure volatility. on tick charts measures trade-by-trade volatility.

Instrument-Specific High-Low Considerations

Different classes exhibit distinct volatility characteristics that affect high-low bar interpretation and performance.

Equities (Large Cap)
: high. Typical daily ATR: 1-3% of price. patterns are very reliable. Volatility are meaningful. Best for: ATR-based strategies, Bollinger Band squeezes.
Equities (Small Cap)
: moderate. Typical daily ATR: 3-8% of price. More frequent volatility . Range patterns noisier. Best for: volatility breakout strategies with wider ATR thresholds.
Index ETFs (SPY, QQQ)
: very high. Typical daily ATR: 0.5-2%. Very clean range patterns. Range clusters are highly predictive. Best for: range breakout systems.
Forex Major Pairs
: high. Typical daily ATR: 0.5-1.5%. 24-hour range has different structure than -based. Range before major news events is very reliable. Best for: news volatility trading.
Forex Cross Pairs
: moderate. Typical daily ATR: 0.5-2%. Wider spreads create noise in range measurement. Best for: longer timeframe (4H+) high-low analysis.
Cryptocurrencies
: moderate. Typical daily ATR: 3-15%. Extremely high volatility. Range are very frequent. Range crushes often precede massive moves. Best for: explosive breakout trading.
Commodity Futures
: high. Typical daily ATR: 1-4%. -based volatility patterns. Gaps significantly affect TR vs R. Best for: systems, gap-adjusted range analysis.
Interest Rate Products
: high. Typical daily ATR: 0.2-0.8%. Low volatility. Range patterns take longer to develop. Best for: longer-term volatility cycle analysis.

Statistical Properties & Performance Data

The following synthesizes research on range-based trading patterns across multiple markets and timeframes. Performance varies by and market regime.

NR7 Expansion Win Rate
55-65% in trending markets. 45-52% in ranging markets. Average R:R = 1.8:1. Best on 1H-4H timeframes.
Range Crush (&lt;0.25× ATR) Expansion
60-70% . -probability expansion setup. Average R:R = 2.5:1. The extreme creates the most explosive releases.
WR Bar (&gt;1.5× ATR) Continuation
55-65% continuation in trend direction. 40-50% reversal. Average R:R = 1.5:1 for continuation. Use trend to improve.
Volatility Spike (&gt;2.5× ATR) Reversal
50-60% reversal probability. Climax bars in trends. Average R:R = 2.5:1. Requires confirmation bar.
Range Cluster Breakout
60-68% . Average R:R = 2.2:1. Most reliable when cluster forms at support/resistance.
Stepwise Expansion Climax
55-65% probability of climax bar within 1-2 bars of stepwise sequence. Average R:R for fade = 2.0:1.
BB Squeeze (Bollinger Band Compression)
55-60% for breakout in direction of trend. Average R:R = 1.8:1. Squeezes on daily charts are more reliable than intraday.
Gap-Adjusted Range Expansion
60-65% when first bar after a gap shows R &gt; 1.5× . Direction follows gap direction 70% of the time.
Higher High + Higher Low (3+ bars)
70-75% probability of continuation for next bar. Most reliable structure indicator in high-low charts.
Lower High + Lower Low (3+ bars)
70-75% probability of continuation. Equally reliable as HH/HL for downtrends.
Midpoint Divergence Reversal
55-65% . Best when divergence spans 5+ bars. Average R:R = 2.5:1.

Psychological & Behavioral Aspects of Range Trading

High-low requires a specific mindset that differs from chart analysis. The focus on volatility rather than direction changes how traders perceive and react to market conditions.

> Volatility as opportunity:> High-low chart traders learn to see volatility expansion not as risk but as opportunity. A wide range bar is not scary — it is a signal that the market is actively discovering price and creating trading opportunities. The opposite mindset drives range trading: low volatility is a signal (no opportunity), and high volatility is a confirmation signal (opportunity present).

> Patience during :> Range periods are psychologically difficult for high-low traders. The market appears to be doing nothing, and there is a strong temptation to force . The most skill in high-low trading is the discipline to wait during compression periods and only act when the expansion confirms the direction. The best range traders do nothing during 70% of market time and act decisively during the remaining 30%.

> Reversal bias and climax bars:> There is a tendency to assume that every wide range bar is a climax that will reverse. In reality, most wide are continuation signals, not reversal signals. The bias to sell wide green bars and buy wide red bars is a persistent source of losses for range traders. The climax interpretation should only apply when: (1) the bar is > 2.5× , (2) it occurs at an extreme of a multi-week trend, and (3) the next bar shows immediate range contraction.

> Fear of missing expansion:> Traders often enter too early during an expansion because they fear missing the move. The correct approach is to wait for the expansion bar to complete and then enter on a or a confirmed follow-through bar. If the move runs away without you, that is acceptable — there will be another opportunity. Forcing entry during an incomplete expansion bar is one of the most common and costly mistakes in high-low trading.

Technology & Rendering Details for High-Low

High-low bars are the most efficient bar variant from a rendering perspective. The simplified geometry enables performance characteristics that other cannot match.

> Rendering geometry:> Each high-low bar is rendered as a single line segment (2 vertices) plus two optional endpoint markers (2-6 vertices each). Total: 2-14 vertices per bar compared to 12-30 for . This 2-7× vertex reduction translates directly to faster rendering, especially in where the bar geometry can be encoded as a single strip.

> :> In , high-low bars are rendered as a single draw call using an line rendering technique. Each bar is represented as a thin (two triangles) with a custom shader that applies endpoint markers as pixel-shader decorations. This approach renders over 500,000 high-low bars at 60fps on modern GPU hardware — approximately 3× the performance of in the same mode.

> storage:> Each high-low bar stores 2 float64 values (H, L) plus timestamp and volume. Total: 24 bytes per bar. For a year of 1-minute (525,600 bars), this is approximately 12.6MB — a 50% reduction from OHLC storage and a 33% reduction from HLC storage. This makes high-low charts the most memory-efficient bar variant.

> Real-time performance:> During charting, the engine updates the forming high-low bar on each by comparing the current tick price with the running H and L values. Only these two values need to be maintained, and only the rendered bar geometry needs to be updated. The update operation is O(1) per tick compared to O(log n) for some other . This makes high-low charts the best choice for ultra-high-frequency feeds.

API Configuration Reference for High-Low Bars

The Quatick Charts API provides high-low-specific configuration parameters in addition to shared bar .

highlow.lineColor
Type: string (CSS color). Default: "#2962FF". Color of the range line.
highlow.lineWidth
Type: number. Default: 2. of the range line in pixels. Range: 1-8.
highlow.endpointMarker
Type: enum. Values: "none", "circle", "", "". Default: "circle". Style of the high/low endpoint markers.
highlow.markerColor
Type: string. Default: "#2962FF". Color of the endpoint markers. Can be set independently of line color.
highlow.markerSize
Type: number. Default: 3. Radius of endpoint markers in pixels. Range: 0-8.
highlow.midpointDash
Type: boolean. Default: false. Toggle the midpoint reference dash at (H+L)/2.
highlow.midpointColor
Type: string. Default: "#9598a1". Color of the midpoint dash marker.
highlow.rangeFill
Type: boolean. Default: false. Enable translucent fill between H and L.
highlow.rangeFillColor
Type: string. Default: "#2962FF". Color of the range fill. automatically set to 8%.
highlow.rangeFillOpacity
Type: number. Default: 0.08. of range fill. Range: 0-0.3.
highlow.volatilityColoring
Type: boolean. Default: false. Enable volatility-based coloring. Bars with larger ranges get brighter colors.
highlow.volatilityBaseColor
Type: string. Default: "#34d399". Base color for volatility coloring. Scale expands from this color.
highlow.volatilityIntensity
Type: number. Default: 0.5. Intensity of volatility coloring effect. Range: 0-1.
highlow.gapIndication
Type: enum. Values: "none", "connector", "arrow". Default: "none". How to indicate gaps between bars.
highlow.gapConnectorStyle
Type: enum. Values: "dashed", "dotted". Default: "dashed". Style of gap connector line.
highlow.barRounding
Type: boolean. Default: false. Apply rounded caps to range line ends.
highlow.colorMode
Type: enum. Values: "single", "midpoint", "volatility". Default: "single". Determines how bar color is assigned.
highlow.upColor
Type: string. Default: "#34d399". Color for bars where midpoint is higher than prior bar (when colorMode = "midpoint").
highlow.downColor
Type: string. Default: "#f87171". Color for bars where midpoint is lower than prior bar (when colorMode = "midpoint").

Common High-Low Mistakes & Pitfalls

High-low chart analysis introduces unique errors. Many stem from over-interpreting range patterns without considering context.

Mistake: Trading every range compression
Not all compressions lead to breakouts. Some compressions represent low , not coiled energy. Volume confirmation is essential — look for volume to expand with the range.
Mistake: Ignoring the midpoint
The midpoint trend provides critical context. A rising midpoint with ranges confirms trend . A rising midpoint with contracting ranges warns of trend weakness.
Mistake: Over-trading wide range bars
A single WR bar does not guarantee a trend. The next bar can collapse back into the WR range. Wait for follow-through — a second bar with range in the top 50% of the WR range confirms direction.
Mistake: Using fixed ATR periods
(14) is standard but not optimal for all conditions. Use shorter ATR(7) for fast volatility changes. Use longer ATR(21) for slow regime shifts. Adapt the ATR to your trading timeframe.
Mistake: Confusing volatility with direction
A wide range does not mean a strong trend. The bar could be a range with both buyers and sellers active. Direction must be determined from additional context.
Mistake: Neglecting time-of-day effects
Range structure varies systematically by time of day. The first 30 minutes of a typically have the widest ranges. Mid-session ranges are narrower. End-of-day ranges widen again. Normalize for time-of-day.
Mistake: Range expansion without volume
on declining volume is suspect — it may indicate algorithmic activity or low- volatility, not genuine new information. Require volume to range expansion.
Mistake: Setting stops too tight on WR bars
After a WR bar, the following bar often has a normal or wide range. Setting stops within the WR bar range leads to premature stops. Use 1.5× for stop distances, not bar geometry.

Advanced High-Low Mathematics

High-low enables a rich set of derived that provide insight into volatility structure, range dynamics, and market state.

Range (R)
R = H - L. The fundamental high-low metric. Measures total price excursion for the .
True Range (TR)
TR = max(H-L, |H-C_prev|, |L-C_prev|). Gap-adjusted range. Always ≥ R.
Average True Range (ATR)
(14) = SMA(TR, 14). The standard volatility metric. can be adjusted.
Range Ratio (RR)
RR = R / (20). Normalized range. RR &gt; 2.0 = volatility spike. RR &lt; 0.5 = volatility .
Gap Size (GS)
GS = TR - R. Portion of from gapping. GS &gt; 0.5× R indicates significant gap event.
Midpoint (M)
M = (H + L) / 2. Arithmetic center of range. Used as proxy.
Midpoint Change (ΔM)
ΔM = M_current - M_prev. change in range center. Positive = upward bias.
Range Skew (RS)
RS = (H - M) / (M - L). Asymmetry of range. RS &gt; 2 = strong upside . RS &lt; 0.5 = strong downside extension.
Volatility of Volatility (VOV)
VOV = STD((14), 20). Measures how much volatility is changing. High VOV = unstable volatility regime.
Range Efficiency (RE)
RE = |ΔM| / R. Measures how much of the range translated into midpoint movement. RE &gt; 0.7 = efficient trending bar.
Volatility Trend (VT)
VT = slope((14), 20). Direction of volatility trend. Positive VT = regime. Negative VT = contracting regime.
Normalized Range (NR)
NR = R / M × 100. Range as of midpoint. - volatility comparison.
Range Acceleration (RA)
RA = R_current / R_previous. Rate of range change. RA &gt; 1.5 = significant expansion. RA &lt; 0.67 = significant contraction.
Cumulative Range (CR)
CR = Σ(R_i) over n periods. Total volatility over the . Used for volatility budgeting.
Gap Ratio (GR)
GR = GS / TR. Portion of from gaps. GR &gt; 0.5 = gap-dominated bar.
Exponential ATR (EATR)
EATR(14) = (TR, 14). More responsive than SMA-based . Better for fast volatility detection.

Multi-Timeframe High-Low Volatility Analysis

High-low charts excel in volatility analysis because the range metric is consistent across all timeframes. A daily range is the sum of intraday ranges; an intraday range is a subdivision of the daily range.

> MTFA Structure 1 — Volatility Cascade:> Monitor the trend across three timeframes. If weekly ATR is declining, daily ATR is stable, and 4-hour ATR is , it signals a short-term volatility event within a long-term regime. This structure often precedes significant moves. Enter in the direction of the 4-hour with alignment to the weekly midpoint trend.

> MTFA Structure 2 — Range Confluence:> Identify RR extremes across timeframes. When the daily RR is below 0.5 () and the 4-hour RR is below 0.5 (also compressed), the two timeframes agree on low volatility. The subsequent expansion is typically powerful because both timeframes release simultaneously. Enter when either timeframe shows RR > 1.5, confirming the release.

> MTFA Structure 3 — Volatility Divergence:> When short-term is but long-term ATR is expanding, it indicates a within a larger volatility trend. This is a continuation pattern — the larger volatility trend will resume. Enter in the direction of the long-term midpoint trend when the short-term range expands again.

Volume-Weighted High-Low Analysis

Volume context is essential for high-low chart interpretation. Range without volume tells only part of the volatility story.

> High-volume :> When a wide range bar is accompanied by volume > 2× average, it confirms that the is driven by genuine . This is the most reliable signal in high-low charting. The high volume validates that the reflects broad market activity, not a liquidity anomaly or algorithmic artifact. Enter in the direction of the expansion with high confidence.

> Low-volume :> A wide range bar on low volume is suspicious. It may be caused by spreads, low-liquidity conditions, or a single large trade. These bars have low predictive — they are more likely to be transitory noise than the start of a new volatility phase. Ignore low-volume range expansions until they are confirmed by subsequent high-volume activity.

> Volume climax at range extremes:> A bar with range > 2× AND volume > 2.5× average that occurs after an volatility trend is likely a climax. The volume confirms that the range extreme represents genuine exhaustion. The following is the confirmation — enter counter-trend when the next bar shows R < 50% of the climax bar’s range.

High-Low Data Export & Interoperability

High-low bar can be exported from Quatick Charts for external analysis. The data format makes high-low data the most efficient to transmit and store.

CSV export
Timestamp, High, Low, Volume, R, TR, , RR, GS, M, RS, RE. for complete range analysis.
JSON export
Structured format with symbol, timeframe, and bar array. 40% smaller JSON payload than equivalent OHLC .
Parquet export
Highly compressed format. 20× vs CSV for high-low . Ideal for -scale volatility research.
ATR-only export
Export only the series for volatility regime analysis. Lightweight format for external risk models.
Image export
PNG or SVG rendering of the high-low chart. Range fill, volatility coloring, and midpoint dash included.

Keyboard Shortcuts for High-Low Charts

Quatick Charts provides shortcuts optimized for high-low chart analysis.

W
Toggle line between normal (2px) and thick (5px) . Thick mode emphasizes range structure.
M
Toggle midpoint dash . Shows/hides the midpoint reference at (H+L)/2.
F
Toggle range fill . When active, the H-L region is with a translucent color gradient.
R
Cycle range ratio display modes: none, numeric overlay, or bar-color intensity based on RR .
C
Cycle color : single, midpoint-based (up/down colors), or volatility-based (range intensity).
G
Toggle gap indication . When active, gaps between bars are shown with connector lines or arrows.
V
Toggle volume . Essential for confirming with volume.
B
Toggle endpoint marker style: none, circle, , or .
N
Cycle NR : none, NR4, NR7, or both. Marks narrow- with indicators.
Periods []
Decrease or increase the time . Maintains volatility coloring settings across timeframe changes.
Crosshair (Space)
Activate for precise H, L, and M reading. Displays current range and .

Accessibility & Themability for High-Low

High-low charts support the full range of accessibility features, with adaptations for the format.

> Color-blind safe :> When color-blind is enabled, the endpoint markers change (circle for H, for L) to distinguish the two extremes regardless of color. The midpoint dash is rendered as a double-dash for additional . Volatility coloring uses brightness variation rather than hue to indicate range intensity, ensuring readability for all color vision .

> Screen reader :> Each high-low bar exposes H, L, M, R, RR, and as accessible . The screen reader describes the bar sequence: "Bar at 10:00. High 150.25, Low 149.80, Midpoint 150.03. Range 0.45, 1.2× ATR — moderate volatility." Range patterns are described, including and expansion sequences.

> adaptations:> In dark , the high-low line uses a lighter color (#60a5fa) and increased contrast. In high-contrast mode, the endpoint markers are increased to 5px and outlined in white. The range fill is increased to 15% for better on all backgrounds. The terminal uses monochrome rendering with brightness representing range .

Performance Optimization for High-Low

High-low charts are already the most performant bar variant, but guidelines still apply for extreme use cases.

Under 10,000 bars
Canvas2D. Full quality. Endpoint markers, range fill, volatility coloring, midpoint dash — all features enabled.
10,000-100,000 bars
Canvas2D or . Disable endpoint markers. Range fill at reduced . Volatility coloring: basic only.
100,000-500,000 bars
required. No endpoint markers. No range fill. Single-color bars. No midpoint dash. Line : 1px.
Over 500,000 bars
with downsampling. Display every Nth bar. LTTB downsampling recommended. Line : 1px .
Real-time streaming
Max 50,000 visible bars. Update only the forming bar extremes. 60fps rendering. No animated transitions.

Troubleshooting High-Low Charts

Common issues when working with high-low bar charts in Quatick.

Bars not showing
Cause: H or L values are NaN or equal for all bars. Solution: verify includes valid H and L values. Check that H > L for each bar (swap if needed).
Endpoint markers invisible
Cause: markerSize set to 0 or markerColor matches . Solution: increase markerSize to 3+, set markerColor to a contrasting color.
Range fill too dark
Cause: rangeFillOpacity too high. Solution: reduce to 0.08 or lower. The fill should be subtle — barely visible unless zoomed in.
Volatility coloring not working
Cause: volatilityColoring enabled but baseColor too similar to barColor. Solution: set volatilityBaseColor to a distinct color. Increase volatilityIntensity.
Midpoint dash misaligned
Cause: midpointDash enabled but chart scale makes the dash appear in wrong position. Solution: check that midpoint is calculated as (H+L)/2. The dash should be at the arithmetic center.
Gap connectors not showing
Cause: gapIndication set to "none" or below threshold. Solution: set gapIndication to "connector" or "arrow". Reduce gapThreshold if configured.
Range values inconsistent
Cause: feed providing irregular timestamps or partial bars. Solution: ensure uniform interval data. Check for duplicate timestamps creating merge artifacts.

High-Low Trading Strategies — Expanded

> 7 — Trend Following:> the (14) as a line below the high-low chart. When ATR is rising (volatility increasing) and the midpoint trend is positive, enter long positions. When ATR is rising and the midpoint trend is negative, enter short. This uses ATR direction as a confirmation for trend following — only trade when volatility supports the trend. Stop: 1.5× ATR from entry. Target: prior range extreme.

> 8 — Volatility Mean Reversion:> When RR exceeds 2.5 (extreme range relative to ), prepare for mean reversion. Enter counter-trend when the midpoint of the extreme bar is more than 2× ATR from a 20- SMA of midpoints. The extreme range suggests that the move is overextended relative to recent volatility. Stop: at the extreme bar’s high/low. Target: 1× ATR reversion to the SMA.

> 9 — Multi-Bar Breakout:> Identify 7+ consecutive bars where each bar’s range is below the 20-bar . This is a significant event. Place a buy stop at the of the compression and a sell stop at the lowest low. When one side triggers, enter in that direction with a stop at the opposite side. the stop using the 1× ATR of the compression period. This captures the most powerful expansion releases.

> 10 — Volatility Skew Fade:> Compute the range skew RS = (H - M) / (M - L). When RS > 2.5 (extreme upside skew), the bar much further to the upside than the downside. This often precedes a mean reversion to the downside. Enter short when RS > 2.5 and the midpoint is above the 20- midpoint SMA. Enter long when RS < 0.4 and the midpoint is below the SMA. Stop: beyond the bar extreme on the skew side.

High-Low FAQs

Frequently asked about high-low bar charts.

Q: Can I trade profitably with high-low charts alone?
A: It is challenging because high-low charts provide no inherent direction. Most traders combine high-low charts with a overlay ( of midpoint, or a separate close chart) for complete analysis.
Q: What is the best indicator for high-low charts?
A: is the most compatible indicator. on the midpoint series also work well. Avoid indicators that require close unless you substitute the midpoint.
Q: How do I set stops on high-low charts?
A: Use -based stops exclusively. Place stops at entry ± 1.5× ATR(14). The high-low chart range provides the ATR input, which is more reliable than bar geometry for stop placement.
Q: Are high-low charts good for day trading?
A: Yes, for volatility-based strategies. Day traders use high-low charts to identify for breakout entries. However, they typically combine them with other for clarity.
Q: Can high-low charts detect trends?
A: Only through midpoint analysis or trend lines connecting successive . The raw high-low bar shows range only — direction must be inferred from the sequence of extremes.
Q: What timeframes work best?
A: High-low charts work well on all timeframes but are most popular on daily and 4-hour charts for volatility regime analysis. Intraday high-low charts require volume context for reliable signals.
Q: How do I combine high-low with other chart types?
A: Use high-low as a volatility below a chart (OHLC or line). The high-low panel shows volatility structure; the directional panel shows .

Range-Based Position Sizing Models

High-low bars provide the ideal input for position sizing because range directly measures the risk per bar. The following position sizing models use range to size positions inversely proportional to volatility.

> Model 1 — -Based Position Sizing:> Position Size = (Account Risk × Risk Per Trade) / ( × Contract Multiplier). For example, with a $100,000 account risking 1% per trade ($1,000), ATR of $2.50, and 100 share contracts: Position = $1,000 / ($2.50 × 100) = 4 contracts. This model ensures that dollar risk is constant regardless of volatility — during high volatility, position size decreases proportionally.

> Model 2 — Range Ratio Position :> Position Size = Base Size × (1 / RR). When RR > 2 (wide range), position size is halved. When RR < 0.5 (narrow range), position size is doubled in anticipation of expansion. This counter-cyclical approach buys low volatility and sells high volatility. The model assumes that narrow ranges precede expansion and wide ranges precede contraction.

> Model 3 — Volatility Trend Position Adjustment:> When the 14/21 signals a volatility trend change ( to contracting or vice versa), adjust position size accordingly. Expanding volatility regimes: reduce position size by 25%. Contracting volatility regimes: increase position size by 25%. This ensures that positions are largest when volatility is expected to increase (greatest opportunity) and smallest when volatility is declining (reduced opportunity).

> Model 4 — Kelly Criterion with :> Use the formula to determine optimal position size based on historical and average R:R. provides the "odds" dimension: a that wins 60% of the time with 2:1 R:R during high-volatility regimes should be sized differently than the same strategy during low-volatility regimes. Fractional Kelly (25% of Kelly) is recommended for volatility-based strategies.

High-Low Bar Educational Curriculum

A structured curriculum for developing high-low chart proficiency. This 8-week program progresses from basic range measurement to advanced volatility analysis.

> Week 1 — Range Basics:> Learn to read high-low bars. For each bar, identify the range (H-L). (14) manually for a 20-bar sequence. Understand the difference between raw range and true range. Practice: analyze 50 consecutive bars on a daily chart and identify all NR7 and WR bars.

> Week 2 — Volatility Patterns:> Study the expansion-contraction cycle. Identify 5 expansion phases and 5 contraction phases on historical charts. the and magnitude of each phase. Practice: for each phase, predict when it will end and the transition bar.

> Week 3 — Volume Integration:> Add volume to high-low charts. For each NR7 or WR bar, the volume level. Identify high-volume expansions (confirmation) and low-volume expansions (suspicious). Practice: classify 20 WR bars as confirmed or unconfirmed based on volume.

> Week 4 — -Based Systems:> Learn to use for position sizing and stop placement. Set up ATR bands on high-low charts. Practice: backtest an ATR-based mean reversion on 50 historical setups. , average R:R, and maximum drawdown.

> Week 5 — Range Clusters:> Identify range clusters (5+ bars with similar ranges). Learn to distinguish accumulation clusters ( ranges near support) from clusters (contracting ranges near resistance). Practice: find 10 range clusters and document the subsequent price action.

> Week 6 — Volatility:> Set up a three- high-low chart: weekly, daily, 4-hour. Practice identifying volatility alignment and divergence across timeframes. Practice: for each day, document the volatility regime across all three timeframes and predict the next day’s most likely behavior.

> Week 7-8 — Development:> Design a complete trading system based on high-low patterns. Include entry rules (range breakout or expansion), exit rules ( or target), position sizing (ATR-based), and risk management. Backtest on 2 years of . Refine parameters using walk-forward .

High-Low vs Other Volatility Tools

While the high-low chart is a powerful volatility visualization, it is not the only tool available. Understanding how it compares with dedicated volatility tools helps traders choose the approach.

High-Low vs Bollinger Bands
are an overlay on price, showing from a moving average. High-low charts show raw range directly. Bands noise but introduce lag. High-low bars are unfiltered and lag-free.
High-Low vs ATR Indicator
is a single-line indicator showing average range over n periods. High-low bars show every bar's individual range. ATR provides the smoothed view; high-low provides the raw . Best: use ATR as the reference, high-low bars for real- observation.
High-Low vs Implied Volatility
(from prices) measures expected volatility. High-low bars realized historical volatility. Both are useful: IV sets expectations; high-low bars show what actually happened.
High-Low vs VIX
VIX is the of the S&P 500 index. High-low charts show -specific realized volatility. VIX provides market-wide sentiment; high-low bars provide instrument-level reality.
High-Low vs Historical Volatility
Historical volatility (annualized of returns) is a statistical volatility . High-low bars use the range, which is more robust and requires fewer about return .
High-Low vs Volume Profile
shows volume at each price level. High-low bars show the extreme price levels. Volume Profile reveals WHERE volume accumulated; high-low bars show the full RANGE of price discovery.

High-Low Charting for Market Profile

High-low charts have a affinity with analysis, which also focuses on the range of price exploration rather than direction. The two approaches share the philosophical foundation that is the fundamental unit of market analysis.

> Value Area and Range:> identifies the Value Area (VA) — the price region where 70% of volume occurred. The high-low bar shows the full range for each . When the bar range extends significantly above the VA high, it indicates a failed breakout above . When the range extends below the VA low, it indicates a failed breakdown. The relationship between bar range and VA boundaries provides context for range interpretation.

> TPO Count and Range :> uses Time Price Opportunity (TPO) letters to show the time of price. A wide range with few TPOs (letters) indicates a quick, efficient move — low volume at the extremes. A wide range with many TPOs indicates a contested range — high volume at multiple price levels. High-low bars combined with TPO profiles distinguish efficient from contested range expansions.

> Initial Balance and :> The first hour of trading (Initial Balance in ) establishes the day’s initial range. When the high-low bar for the first hour is narrow, it suggests a low-volatility day ahead. When it is wide, it suggests a high-volatility day. Subsequent bars that expand beyond the Initial Balance range the bias for the .

Combining High-Low with Other Chart Types

High-low charts pair naturally with other for comprehensive analysis. The high-low provides volatility context; the other panel provides context.

High-Low + OHLC Bars
OHLC in main , high-low in lower panel. The high-low panel shows the pure range structure without open-close noise. The OHLC panel provides full for pattern recognition.
High-Low + Line Chart
(close or midpoint) overlaid on high-low bars. The line provides direction and the range provides volatility. This is the most popular combination for volatility-aware trend trading.
High-Low + Volume Profile
on the side of the high-low chart. show activity at each price level. The high-low range contextualizes the volume profile within the boundaries.
High-Low + Heikin-Ashi
High-low bars with candles overlaid at 50% . The HA candles show trend direction while the high-low bars show the . When HA falsely smooths a wide range, the high-low bar reveals the reality.
High-Low + ATR Bands
bands plotted on the high-low chart. The bands provide a volatility envelope that contextualizes each bar's range relative to recent volatility. Bars extending beyond the bands are significant.
High-Low + Market Profile TPO
TPO letters overlaid on the high-low . Each letter represents one time at a price level. The combination shows both range (high-low) and time (TPO).

High-Low Chart Patterns in Different Market Conditions

High-low patterns behave differently depending on the market environment. Adjusting interpretation to current conditions is essential for consistent performance.

> Bull market patterns:> In bull markets, range expansions tend to occur on up moves (the market breaks higher with range). Range compressions tend to occur during pullbacks or consolidation at the highs. WR bars are common during breakouts above prior resistance. RR values above 2 occur primarily on bullish breakouts. The midpoint trend is consistently upward.

> Bear market patterns:> In bear markets, range expansions occur on down moves. Range compressions occur during bounces or consolidation at the lows. WR bars are common during breakdowns below prior support. The midpoint trend is consistently downward. Range clusters at new lows indicate potential exhaustion — the market is losing volatility despite making new lows.

> Sideways market patterns:> Ranges alternate between and expansion without establishing a midpoint trend. Compression periods last 3-5 bars; expansion periods last 1-2 bars. WR bars have no sustained follow-through. The best approach in sideways markets is to fade both compression and expansion extremes — buy compressions near the low end of the range, sell expansions near the high end.

> High volatility regimes:> is elevated and RR values rarely drop below 0.8 ( is rarely extreme). Most bars are wide. Volatility (RR > 3) are common and should be traded as continuation signals, not climaxes. The high-volatility regime requires wider ATR-based stops and smaller position sizes.

> Low volatility regimes:> is low and RR values frequently drop below 0.5. is the normal state. Expansions are rare but explosive when they occur. The low-volatility regime rewards patience — traders who wait for genuine expansion rather than forcing entries in compression. Position sizes should be larger (volatility is low, so risk per bar is low).

Internationalization & Locale Support for High-Low

High-low chart conventions vary across global markets. Quatick Charts supports locale-specific configurations that adapt high-low display to regional standards.

> Japanese markets:> High-low bars use different endpoint markers: triangles for the high, inverted triangles for the low. The bar color uses red for bars where the midpoint is above the prior close. Green for below. Weekly bars to the Japanese trading week.

> European markets:> Standard endpoint markers (circles or ticks). Color modes follow the European green-up/red-down convention. Price uses European number formatting. Multiple support for pan-European instruments.

> Chinese markets:> Use red for bars where midpoint is above prior close, green for below (inverse of Western convention). Endpoint markers use diamonds for additional . The lunch break (11:30-13:00 CST) can create distinctive range patterns.

Error States & Edge Cases for High-Low

High-low charts have unique edge cases arising from the format.

H = L (zero-range bar)
R = 0. Bar renders as a at the H/L . TR still calculated from gap to prior close. No range-based calculable.
H &lt; L (inverted data)
error. Engine swaps values and marks with indicator. Should not occur with validated data feeds.
Missing H or L value
Bar cannot render. Engine skips the bar and connects the midpoint line across the gap. A gap indicator is shown on the .
Extreme range outlier
R &gt; 10× (20). Engine auto-scales to include the bar but compresses the remaining chart. A scale-break indicator is displayed.
Empty interval (zero ticks)
No bar rendered. Midpoint (if enabled) skips the interval. Gap indicator shown on .
Duplicate timestamps
Merged into single bar with union H-L. Merge indicator displayed. Volume is summed.
H = L = C_prev (identical bar)
Bar with no range and no gap. Rendered as a dot at the price level. Midpoint is unchanged from prior bar.
Negative prices
Supported. Range calculation unaffected. Coloring modes use absolute comparison.
Inverted trend (lower highs, higher lows)
Valid pattern known as "wedge" or "" contraction. Will show as range in high-low format.

Historical Context & Further Notes

The high-low chart occupies a unique position in the history of technical analysis. It is simultaneously the oldest form of price visualization and the least commonly used as a standalone chart type. This paradox reveals something about the development of technical analysis as a discipline.

Before computers, traders needed to record prices by . Writing down the open, high, low, and close for each was labor-intensive. Many traders would only record the high and low — sometimes adding the close as a single additional . The simplicity of the high-low chart was not a design choice but a practical necessity. The high-low chart is the original form from which all other bar evolved.

As computing power increased and charting software became widespread, the overhead of recording and displaying four became negligible. Traders naturally migrated to richer visualizations — , candlesticks, — that provide more information per bar. The high-low chart became a niche tool, used primarily by volatility specialists and institutional traders focused on position sizing.

However, the high-low chart has experienced a resurgence in the algorithmic trading era. Quantitative strategies that use volatility-based position sizing and risk management naturally gravitate toward the high-low format. The simplicity that was once a limitation is now an advantage — there are fewer artifacts, less noise, and no spurious patterns generated by open-close conventions. The high-low chart, the oldest bar variant, has found its home in the most modern trading environment.

High-Low Bar Psychological Profile

The type of trader who gravitates toward high-low charts has a distinct psychological profile. Understanding this profile helps traders assess whether the high-low chart is suitable for their personality and goals.

> The volatility-focused mindset:> High-low traders are comfortable with uncertainty about direction. They do not need to know whether the market went up or down during a — they only need to know how much it moved. This requires a tolerance for ambiguity that many traders lack. The high-low trader is typically analytical, quantitative, and process-oriented rather than outcome-oriented.

> Patience as a competitive advantage:> High-low trading rewards patience more than any other bar type. The best setups occur after periods that may last several days or weeks. The high-low trader must be willing to wait through long periods of inactivity. This patience is a genuine competitive advantage — most traders cannot sustain attention during compression periods and move on to other instruments or timeframes.

> Risk management focus:> High-low traders tend to be more focused on risk management than profit maximization. The central role of in high-low analysis reinforces a risk-first mindset. Position sizing, stop placement, and volatility budgeting are components of high-low trading rather than afterthoughts. This risk-conscious approach tends to produce more consistent returns with lower drawdowns.

> Integration with systematic trading:> The quantitative nature of high-low analysis makes it a fit for systematic and algorithmic traders. Rule-based range strategies are easier to code and backtest than pattern-based strategies that rely on recognition. Many high-low traders eventually transition to fully automated systems that execute range-based strategies without manual intervention.

High-Low Bar Software Integration Guide

Integrating high-low bar into external applications requires understanding the data schema, API endpoints, and processing considerations.

REST API endpoint
GET /api/v1/bars/highlow?symbol=AAPL&interval=1d&from=2024-01-01&to=2024-12-31. Returns JSON array of {timestamp, high, low, volume} objects.
WebSocket stream
Subscribe to ws://stream.quatick.com/highlow/AAPL/1m. Receives JSON messages on bar completion: {type: "bar_complete", : {timestamp, high, low, volume}}.
Data schema
HighLowBar: { timestamp: number, high: number, low: number, volume?: number }. High must be >= low. Volume is optional but recommended.
Compression format
High-low compresses at ~2:1 vs OHLC. For datasets, use delta encoding: store only the difference in H and L from the previous bar, plus a full snapshot every 100 bars.
Validation rules
High must be >= Low. Both must be positive for equities (negative allowed for some instruments). Timestamps must be strictly increasing. Volume must be >= 0.
Error handling
For invalid bars (H < L), the engine swaps values automatically. For missing bars, the engine inserts null entries with a gap flag. For duplicate timestamps, the engine merges using union H-L.

High-Low Bar Performance Benchmarks

Quantitative performance benchmarks for high-low chart rendering and processing in Quatick Charts.

Canvas2D rendering (1,000 bars)
0.2ms render time. 5000+ fps theoretical max. Memory: ~24KB for bar .
Canvas2D rendering (10,000 bars)
1.8ms render time. 550+ fps. Memory: ~240KB. Full quality settings maintained.
WebGL rendering (100,000 bars)
2.5ms render time (GPU). 400+ fps. Memory: ~2.4MB for vertex . All basic features available.
WebGL rendering (1,000,000 bars)
8ms render time (GPU). 120+ fps. Memory: ~24MB. Downsampling recommended for real-time viewing.
Data loading (1M bars, compressed)
~45ms parse time. ~8MB transfer size (Parquet). ~3MB compressed over network.
Real-time tick update
0.01ms per (single bar update). Maintains 60fps with unlimited tick frequency. No frame drops.
Memory per bar
24 bytes: 2 × float64 (H, L) + 1 × int64 (timestamp) + 1 × int32 (volume). 40% less than OHLC.

High-Low Bar Glossary of Terms

A comprehensive glossary of high-low bar terminology used throughout the Quatick Charts documentation.

ATR (Average True Range)
of over n periods. Standard: 14 periods. Measures average volatility.
Compression
of narrowing ranges. Indicates consolidation. Often precedes expansion.
Expansion
of widening ranges. Indicates volatility breakout. Often follows .
Range (R)
H - L. The total price excursion of the . The fundamental high-low metric.
True Range (TR)
Gap-adjusted range. Max(H-L, |H-C_prev|, |L-C_prev|). Always ≥ R.
Range Ratio (RR)
R / . Normalized range. RR > 2 = expansion. RR < 0.5 = .
Midpoint (M)
(H+L)/2. Estimated center of trading. Used as a proxy.
Gap Size (GS)
TR - R. Portion of TR from gapping. GS / R > 0.5 = gap-dominated bar.
NR4/NR7
Narrowest range of the last 4 or 7 bars. Volatility indicator.
WR (Wide Range)
Bar with range > 1.5× . Volatility expansion indicator.
Climax Bar
WR with range > 2.5× at trend extreme. Often marks trend exhaustion.
Range Cluster
5+ bars with ranges within 20% of each other. Stable volatility regime.
Stepwise Expansion
4+ consecutive bars with progressively increasing ranges. Accelerating volatility.
Volatility Spike
Single bar with RR > 2.5. Extreme short-term volatility event.
Range Crush
Single bar with RR < 0.25. Extreme short-term .
Midpoint Divergence
Midpoint making HH/LL but range . Trend weakening signal.

High-Low Bar Selection Criteria for Trading

Selecting the high-low bars for trading signals is essential for consistent performance. The following out low-quality bars and focus on the most statistically significant volatility events. These filters should be applied systematically before acting on any high-low bar signal.

Minimum ATR filter
Skip instruments where (14) is less than 0.1% of price. These instruments have insufficient volatility for range-based trading. The minimum ATR ensures that range differences are economically meaningful.
Minimum volume filter
Skip bars where volume is less than 50% of the 20-bar average. Low- produce unreliable ranges that may be influenced by spread widening rather than genuine price discovery.
RR threshold filter
Only trade RR > 1.5 for expansion signals (above-average volatility). Only trade RR < 0.5 for signals (below-average volatility). Mid-range RR values (0.5-1.5) are not actionable without additional context.
Trend alignment filter
Require that the 20- midpoint trend aligns with the expected direction on expansion signals. Counter-trend expansions have a approximately 20% lower than trend-aligned expansions.
Time-of-day filter
Exclude the first 15 minutes and last 5 minutes of the trading session. Opening and closing periods have anomalous range characteristics driven by order imbalance rather than sustained volatility.
Consecutive bar filter
For setups, require at least 3 consecutive bars below the before entering. Single-bar compressions are often random and do not reliably precede expansions.
Gap filter
For instruments with frequent gaps (, equities), use TR-based rather than R-based. Raw range underestimates volatility when gaps are present.
Market regime filter
Only trade setups in low-volatility regimes ( declining). Only trade expansion setups in high-volatility regimes (ATR stable or rising). Counter-regime signals have poor risk-reward.

High-Low Bar Visual Customization Examples

The following demonstrate how to configure high-low bar visualization for different analytical purposes. Each configuration emphasizes different aspects of the range .

> Volatility Analyst Configuration:> Line : 5px. Endpoint markers: none. Color : single ( blue). Range fill: enabled, blue gradient at 10% . Volatility coloring: enabled, intensity 0.7. Gap indication: none. This configuration emphasizes the range as a column — wider bars are more visually prominent, creating an immediate volatility map.

> Trader Configuration:> Line : 3px. Endpoint markers: circles, 4px. Color : midpoint-based (green for up, red for down). Midpoint dash: enabled. Range fill: disabled. This configuration adds context through midpoint-based coloring while preserving the clean high-low format. The midpoint dash provides a quick reference for trend direction.

> Professional Monitor Configuration:> Line : 2px. Endpoint markers: ticks, 3px. Color : volatility-based with range-intensity mapping. Range fill: disabled. Gap indication: connectors, dashed. NR7 markers: enabled. This configuration is designed for high-density multi-chart displays where screen space is limited. The thin bars and markers maximize the number of visible bars while preserving essential information.

> Configuration:> Line : 8px. Endpoint markers: diamonds, 6px. Color : midpoint-based. Range fill: enabled, vibrant gradient at 15% . Volatility coloring: enabled, intensity 1.0. This configuration prioritizes impact over information density. The thick bars and bright colors make the volatility structure immediately apparent to an audience, ideal for presentations and training materials.

High-Low Bar Weekly & Monthly Analysis

Higher timeframe high-low charts reveal the macro volatility structure that contextualizes all lower timeframe trading. Understanding the multi-week and multi-month volatility cycle is essential for strategic positioning.

> Weekly volatility cycle:> The weekly high-low chart typically shows 2-4 distinct volatility phases per year. Each phase lasts 4-8 weeks. Phase 1: (narrowing ranges). Phase 2: expansion (widening ranges). Phase 3: climax (very wide ranges). Phase 4: contraction (narrowing back toward ). Identifying the current phase is a leading indicator for the next 4-8 weeks of price behavior.

> Monthly range analysis:> Monthly high-low bars are so wide (20-30 trading days) that they represent macro-level volatility. Monthly range crushes (RR < 0.5 on a monthly bar) are very rare but extremely significant — they indicate a market-wide consolidation that almost always precedes a major move. Monthly volatility (RR> 2.5) often coincide with market peaks or troughs and signal the start of a new volatility regime.

> Quarterly volatility trends:> Plotting a 3-month of the weekly reveals the multi-year volatility trend. quarterly ATR indicates increasing macro uncertainty. Contracting quarterly ATR indicates decreasing macro uncertainty. This long-term volatility trend analysis is particularly useful for and portfolio volatility targeting.

High-Low Bar Algorithmic Trading Considerations

Implementing high-low bar strategies in algorithmic trading systems requires careful attention to handling, signal generation, and execution timing.

Bar formation timing
High-low bars are finalized at boundaries. For bars, the bar is complete at the end of the time interval. For -based bars, the bar is complete after the specified number of ticks. Signal generation should immediately on bar completion.
Look-ahead bias prevention
Never use the high or low of the current bar in signal generation until the bar is complete. A common error is using the current bar's partial range to estimate final range — this introduces .
Latency considerations
High-low bar strategies can be sensitive to feed . A delayed high or low can shift the range calculation. Use timestamped data sources and account for feed latency in signal timing.
Order types for range strategies
breakout strategies use stop orders (buy stop above the high, sell stop below the low). Expansion strategies use market or limit orders at the open of the next bar after the expansion is confirmed.
Slippage modeling
Range breakouts often occur during high-volatility periods with significant slippage. Model slippage as 0.5× spread for normal bars and 1-2× spread for WR bars. Backtest with pessimistic slippage .
Multi-symbol scanning
For scanning multiple symbols for range , normalize by to across instruments. Sort by RR to find the most compressed instruments. Set up automated alerts when RR drops below 0.5.

References & Further Reading

  • 1.New Concepts in Technical Trading Systems — J. Welles Wilder
  • 2.Technical Analysis of Financial Markets — John J. Murphy
  • 3.Volatility-Based Trading — Russell Rhoads
  • 4.Trading Volatility: Trading Volatility, Correlation, Term Structure and Skew — Colin Bennett
  • 5.The Wyckoff Methodology in Depth — Rubén Villahermosa
  • 6.Average True Range (ATR) — StockCharts — StockCharts.com
  • 7.Options, Futures, and Other Derivatives — John C. Hull
  • 8.Forecasting Volatility in the Financial Markets — John Knight & Stephen Satchell

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
High-low on a steady uptrend. Run the market live to watch the forming bar update tick by tick.
Loading the Quatick chart engine…
high-low · 0 bars · last — · drag to pan, wheel to zoom

How the engine draws High-low

High-low: 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 High-low 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: 'high-low',
  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

  • Price Range

    Charts / Drawing Tools / Measurement

    A vertical bar spanning from low to high that measures the price distance between two levels. Useful for visualizing volatility, ATR-like ranges, and price…

  • 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…

  • HLC Bar

    Charts / Chart Types / 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…

  • 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…

  • Range Bars

    Charts / Chart Types / Special Charts

    A price-based chart type where each bar represents a fixed price range. Range Bars normalize price movement and filter time-based noise while preserving…

  • Renko

    Charts / Chart Types / Special Charts

    A time-independent fixed-size brick construction that filters market noise by plotting a new brick only when price moves by a specified amount — revealing…

  • ATR Channel

    Charts / Drawing Tools / Channels

    A least-squares trend line with boundaries a multiple of average true range away on each side. A volatility channel over a range you select — it answers how…

  • Date and Price Range

    Charts / Drawing Tools / Measurement

    A rectangular region marking both a price range and a time range simultaneously. Combines the Price Range and Date Range tools into a single comprehensive…

  • Price Span

    Charts / Drawing Tools / Lines

    A vertical measuring stick anchored at a single moment in time. The price span measures exact vertical price distance, candle wick rejection, opening gaps,…

Browse all knowledge base articles →