EMA Wave & GRaB

EMA Wave & GRaB

This indicator brings a comprehensive trend-following system (by JustUncleL), combining the classic 34-period EMA Wave with the popular GRaB (Green, Red, and Blue) candle coloring logic.

Designed to keep traders on the right side of the market, this tool provides immediate visual feedback on trend direction, momentum, and volatility. It helps filter out noise during ranging markets and highlights strong momentum phases.

How it Works

The system is built upon two main components:

1. The EMA Wave (Price Action Channel) The “Wave” consists of three Exponential Moving Averages (EMA) set to 34 periods:

  • High Wave: 34 EMA of the High.

  • Low Wave: 34 EMA of the Low.

  • Centre Wave: 34 EMA of the Close.

This band acts as a dynamic support and resistance zone. When the price is “riding” the bands, the trend is healthy.

2. GRaB Candles (Color Logic) The candles are painted based on their relationship with the Wave, giving you an instant read on market sentiment:

  • Green (Bullish): The candle closes above the High Wave. This indicates strong bullish momentum.

  • Red (Bearish): The candle closes below the Low Wave. This indicates strong bearish momentum.

  • Blue/Aqua (Neutral): The candle closes inside the Wave (between the High and Low EMAs). This typically signals consolidation, retracement, or a lack of momentum.

3. Trend Indicator (Bottom Ribbon) The code also includes an optional trend ribbon plotted at the bottom of the chart. This provides a secondary confirmation:

  • Lime Box: Strong Uptrend (High and Low of the candle are completely above the Wave).

  • Red Box: Strong Downtrend (High and Low of the candle are completely below the Wave).

  • Gray: Neutral/Transition zone.

Configuration

You can customize the indicator using the variable settings at the start of the code:

  • ShowPAC: Set to 1 to draw the 3 EMA lines on the chart, or 0 to hide them.

  • ShowBarColor: Set to 1 to paint the candlesticks (GRaB style), or 0 to keep your default chart colors.

  • ShowTrendIndi: Set to 1 to display the trend strength ribbon at the bottom of the panel.

  • PACLen: The lookback period for the Wave. The default is 34, which is standard for this strategy, but you can adjust it to fit different timeframes.

The Code

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
Related users ' posts
capgros Bonjour @Nicolas, Thanks a lot for this tool, it is very useful for me. I would like to s...
Hans63 Would you add the possibility to color also the Heikin Ashi and bar chart?
Nicolas That's possible, please open a new topic in the indicator forum explaining what you need exa...
Nicolas
7 years ago
BSTrend
v10.3
BSTrend
10
Indicators
Florian Legeard C’est à dire sur le prix et non sur le temps ? Merci
Rohit82189 bstrend repaints
Nicolas No, it doesn't repaint.
fisiotrancos Hola, seria posible añadir una línea horizontal en el nivel 0? Me gustaría hacer un screener...
Nicolas cambiar la última línea por ésta: return val coloured(r,g,b) style(line,2), levelu style(do...
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...
Nicolas Apply it on the price chart. The indicator plot just one single line. There are two in the...
jamesoc Hi Nicolas, do you happen to know if there is an indicator that can be applied to charts, to...
gustavobp Buenos dias Nicolas, al agregar tu indicador no me reconoce la variable Price ni en la linea...
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...
Vonasi Discussion on this indicator/filter can be found here: https://www.prorealcode.com/topic/121...
Appsoluxions Hi Nicolas, do you have the MT4 version of the indicator? I am not sure if these kind of que...
Nicolas Hi, don't have one sorry. But you can still ask for private coding through our programming s...
Appsoluxions Cool. Thanks for the response.
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...
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 ...
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
8 years ago
Rainbow Oscillator
Rainbow Oscillator
1
Indicators
Maxime Baudin Interesting, thanks! Combine this indicator with the bollinger bands there is enough to make...
supertiti Bonsoir à tous For those who like me want to calibrate this indicator on a scale of 0 to ...
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...
DarioMazza Hi Vonasi, i have a question for you, the comand "pricetype" where did you found it in the ...
Vonasi PriceType is just a variable that I use. The value decides what type of price is used in the...
Vonasi I noticed a couple of typo errors in the code. The list of variables lines 4 to 11 should be...

Top