Dynamic Flow Ribbons

Dynamic Flow Ribbons

1. Introduction

Dynamic Flow Ribbons is a trend-following ribbon indicator designed to visualize the evolving balance between bullish and bearish momentum (created by BigBeluga).

This tool overlays multiple dynamic bands (“ribbons”) around a central mid-line, adjusting their width based on recent price volatility. Traders use it to identify shifts in trend direction, confirm breakouts, and gauge strength of moves without relying solely on static moving averages.

2. Indicator Overview

At its core, Dynamic Flow Ribbons calculates a typical price (src) and a volatility measure (dist) over a long baseline.

It then constructs upper and lower bands offset from a short moving average of src by multiples of dist.

When price crosses or bends these bands, the indicator flips its “direction” state, altering ribbon coloration and the reference mid-line. This creates a flowing ribbon effect that dynamically expands and contracts as volatility changes.

3. Calculation and Internal Logic

  1. Distance (dist)

    • Computed as a 200-period simple average of the true high–low range:

      dist = average[200](high − low)
  2. Source Price (src)

    • The typical price for each bar:

      src = (high + low + close) / 3
  3. Dynamic Bands

    • Short moving average of src over 15 periods, offset by factor × dist.

    • Lower band initializes or follows its previous value depending on whether it tightens or price probes it.

    • Upper band follows analogous logic in the opposite direction.

  4. Direction Determination

    • The indicator tracks a direction state (1 for bullish, –1 for bearish).

    • When price exceeds the upper band, it flips to bearish (–1); if it falls below the lower band, it flips to bullish (1).

  5. Ribbon Construction

    • Five bands above and below the active trendline are drawn at increments of dist × {–1.0, –0.5, 0, +0.5, +1.0}.

    • The mid-line (iline) is the simple average of upper and lower bands.

  6. Color & Transparency

    • Ribbons adopt “up” or “down” RGB colors, with alpha transparency varying by band proximity to the mid-line.

    • When in a bullish state, the lower ribbons highlight in the “up” color; when bearish, the upper ribbons highlight in the “down” color.

4. Input Parameters

Input Name Default Description
factor 3 Multiplier for volatility distance (dist).
RcolorUp 26 Red component of “up” color (0–255).
GcolorUp 221 Green component of “up” color (0–255).
BcolorUp 127 Blue component of “up” color (0–255).
RcolorDn 231 Red component of “down” color (0–255).
GcolorDn 147 Green component of “down” color (0–255).
BcolorDn 20 Blue component of “down” color (0–255).

5. Recommended Configuration

  • Default Settings work well on higher-timeframe charts (H1 and above) for major FX pairs and stock indices.

  • Increasing factor widens the ribbons, reducing whipsaws in choppy markets—but can delay signals.

  • Reducing factor tightens the ribbons, capturing earlier moves at the cost of more false signals.

  • Color Customization: Choose contrasting RGB values to ensure visibility over your chart background.

6. Usage Examples

  • Bullish Signal: When the price closes above the upper band and ribbons flip color to the bearish palette, it indicates exhaustion of the upmove and potential reversal. A return into the ribbon zone can confirm the renewed uptrend.

  • Bearish Signal: Conversely, a close below the lower band turns ribbons into the bullish palette, suggesting a shift into bullish momentum once price re-enters.

  • Volatility Gauging: Ribbon width expansion signals rising volatility, hinting at a stronger trend continuation. Contraction warns of consolidation or imminent reversal.

Tip: Combine with volume filters or a momentum oscillator (e.g., RSI) to confirm the strength of the ribbon-based signals.

7. ProBuilder Code Placeholder

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
Related users ' posts
bearbull As per PhilipSchultz question above, has anybody managed to add code for when it turns blue,...
Ybr35 Bonjour Nicolas, lorsque je lance l'indicateur, il m'est indiqué que je dois définir les var...
Nicolas L'idéal est de télécharger le fichier itf joint sur cette page et de l'importer dans la plat...
Nicolas Merci dans ce cas d'ouvrir un sujet dans le forum ProScreener svp.
Andrea Hi Nicolas, thx for your code. Please i need your help to understand this part of your code:...
Nicolas the MA200 is ascending since 20 periods.
Regan2020 Hi, has anybody update the above code to enable on a 15m or 5m TF?
gigi64 ik heb de code op mijn pro realtime gezet , en bij indicator staat hij erbij maar komt niet ...
gigi64 I have put the code on my pro realtime, and it is on the indicator, but it does not appear o...
supertiti Thanks you so much Lucassen
dreif123 hi, copied the above code, not working on 10.3 the system says "return can only be used at ...
LUCASSEN Hallo , i have no problem , and i have the same versie 10.3, maybe you can ask Nicolas, tha...
Krallenmann Hallo Nicolas, kannst du mir die Regeln für den Halftrend Indikator sagen? Aus dem Code kann...
davefransman Dear Nicolas, i want set a alert on the "HalfTrend "custom moving average" met Heikin Ashi w...
Nicolas Please post the question in a new forum topic, that would need custom coding I believe.
Lyam Pareil ne marche pas dommage
ahmedbouaziz89 Bonjour, quand j'ajoute le code ou le fichier dans l'outils screeners de Prorealtime je ne v...
tyvix Bonjour le code marche bien c est juste qu'il n y a pas d opportunité au moment ou vous le...
verdi55 Is there such a thing as a free lunch ?
maceng Thanks Nicolas for this great work! I would like to understand the math behind it in order t...
Nicolas Sorry I have no time to provide assistance for python programmers. Have a good day.
Maz Hi all, firstly happy to know that this is helping you. I look into updating it for PRT11 wh...
Nicolas just use 3 times a linear regression channel code you will find in the library.
leederbyshire Here's the link to alternative linear regression channel indicator Nicolas is referring to t...
Wing Yes, investigate as much as you want. For more insight, you can view the linet1, linet2 etc....
CKW Hi Wing, Thanks for your sharing. I am still trying to breakdown & understand your code...
Wing Hello CKW. No, the parameter, 7 in this case, is used when calling the RSI indicator to ide...
Nicolas Je vais faire l'indicateur et expliquer comment en même temps dans un sujet de forum. Plus s...
gregus merci nicolas toute ma gratitude est pour toi sa sera bien pratique car je pense ne pas etre...
Nicolas Ok merci donc d'ouvrir un sujet spécifique pour cette demande donc :) 
algotrader This indicator looks coolBut on attempt to use it for a strategy dev'I get an error.."The in...
dajvop @algotrader if you at the bottom of the code add: RETURN Buffer1 as "up", Buffer2 as "down",...
Bateson Si cela peut servir, l'indicateur Sadukey a été créé en utilisant un générateur de filtre ap...
Nicolas
9 years ago
ALMA MACD
ALMA MACD
7
Indicators
Arnaud HALVICK Great indicator, thank you!
JMat45 Hi Nicolas, just reviewing this indicator and noticed that you have double assigned the vari...
Nicolas That would not make any difference because the code is read from top to bottom.
MikeGC I don't know if you have used the variables a and b to optimise the parameters for the Super...
gianpiero75 I have not optimized, I multiplied the parameters for 6 (5,8), to use them on the 4  hoursTF...
bertrandpinoy bonjour Mike j utilise TrendChaser V2.0 et quand il prend position cela ne programme pas le ...
eisi If i switch between different Markets, the Backgroundcolour will appear where it should not...
datageek How can I get alerts on colour change?
NAMBO40 Hello, I would like to add a 25 period SMA moving average. It's possible?
Fabio Anthony Terrenzio this strategy works only in a well defined trend
brosly Good afternoon I am trying to get the complete code of lex strategy made by adolfo since I s...
dreif123 hi Adolfo, is Alex Auto Trading Botindex working on DAX as well ? if so , can you post the...
Doctrading I forgot to write at the beginning :  a = 50 b = 50 These are intermediate levels Sorry
DerPat Thank you. This one could be an aid in my current research on stochastics.
Pelayo it is possible that in line 12 we should put seuilinf=-b, thaks for all
Doctrading Hello, Someone asked me something (his results seemed to be different) on my email, but it ...
Glen Marquis Not your best..So what is your best strategy? :)
GraHal Hi Nicolas I like this and would like to understand it fully so please forgive the (maybe) d...
Nicolas Hi GraHal, the Factor parameter is only a multiplier of the ATR that is added or subtracted ...
GraHal Nicolas, thank you for your useful and informative response. Yes I optimise using ProBackte...
Nicolas
10 years ago
Denis Hello, Congratulations and thank you for this work. I do not understand one thing, however...
Nicolas
10 years ago
GraHal Hi Nicolas Britains .itf file didn't work for me ... I had to change h to hh at line 13 and...
Nicolas Thank you GraHal for pointing this error, i have corrected the code in the file. The code in...

Top