Garman Klass Volatility

# Garman Klass Volatility - An estimator using the whole OHLC

*Category: Volatility | Difficulty: advanced | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1*

## Short description

> A volatility estimator using open, high, low and close instead of closes only. Its ratio to the classic estimate separates intra-bar movement from close-to-close movement.

### Overview

The standard deviation of closes throws away three quarters of the available data: of every bar it uses only the close and ignores open, high and low, which were nonetheless observed. The estimator proposed by Garman and Klass uses all four and, for the same window, produces a volatility estimate with far lower error. In practice twenty bars of the OHLC estimator carry roughly the same information as one hundred bars of the close based one. The indicator draws both estimates, and their ratio is informative in itself: when the OHLC estimate is clearly higher, the market moves a lot inside bars and then comes back, typical of agitated sideways phases; when it is lower, movement concentrates between one close and the next, the signature of a trending market or one with frequent gaps.

### How the calculation works

1. For every bar the logarithm of the high to low ratio and of the close to open ratio are computed.
2. The variance contribution is half the square of the first, minus a constant equal to twice the logarithm of two minus one, times the square of the second.
3. That constant is computed once at initialisation rather than on every bar.
4. The estimator can produce negative contributions on individual anomalous bars: these are zeroed so the sum cannot turn negative.
5. The average of the contributions over the window, square rooted, is the volatility estimate as a percentage per bar.
6. In parallel the standard deviation of close to close returns is computed over the same window, for comparison.

### How to use it

- Use the OHLC estimate in place of standard deviation wherever a volatility measure is needed: it is more precise for the same data.
- The gold line flags an agitated market: much movement inside bars that does not translate into progress between closes.
- The blue line flags a market where movement happens between closes: a clean trend or frequent gaps.
- The ratio between the two estimates is an excellent filter for scalpers, who live off intra-bar movement.
- On short windows the greater efficiency of the OHLC estimator is more evident: that is where the advantage shows.

### Who it is for and on which timeframes

It targets system builders who want a more precise volatility measure to base stops, sizing and filters on. Reading the ratio between the two estimates also interests discretionary traders, because it separates two situations that look alike on the chart. It works from M15 to D1. It should be avoided on instruments with unreliable highs and lows, such as some index CFDs where the wicks are generated by the broker feed rather than by real trades.

### Practical example of reading a signal

On DAX40 M30 the OHLC estimate sits steadily forty per cent above the close based one and the line is gold. The chart shows candles with very long wicks and small bodies: price covers a lot of ground within each half hour but always closes near where it opened. It is the ideal context for range traders and a terrible one for breakout buyers, because every extension fades. The next day the ratio falls below eighty per cent and the line turns blue: candles now have full bodies and short wicks. The same instrument now demands the opposite approach, and all that changed is how movement distributes inside the bars.

## Input parameters

| Parameter | Default | Description |
|---|---|---|
| `InpPeriod` | 20 | Estimation window in bars. Thanks to the estimator higher efficiency, short windows stay usable where close based ones would be too noisy. |
| `InpChopRatio` | 1.30 | Ratio between the two estimates beyond which the market is classified as agitated, with much intra-bar movement. |
| `InpTrendRatio` | 0.80 | Ratio below which movement is classified as concentrated between closes, typical of clean trends or gaps. |

## Advantages / strengths

- It uses four prices per bar instead of one: for the same window the estimate has far lower error.
- It allows short windows without the estimate becoming unusable through noise.
- The ratio with the classic estimate adds qualitative information about the type of movement, not just its size.
- No repaint and explicit handling of the negative contributions the estimator can produce.

## Limitations and warnings

- It implicitly assumes no gaps between bars: with frequent gaps it underestimates real volatility.
- It depends on the quality of highs and lows provided by the broker, which on some CFDs do not correspond to real trades.
- The formula is not intuitive and those unfamiliar with it struggle to understand why the two values differ.
- The two ratio classification thresholds are empirical values, to be verified on your own instrument.

**No repaint:** values printed on a closed bar are never modified afterwards.

**Disclaimer.** This product is a technical analysis tool, not an automated trading system, and it offers no profit guarantee whatsoever. Financial markets carry the risk of total loss of the invested capital. Past performance is not indicative of future results. Every signal must be confirmed with your own analysis, a money management plan and prior testing on a demo account. The author is not responsible for trading decisions taken on the basis of this indicator.

## Suggested tags / keywords for MQL5

`volatility`, `garman klass`, `ohlc`, `estimator`, `efficiency`, `range`, `no repaint`, `quantitative`
Yazarın diğer ürünleri
# Adaptive Slope Ribbon - ATR-normalised regression slope ribbon *Category: Trend | Difficulty: intermediate | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > Five linear regression slopes over growing horizons, normalised in ATR units and comparable across instruments. The histogram shows the mean slope coloured by the level of agreement between time scales. ## Fu
# Fractal Trend Channel - Structural channel from confirmed swings *Category: Trend | Difficulty: beginner | Window: chart window (overlaid on price) | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > Step channel built from the last confirmed fractal swings, with a midline coloured by market structure: higher highs and lows, lower highs and lows, or mixed structure. ### Overview Reading structure through
# Volatility Adaptive MA - Variable speed moving average *Category: Trend | Difficulty: intermediate | Window: chart window (overlaid on price) | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M5, M15, M30, H1, H4* ## Short description > A moving average whose smoothing factor is driven by the ratio between short and long term volatility: it accelerates during breakouts and slows down in compressed phases, cutting false crossovers. ### Overview Eve
# Trend Persistence Index - Persistence versus randomness *Category: Trend | Difficulty: advanced | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M30, H1, H4, D1* ## Short description > Compares the direction changes actually observed with those expected from a purely random series. Above zero the market persists in one direction, below zero it keeps flipping. ### Overview In a random walk the sign of the
# Kalman Trend Filter - Level and velocity Kalman filter *Category: Trend | Difficulty: advanced | Window: chart window (overlaid on price) | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > A two state Kalman filter that simultaneously estimates price level and velocity. The gain self-adjusts: it trusts the model when data are consistent and re-adapts immediately to shocks. ### Overview The Kalman filter
# Multi Scale Trend Agreement - Consensus across eight horizons *Category: Trend | Difficulty: beginner | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M5, M15, M30, H1, H4, D1* ## Short description > Checks price position against its own average on eight geometrically spaced scales and condenses the result into a single score from -100 to +100. ### Overview A trend worth the name is recognised from whatev
# Directional Efficiency - Net path versus gross path *Category: Trend | Difficulty: intermediate | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > Signed ratio between the net distance travelled by price and the gross path actually covered. It separates straight trends from disorderly advances that burn capital. ### Overview Two markets can rise by the same amoun
# Trend Age Counter - Regime age versus typical duration *Category: Trend | Difficulty: intermediate | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M30, H1, H4, D1* ## Short description > Counts how many bars the current regime has lasted and compares it with the average duration of all past regimes on the same instrument. It measures trend maturity, not strength. ### Overview Every trend indicator answer
# Regression Confidence Baseline - Bands on residual error *Category: Trend | Difficulty: intermediate | Window: chart window (overlaid on price) | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > Linear regression baseline with bands built on the residual standard error instead of the price standard deviation. Bands widen when the move loses order, not when price runs. ### Overview Classic volatility band
# Trend Exhaustion Meter - Composite exhaustion score *Category: Trend | Difficulty: advanced | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M30, H1, H4, D1* ## Short description > A 0 to 100 score combining stretch from the mean, directional saturation and momentum fade. It measures the continuation risk of a move, not its reversal. ### Overview No single symptom says a trend is about to end, but when se
# Normalized Momentum Z - Momentum in standard scores *Category: Momentum | Difficulty: intermediate | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > Standardises momentum against its own recent historical distribution and returns a z score. A value of +2 marks a thrust stronger than roughly 97 per cent of the instrument recent moves. ### Overview Raw momentum ha
# Momentum Curvature - Acceleration versus velocity *Category: Momentum | Difficulty: intermediate | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > Measures price acceleration, the second derivative of the smoothed series, and compares it with velocity. It detects loss of thrust before direction changes. ### Overview Anyone who drives knows the brake pedal acts o
# Rate Of Change Spectrum - Which horizon is driving *Category: Momentum | Difficulty: advanced | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M30, H1, H4, D1* ## Short description > Standardises the rate of change over six horizons and identifies which one is driving the move. It shows the dominant scale score and its rank. ### Overview Knowing the market is rising tells you little. Knowing whether it ri
# Impulse Strength Gauge - Movement weighted by volume *Category: Momentum | Difficulty: intermediate | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M5, M15, M30, H1, H4* ## Short description > Weights every bar by combining body size in ATR units with volume relative to its average, then accumulates the contributions. It separates wide but empty bars from genuinely supported impulses. ### Overview A wide
# Dual Horizon Momentum Delta - Short versus long, time corrected *Category: Momentum | Difficulty: advanced | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > Compares momentum on two horizons after normalising them by the square root of time, a correction without which the long horizon would always look larger by pure construction. ### Overview Directly comparing
# Impulse Retrace Ratio - Impulse size versus retracement size *Category: Momentum | Difficulty: intermediate | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > Groups consecutive same sign changes into runs and compares the average size of bullish runs with that of bearish ones. It measures whether impulses are larger, not more numerous. ### Overview A healthy upt
# Momentum Thrust Counter - Counting thrusts beyond threshold *Category: Momentum | Difficulty: beginner | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > Counts bars moving beyond an ATR multiple and reports the net balance. The total line separates calm from battle, both of which show a balance near zero. ### Overview Most bars on a chart carry no information: t
# Momentum Divergence Scanner - Divergences without repaint *Category: Momentum | Difficulty: intermediate | Window: chart window (overlaid on price) | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > Flags price to momentum divergences using confirmed swings only. The arrow appears on confirmation and is never withdrawn, unlike almost every other divergence indicator. ### Overview Almost every divergence
# Elastic Momentum Band - Momentum driven asymmetric channel *Category: Momentum | Difficulty: intermediate | Window: chart window (overlaid on price) | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4* ## Short description > A channel deforming with momentum: the band favouring the move draws closer to the average, the opposite one moves away. It makes breaks in direction easier and counter breaks more selective. ### Overview A symm
# Momentum Entropy Filter - Order versus randomness in thrusts *Category: Momentum | Difficulty: advanced | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M30, H1, H4, D1* ## Short description > Computes the Shannon entropy of the recent momentum distribution and converts it into an order score from 0 to 100. It separates markets with recurring structure from those without regularity. ### Overview Shannon e
# Realized Volatility Cone - Historical volatility percentiles *Category: Volatility | Difficulty: intermediate | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M30, H1, H4, D1* ## Short description > Draws realized volatility together with the percentiles of its own historical distribution. It tells whether the current level is high or low for that specific instrument. ### Overview Knowing that realized vo
# Volatility Forecast EWMA - Forecasting the next bar *Category: Volatility | Difficulty: advanced | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > Estimates next bar volatility with an EWMA model on variance, the same scheme used in portfolio risk management, alongside the volatility actually observed. ### Overview Every volatility indicator looks backwards and
# Volatility Regime Classifier - Classification with hysteresis *Category: Volatility | Difficulty: intermediate | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > Classifies volatility into four regimes using a hysteresis state machine, eliminating the constant flipping typical of fixed thresholds. The active threshold is drawn. ### Overview Classifying volatility
# Overnight Gap Risk - The risk stops cannot cover *Category: Volatility | Difficulty: intermediate | Window: separate window below the chart | Markets: Stocks | Suggested timeframes: H1, H4, D1* ## Short description > Splits each bar change into gap and intra-bar movement, and reports the share of risk attributable to gaps, the part no stop can protect against. ### Overview The risk of a position held past the close is not the same as that of the same position closed intraday, and the dif
# Volatility Breakout Projection - Levels projected from the open *Category: Volatility | Difficulty: beginner | Window: chart window (overlaid on price) | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M5, M15, M30, H1* ## Short description > Anchors a reference to each session open and projects two pairs of levels computed as fractions of the average daily range. Levels stay fixed for the whole session. ### Overview If an instrument covers on ave
# Compression Expansion Detector - Squeeze and release *Category: Volatility | Difficulty: intermediate | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M15, M30, H1, H4, D1* ## Short description > Measures how far short term volatility has narrowed relative to the reference, counts how many bars the compression has lasted and highlights the bars following the release. ### Overview Volatility is not stable:
# Intraday Volatility Seasonality - Hourly volatility profile *Category: Volatility | Difficulty: intermediate | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: M5, M15, M30, H1* ## Short description > Builds the instrument average hourly volatility profile and compares it with the actual range of the current bar. It separates normally quiet hours from genuine anomalies. ### Overview Intraday volatility is n
# Downside Upside Vol Ratio - Risk asymmetry *Category: Volatility | Difficulty: intermediate | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: H1, H4, D1* ## Short description > Computes two separate semi-deviations, one on negative returns only and one on positive ones, and reports their proportion. It measures an asymmetry standard deviation conceals. ### Overview Standard deviation treats an upward and a
# Volatility Shock Decay - Half-life of post-shock recovery *Category: Volatility | Difficulty: advanced | Window: separate window below the chart | Markets: Universal (Forex, indices, commodities, crypto, stocks) | Suggested timeframes: H1, H4, D1* ## Short description > Estimates the persistence coefficient of volatility and derives its half-life, how many bars a deviation from normal needs to halve. It also shows the size of the current shock. ### Overview When volatility explodes, the
# Volume Price Efficiency - Lo spessore del mercato *Categoria: Volume | Difficolta: intermedio | Finestra: finestra separata sotto il grafico | Mercati: Universale (Forex, indici, materie prime, crypto, azioni) | Timeframe consigliati: M5, M15, M30, H1, H4* ## Descrizione breve > Misura quanto prezzo viene spostato da una unita di volume. Valori alti indicano un mercato sottile, in cui pochi ordini muovono molto; valori bassi indicano assorbimento. ### Panoramica Quanto prezzo serve per a
Filtrele:
Değerlendirme yok
Değerlendirmeye yanıt