Moving Average Disparity Heatmaps

289
Moving Average Disparity Heatmaps (MADH)

Short summaries in Arabic, Spanish and Turkish follow the English description.

🔍 Overview

MADH is a multi-ticker indicator that compares how far price is from its moving averages, how far the moving averages are from each other, and how quickly those spreads are narrowing or widening. Each reading is ranked against the symbol's own history, so conditions can be compared across stocks, ETFs, currencies, commodities and crypto. Results are displayed as heatmap tables, with each cell coloured by its rank. The idea extends the Disparity Index, a Japanese technical tool popularized in the West by Steve Nison. MADH is an analytical tool; it does not generate buy or sell signals.

💡 What Makes MADH Valuable

1. Faster cross-sectional scanning

Compare up to 15 symbols in one view instead of repeatedly switching between charts. This helps with watchlist monitoring, sector comparisons and identifying instruments behaving differently from their peers.

2. Three complementary views of market structure

MADH combines price-to-MA distance (how far price has moved from its averages), MA-to-MA spread (how separated the averages are), and convergence speed (whether that separation is increasing or decreasing). Together, these provide a more complete picture than any one measure alone.

3. Changes in structure, not just the current state

A wide MA spread shows that the averages are separated; a narrowing spread shows that the separation is decreasing. Convergence speed adds a dynamic dimension to the analysis.

4. Better comparability through historical percentiles

Comparing raw percentages across assets with different volatilities can be misleading. Ranking readings against each symbol's own history helps reveal how unusual a condition is for that instrument.

📊 The Three Tables

📏 1. Price-to-MA Distance

- Percentage distance of price from each moving average, with its historical percentile.
- Avg: Price distance from the geometric mean of the selected moving averages.

A positive distance means price is above an average; a negative distance means it is below. The percentage shows the size and direction of the displacement, while the historical percentile shows the reading's position in the symbol's own history. A high percentile indicates a relatively high signed distance; a low percentile indicates a relatively low signed distance. A large absolute distance may indicate stretched conditions, while a small absolute distance indicates that price is close to its moving averages.

Because the percentile ranks the signed value, it is not a measure of how far price is from the average. For example, price 2% below an average can still rank at the 80th percentile if, over the percentile lookback, it has usually been even further below that average.

↔️ 2. MA-to-MA Spread

- Spread between each selected moving-average pair, with the faster average listed first, and its percentile. A positive spread means the faster average is above the slower one.
- Avg: A composite percentile summarizing the selected pairs' normalized spreads, accompanied by the number of pairs in which the faster average is above the slower one (e.g. ▲ 3/4).

An unusually wide spread indicates substantial separation between moving averages and may reflect an extended trend structure. A narrow spread indicates that the averages are close together, which may occur during consolidation, a pullback or a potential trend transition.

⏱️ 3. Convergence Speed of Averages

- →← converging, ←→ diverging, = stable, with a percentile of convergence speed (higher = narrowing faster than usual for that pair).
- Avg: Historical percentile of the combined, normalized convergence measure. Higher values indicate faster overall convergence relative to the composite's history. Pairs marked × are excluded.
- Price action: Classifies the prevailing price movement as Rise or Decline (each faster, slower or stable), Pullback, Rebound, Sideways or Uncertain. The trend comes from moving-average alignment (uncertain when the pairs are split evenly), the direction from the slope of the fastest average in the pairs (sideways when it is flat), and faster or slower from whether the pairs are widening or narrowing overall. It is descriptive, not a trading signal.

How the Price action labels are assigned:

- Rise: most pairs have the faster average above the slower one, and the fastest average is rising. Shown as Rise faster when the pairs are widening overall, Rise slower when they are narrowing, and Rise stable when neither.
- Decline: most pairs have the faster average below the slower one, and the fastest average is falling. Shown as Decline faster, Decline slower or Decline stable on the same basis.
- Pullback: the averages are aligned upward, but the fastest average is falling.
- Rebound: the averages are aligned downward, but the fastest average is rising.
- Sideways: the fastest average is flat. This label takes priority over Rise, Decline, Pullback and Rebound.
- Uncertain: the pairs are split evenly between upward and downward alignment. This label takes priority over all others.

In Tables 2 and 3, × marks pairs whose averages crossed within the number of bars set in the "Mark crossovers within (number of bars)" setting. In Table 3, these pairs are excluded from Avg because a recent crossover can change the interpretation of their convergence rate.

Selecting several averages and pairs lets you compare short-term and longer-term structure: shorter pairs reveal changes in near-term trend structure, while longer pairs provide context for broader trends.

🧮 How It Is Calculated (advanced)

This section is optional reading for users interested in the method; the tables can be used without it.

- Distances and spreads are calculated in logarithms and shown as simple percentages.
- A percentile is the share of the previous N bars (the percentile lookback) at or below the current value.
- Before pairs are combined in Avg, each is scaled by its root mean square over the percentile lookback, so every pair carries equal weight. In Table 3, each scaled value is also capped at ±2, so one extreme pair cannot outweigh the others.
- The Table 3 rate measures the average change in the gap between each pair's averages over the number of bars set in "Convergence bars"; converging, diverging and stable are judged against that pair's typical rate.
- Values come from each symbol's last closed bar on the selected timeframe, so the table updates when a bar closes and does not repaint.

🎨 Understanding the Heatmap Colours

Colour shading turns a grid of numbers into patterns that can be read quickly, making unusual conditions easy to spot and compare across assets, even when their prices and volatility differ. It also helps reveal conditions shared by several assets or confined to a single asset or moving-average pair, without having to read and compare every value individually.

- Tables 1–2: When colouring by percentage, green represents positive values and red represents negative values. When colouring by percentile, green represents high percentiles and red represents low percentiles. Darker shading indicates a more extreme reading within the selected colouring scheme. Table 2's Avg always uses percentile colouring. In percentile mode, colour shows historical rank, not sign, so a positive distance with a low percentile appears red.
- Table 3: Always coloured by percentile; blue for faster convergence, amber for faster divergence. Price action uses green ▲ and red ▼ text; ◆ (Sideways or Uncertain) uses neutral text.

⚙️ Settings

Up to 15 symbols, up to five moving averages of one type (EMA, SMA, WMA, RMA or HMA) and up to four pairs chosen from those averages. The main settings are "Timeframe", "Price source", "Percentile lookback period", "Convergence bars", "Mark crossovers within", "Stability threshold", "Colour by", "Sort by" and "Full colour at ± %". The tables can be displayed in English, Arabic, Spanish or Turkish.

The "Full colour at ± %" setting applies when colouring by Percentage in Tables 1–2: it sets the percentage distance or spread at which a cell reaches full colour intensity. Lower values make small moves look stronger; higher values keep the shading paler.

The "Stability threshold" setting determines when a pair's spread change is small enough to be classified as stable (=), rather than converging or diverging. A change smaller than the threshold multiplied by the pair's typical rate is classed as stable, so the same setting adapts to different pairs and markets. The same setting also affects the Sideways classification of the fastest average and the assessment of overall convergence or divergence.

In practice: raising the threshold classifies more readings as stable or sideways; lowering it makes the tables more sensitive to small changes.

The default threshold of 0.25 was compared with 0.15 and 0.35 on 10 large-cap stocks across daily, hourly and 30-minute charts from March 2021 to March 2026. The default is a practical compromise, not a universally optimal value.

📝 Notes

- Percentiles describe where a reading sits in its own history; they do not predict returns or, by themselves, mean a market is overbought or oversold.
- Avg values are composite measures, not simple averages of the displayed cells. Table 1 uses the geometric mean of the selected moving averages; Tables 2 and 3 combine RMS-normalized pair measurements, and Table 3 excludes recently crossed pairs.
- Readings show n/a until enough history is available; symbols showing n/a are sorted last.
- In Table 1, a moving-average length selected more than once is marked "(dup.)" and left out of Avg.
- In Tables 2 and 3, a selected pair with equal moving-average lengths displays an error instead of the table.

⚠️ Use MADH alongside broader chart analysis and appropriate risk management.

────────────────────────────────────────
الخرائط الحرارية لتباعد المتوسطات المتحركة

مؤشر يعرض في جداول حرارية، لما يصل إلى خمسة عشر رمزًا، مدى ابتعاد السعر عن متوسطاته المتحركة، وتباعد المتوسطات بعضها عن بعض، وسرعة تقارب هذه الفجوات أو اتساعها. وتُقارَن كل قراءة بتاريخ الرمز نفسه باستخدام الترتيب المئوي. ويمكن عرض الجداول باللغة العربية من الإعدادات. والمؤشر أداة تحليلية لا تُصدر إشارات شراء أو بيع، والترتيب المئوي لا يتنبأ بالعوائد.

📖 للشرح الكامل، راجع القسم الإنجليزي أعلاه.

────────────────────────────────────────
Mapas de calor de disparidad de medias móviles

Muestra en tablas de mapa de calor, para hasta quince símbolos, la distancia del precio a sus medias móviles, la separación entre las medias y la velocidad a la que esas diferencias se estrechan o se amplían. Cada lectura se compara con el historial del propio símbolo mediante percentiles. Las tablas pueden mostrarse en español. Es una herramienta de análisis: no genera señales de compra ni de venta, y los percentiles no predicen rendimientos.

📖 Para la explicación completa, consulta la sección en inglés de arriba.

────────────────────────────────────────
Hareketli Ortalama Ayrışma Isı Haritaları

En fazla on beş sembol için fiyatın hareketli ortalamalarına olan uzaklığını, ortalamalar arasındaki farkı ve bu farkların daralma veya genişleme hızını ısı haritası tablolarında gösterir. Her değer, yüzdelik kullanılarak sembolün kendi geçmişiyle karşılaştırılır. Tablolar Türkçe olarak görüntülenebilir. Bir analiz aracıdır: alım veya satım sinyali üretmez ve yüzdelikler getirileri öngörmez.

📖 Ayrıntılı açıklama için yukarıdaki İngilizce bölüme bakın.

Отказ от ответственности

Информация и публикации не предназначены для предоставления и не являются финансовыми, инвестиционными, торговыми или другими видами советов или рекомендаций, предоставленных или одобренных TradingView. Подробнее читайте в Условиях использования.