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
Related users ' posts
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
ullle73 nicolas, can you somehome make this to be in the background of the price chart?
jonpt88 none did that yet right?
Nicolas You can ask for a code modification on forums, please open a new topic with your request.
Toto le Heros Thanks Nicolas. I read somewhere that in the calculation, we should round the value of the A...
Nicolas aADX = round(adx[10])
bolsatrilera
7 years ago
Rainbow Oscillator
Rainbow Oscillator
1
Indicators
Maxime Baudin Interesting, thanks! Combine this indicator with the bollinger bands there is enough to make...
ak5hay2 Works like crazy on bitcoin. Use different timeframes. Thanks a lot Doc!!!
richyowen Hi, great code thanks. Very new to this forum. Is there a way to add a 100point target on an...
lisamitch50 Morning all, Just backtested on quite a few instruments, worked well on backtesting, but tel...
Matriciel
7 years ago
Alai-n Thanks...
Bard Thanks for sharing this Verdi55. More instructions from Larry Williams website (and a fea...
Nicolas
7 years ago
Jurik RSX
v10.3
Jurik RSX
3
Indicators
hartgeld Hallo Nicolas, ein sehr guter Indikator, vielen Dank! Leider rechnet er bei mir nicht die Pe...
rigel Hi Nicolas, have you coded the Jurik alone (as Mov. average)?
Nicolas 2 versions available in this indicator: https://www.prorealcode.com/prorealtime-indicators/a...
supertiti Bonsoir à tous For those who like me want to calibrate this indicator on a scale of 0 to ...
juanj This gets me thinking about creating a strategy on the 5min timeframe that only takes trades...
GraHal I noted above does okay on DAX 10 min with even a reduction to 30 of the Stop Loss. I've s...
Kris75 Hi Grahal, What about making the same great work you did with the snipet on google doc but...
AG1 Thanks Nicolas Still a problem in line 29 Please take a look. thanks again Alex
Nicolas code is modified in the above post, use that one.
AG1 Still a problem in line 29 Please take a look. thanks again Alex
verdi55 You can find me at www.FXautomate.com Ahh. So i got it ? 4 different supertrends without th...
juanj What? This has nothing to do with the website. The site is simply a service to help people ...
Nicolas Advertising is allowed,as long as people are helping others and if provided services are abo...
styrke Hello Nicolas, Nice screener, I appreciate the way you always try to condense at maximum th...
Nicolas There's no particular reason. RSI is widely use with its default period and results seems re...
Vonasi I noticed a couple of typo errors in the code. The list of variables lines 4 to 11 should be...
Genotik Thank you for your important contribution this week which is much appreciated! Happy New Yea...
Vonasi No problem. I hope they are useful to someone. Happy and hopefully prosperous New Year to y...

Top