QQE Indicator – Quantitative Qualitative Estimation

QQE Indicator – Quantitative Qualitative Estimation

1. Introduction

The QQE, or Quantitative Qualitative Estimation, is a technical indicator that combines a smoothed RSI with trend-following elements to provide clearer, more visual signals regarding market momentum and direction shifts.

This indicator enhances its detection capabilities by using two independent smoothed RSI calculations, adaptive dynamic bands, and a color-coded signal system that makes it easy to spot favorable market conditions for entry or exit.

The result is a more visual, intuitive, and versatile indicator—ideal for traders looking to confirm trend reversals or support trend-following strategies with a clean momentum read.

2. Indicator Logic

The QQE is primarily based on the calculation of a smoothed RSI, which is then enveloped by dynamic trailing-stop-style bands. These bands define whether the RSI has broken previous structure and is entering a new market phase, interpreted in terms of bullish or bearish trend.

The core logic is to measure the RSI’s volatility using a calculation similar to the ATR, forming a kind of “comfort zone” around the RSI line. A break of that zone indicates a potential momentum or trend shift.

In this version, two independent QQE calculations are used:

  • The first one to detect trend changes.
  • The second to strengthen the signal using additional filters, including overbought/oversold conditions and Bollinger Bands.

3. QQE Components

This indicator is built from several layers working together to generate accurate and visual signals:

  • RSI1 and trend definition: A short-period RSI (default: 6) is calculated and smoothed with an exponential average. From this, two bands (longband and shortband) are built, acting as dynamic breakout levels. When the RSI crosses one of them, the indicator detects a trend phase shift.

  • RSI2 as a confirmation signal: A second smoothed RSI is used as a filter layer. Its value relative to the 50 level helps determine whether bullish or bearish momentum is dominant.

  • Bollinger Bands on the QQE: Bollinger Bands are applied to the Fast QQE line (RSI1), centered around its value minus 50. These bands highlight overbought or oversold conditions relative to recent market behavior.

  • Signal and color logic: The main visual cue is the qqe histogram, which only changes color when two conditions are met:

    1. RSI2 indicates strong momentum (above or below threshold).
    2. RSI1 breaks out of the Bollinger Bands.

    When both are true, a strong signal is generated in blue (bullish) or fuchsia (bearish). Otherwise, the histogram remains neutral in grey.

4. Chart Interpretation

The indicator shows three key visual elements:

  • Main histogram (QQE): Centered on level 0 (which corresponds to RSI level 50). A colored histogram (blue or fuchsia) signals strong impulse; a grey one indicates neutral or weak confirmation.

  • Trendline (QQE Line): Displays the dynamic band of RSI2, adjusted to center around 0. It helps detect overall direction and potential reversals.

  • Background histogram (Histo2): Shows the centered value of RSI2. It can help anticipate momentum shifts but should not be used as a standalone signal.

Reading all three together provides a comprehensive view of momentum, trend direction, and potential exhaustion points.

5. Indicator Settings

The QQE comes with several customizable parameters to suit different trading styles and instruments:

  • rsiPeriod (default 6): RSI period for RSI1.
  • SF (default 5): Smoothing factor for RSI1.
  • QQE (default 3): Multiplier for RSI1 dynamic band.
  • ThreshHold (default 3): Threshold for signal triggering.
  • length (default 50): Period for Bollinger Bands.
  • mult (default 0.35): Standard deviation multiplier for Bollinger Bands.

For the second RSI (RSI2), similar parameters are provided, with QQE2 set by default to 1.61 for increased sensitivity.

Tuning tips:

  • For lower timeframes (1 min, 5 min), reduce RSI periods and increase the threshold slightly to filter out noise.
  • For higher timeframes (4H, daily), default values work well, though you may adjust mult to control Bollinger Band tightness.

This indicator is especially useful as a confirmation filter in trend-following strategies or as a signal generator in momentum-based scalping systems. Its modular, color-coded design allows for quick interpretation even in volatile market conditions.

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

avatar
Register or

Likes

avatar avatar avatar avatar avatar
Related users ' posts
Nicolas
7 years ago
cfta Hi Fulvio, many thanks for sharing this clever indicator, much appreciated. As Pepsmile ment...
cfta Sorry adding the PRT to code didn't work in the above comment so I guess we will have to set...
juanj Something appears to be wrong with this formula as graphing t shows t to almost never be wit...
Kosuda76 Thanks for your reply! But I do not really understand what the opposite of them the values ​...
AdriTrade Good job Louis!! How could do this for the Williams indicator? Thank you very much.
imorandin Hi!, Nice code. I'm tryng to port it to another language, but I don't understand this part:...
luxrun Thanks, bolsatrilera, for a very good and solid screener!
luxrun sorry... indicator!
Lily Rios Gracias por el indicador, tengo una pregunta necesito programar un screener de valores que e...
Nicolas
7 years ago
Maxime Baudin Interesting, Thank you! :)
franck-david Bonjour Nicolas , actuellement je me forme grace a vos videos tres tres bien expliques mer...
Nicolas Merci. ça n'est pas le lieu pour poser ce genre de question :) Merci d'utiliser le forum Pro...
Bebbo Grazie del prezioso contributo Nicolas, scusa la mia inesperienza, sono alle prime armi e s...
Nicolas To avoid recalculation, you should use the one from this post.
Bebbo Ok Grazie Nicolas.
bolsatrilera
7 years ago
jissey Bonjour Bolsatrilera, je trouve le cm rsi interessant, merci de l'avoir mis à disposition ! ...
bolsatrilera bonjour jissey, je n'ai aucune information sur ce que tu dis, je suis désolé.
ALE Hi the color is given by a numerical value derived from the oscillator in use. If you comp...
efahmy Thanks mate
Jo-01-R Hello, it is possible to have this indicator but instead of colors rather have numbers rangi...
Vonasi Discussion on this indicator/filter can be found here: https://www.prorealcode.com/topic/121...
Domenec Claro Juanjo de todas maneras en deinversoratrader.com tienes estsos osciladores evolucionad...
Dron Hola Domenec, en la descripción hablas del indicador velas de colores, no lo encuentro en la...
Domenec Hola Dron mira en el blog deinversoratrader.com en formacion indicadores ahi hay varios grat...
Nicolas
7 years ago
enricot Scusa nn riesco.
SoloContado If you smooth the signal using a "summation" function, you get a nice "crossing of 0" graph....
ShaunG Greatly appreciated Nicolas!
Leo Does it opens pending orders?... maybe they were not trigger.
Mattzi Dont know, all i can see is that it opened an order yesterday in backtest but not live. Th...
Jean-Christophe Hello Leo, when running the strategy from 29/12/2015 to 31/08/2018 on ProRealTime Premium, I...
Geronima Ortiz I watched the video three times, but I can not put the npips parameter as a variable. I do...
Geronima Ortiz I think the video is for an old version of prorealtime, the images do not correspond at all ...
Nicolas indicator1 = CALL “PRC_StopReversal”[npips, 1] and define npips in the optimization window ...
Etienne Hi, thanks for proving this code. I would like to contribute by adding a computation speed...
Etienne //Compute Super Smoother coefficients once if barindex = 1 then a1 = exp( -1.414 * 3.14159...
Nicolas Thanks a lot!
Caribeengeek Bonjour j’avais vu que vous proposiez d’écrire des codes pour ceux qui s’y connaisse pas Mai...
Caribeengeek Les devises unité
Nicolas Merci d'utiliser le forum pour les demandes de programmation personnalisée

Top