DSL Trend Analysis

DSL Trend Analysis

1. Introduction to the Indicator

The DSL Trend Analysis indicator is designed as a visual tool to clearly identify trend changes in financial markets. It focuses on the analysis of dynamic support and resistance levels that adjust automatically to price behavior. Through a system of bands and a trendline calculated using linear regression, this indicator helps traders detect areas of buying or selling pressure and anticipate potential trend reversals.

Unlike traditional trend indicators such as simple moving averages, DSL Trend Analysis introduces the logic of historical thresholds to generate visual signals when price breaks key levels. Its implementation emphasizes not just recent data, but also comparisons with past levels, offering a more robust and less noisy perspective.

The result is a graphical representation highlighting key zones with shaded bands and a trendline whose color reflects the strength of price movement. This makes it a valuable tool for both trend-following and reversal trading strategies.

2. Indicator Foundation

The core of the DSL Trend Analysis consists of three main components: the Simple Moving Average (SMA), the Highest High Value (HHV), and the Lowest Low Value (LLV) over a configurable period (len, default 10). These are calculated to establish dynamic reference levels.

The logic is activated using the offset parameter, which introduces a time delay in evaluating price extremes. This allows for comparison of the current price with highs and lows from several bars ago, offering a clearer retrospective view and avoiding false signals caused by recent fluctuations.

The thresholds derived from these values (thresholdUp and thresholdDn) act as triggers for DSL levels:

  • If the current close is higher than the delayed high, a DSL Up level is plotted at the SMA value.

  • If the close is lower than the delayed low, a DSL Down level is plotted at the SMA value.

This logic ensures the indicator reacts to meaningful breakouts while filtering out market noise.

3. DSL Band Calculation

Once the primary DSL levels (dslUp and dslDn) are identified, the indicator draws two additional bands to define a visual buffer zone. These bands use the 200-period Average True Range (ATR), adapting their width to market volatility.

The width parameter multiplies the ATR value to scale the bands’ spacing. Higher values widen the bands, suitable for volatile markets.

The bands are defined as follows:

  • DSL Upper Band: dslUp1 = dslUp - ATR

  • DSL Lower Band: dslDn1 = dslDn + ATR

These bands act not as direct signals but as transition zones, helping traders spot areas where price may react before confirming a trend change.

4. Dynamic Visualization and Coloring

A distinctive feature of DSL Trend Analysis is its advanced visual representation using shaded zones. This is achieved with the colorbetween function, which fills the area between the DSL levels and their corresponding bands.

Once enough bars have accumulated (more than 200, required for ATR calculation), the following zones are drawn:

  • Upper Zone (between dslUp and dslUp1): Light green, indicating bullish pressure.

  • Lower Zone (between dslDn and dslDn1): Orange, indicating bearish pressure.

These visual zones provide quick context:

  • A green area above price may act as dynamic resistance.

  • An orange area below price may act as dynamic support.

Though not direct signals, they offer valuable information about the current market structure.

5. Trend Line Based on Linear Regression

In addition to the DSL bands, the indicator features a TrendLine calculated using a 5-period linear regression of the closing price. This line reflects the short-term direction of the price and updates dynamically.

What makes it powerful is its adaptive coloring system:

  • Bright green (opacity 255): Price breaks above dslUp – strong bullish momentum.

  • Bright orange (opacity 255): Price breaks below dslDn – strong bearish momentum.

  • Soft green (opacity 60): Price between dslUp1 and dslUp – potential bullish continuation.

  • Soft orange (opacity 60): Price between dslDn and dslDn1 – potential bearish continuation.

  • Transparent (opacity 0): Price not in any significant zone.

This system transforms the trendline into a visual guide, helping to assess the market’s strength and direction at a glance.

6. Indicator Settings

The DSL Trend Analysis includes three configurable parameters to adapt it to various trading styles and market conditions:

  • len (Length)
    Default: 10
    Defines the number of bars for SMA, HHV, and LLV.

    • Lower values = more responsive (for scalping/intraday).

    • Higher values = smoother (for swing or longer-term analysis).

  • offset (Threshold delay)
    Default: 30
    Controls how far back the highs/lows are checked for thresholds.

    • Higher values = more conservative signals.

  • width (Band width factor)
    Default: 1
    Multiplies the ATR to set the width of the DSL bands.

    • Higher values = wider buffer zones (useful in volatile conditions).

These options allow traders to fine-tune the indicator for optimal responsiveness and clarity.

7. Conclusion

The DSL Trend Analysis is a visually rich indicator that combines dynamic level analysis, volatility-based banding, and an adaptive trendline using linear regression. It provides clear insight into support/resistance zones and trend direction, helping traders stay aligned with market momentum or spot potential reversals.

Its flexible settings and intuitive design make it suitable for a wide range of trading approaches, from short-term intraday setups to longer-term strategic entries. Whether used alone or as part of a more complex system, this indicator delivers clarity and precision to market analysis.

8. 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
Pere
8 years ago
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...
Guibourse Hi ! I am asking once again for your help : would it be possible to use the ATR as a "take p...
Tradingrob Many thanks for the indicator, however if the price is below the indicator, then the indicat...
aldtrading Merci pour ton travail ! J'ai de bons résultats en utilisant cet indicateur
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.
Nicolas Use the wrench of the price chart! Upper left of the window
Dymjohn The wrench shows options for the components of the indicator not how to show in the main cha...
Nicolas http://www.prorealcode.com/topic/overlapping-indicators/  
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...
xel @DerPat - I don't see any question regarding the indicator.  Anyway, I think I give enough l...
diegofe_2000 Xel, tu eres el creador de este indicador? Bueno te  cuento que es muy bueno para hacer est...
xel Buen día @diegofe_2000 -  Claro, mandalo y por aquí lo probamos en otros instrumentos y si g...
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? :)
mamio Very nice indicator. Why doesn't it refresh as time passes?
Nicolas It should refresh on each bar.
mamio On my PC it doesn't refresh. I am using intraday tick bars (not minutes). Unfortunately I do...
Nicolas I would not recommend using this version of the linear regression channel, but this one inst...
Aragorna Hello, Is it possible to updated the indicator to the more updated versione of ProrealTime? ...
Nicolas Use that code instead: https://www.prorealcode.com/prorealtime-indicators/standard-deviation...
totof for those who are interested, I made this small modification of the code for the eWMA which ...
totof //parameters : period = 20 lookback = 1 IF BarIndex < period THEN eVWMA = Close EL...
Pi Hello Totof, I was looking for the code for the 'eVWMA = elastic Volume Weighted Moving Aver...
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...
Denis Hello, Congratulations and thank you for this work. I do not understand one thing, however...
Nicolas
9 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...
Nicolas
9 years ago

Top