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
juanj And the point of violation is the close of the candle that violates the line by generating a...
juanj For the latest version of the strategy or to follow updates and developments see the thread ...
phanz i backtested it with 10K units of EURUSD 1 hour i get an equity curve that is going one way ...
Wing Not yet but I plan to.
Leo Have a look in this Forum, I got something interesting for you... https://www.prorealcode.co...
Dávid Gyalus Dear Wing, As I am a daytrader, and one of my best friend is a programmer we think your a...
EchnatonX Hallo Im Demomodus bei IG habe ich das Problem, dass oft keine Orders ausgeführt werden kön...
Jan EchnatonX, nice late answer of me: Make the stop loss a percentage of the close, like 100/...
guleny Hello I made some optimization to make it better. But there are 5 transacttion which incr...
stratobast Good afternoon everyone. Thanks Doctrading for your work. I have an issue while using this ...
stratobast My bad guys. I understood what was the problem. The indicator uses highs and lows for the Re...
samwarduk Has anyone tried this on Bitcoin GBP1? The results look amazing but every time mine trie...
Kris75 Hi Bolsatrilera, I love this indicator! Thanks; => did you develop a strategy around...
redz bonjour, comment changer les paramettre de la BB en 20 , 2.2 ? hello, how to change BB sett...
Realtime82 Hi I was wondering if it would be possible to get an alert (by sound) when the signals shows...
besserwerden Hi, i like this bollinger moz arrwos. How can I use this indicator in an screener? I want to...
Doctrading AH ok, I think the ca3 is the same : ca3 = pB[1] < 0.2 and pB < 0.2 Best regards,
chromosome21 Hello everybody, First, thank you so much for all your advices, I'm a begginer in trading a...
bertrandpinoy bonjour j ai un probleme avec ce code modifié, apparement PRT ne veut pas...avez vous une so...
rispardin no entiendo como funciana este indicador, por favor alguien podria explicar como utilizarlo???
AVT No se trata de un solo indicador, pero cada linea muestra otra información, de abajo hacia ...
IV Mcm Your indicator is interesting, I evaluated its relevance with the squeeze to detect the phas...
Kris75 Hi Gabri I launched a very simple strategy based on the 3 bars trailing stop that you cre...
TimDeCat Hi. Has anyone coded a version that you could alter it to say 5 bar trailing stop? ie make ...
Nicolas Please open a new topic in forums so we can code it there, thanks.
Nicolas No sorry, please use this file instead into a prorealtime trading platform.
rdabbs I just installed this indicator. It opens in its own pane rather than overlaid on the chart ...
Nicolas Just apply it on your price chart instead and you're ok.
finplus bonjour, il y a un problème à la fin du code avec elsif (close 0 then ... ne manque t il pas...
kj1988 Hello Nicolas, thank you for this useful indicator. Could you tell me how I can remove the...
Nicolas remove lines 101 to 103
GraHal Yes sorry, I set up a link to a screen shot on my google drive and then I got locked into th...
gabri Here's the thread https://www.prorealcode.com/topic/multiframe-rsi-of-rsi/
Bernard13 Bonjour Nicolas, Pourriez-vous m'indiquer si cet indicateur fonctionne avec la V11 ? Le di...
KarlBenjamin This "indicator" alone has completely changed my algorithms for the better! Id even go as fa...
ashee CAN YOU SHARE MT4 FILE
coyP Big thanks ! Can you explain me how can I put this ON my graph and not under the graph please ?
HeikinAshi Do you have an update of this indicator since you've created them, or is this still the actu...
mcha Thank you for this work. Do you try to transform/put this indicator on candlesticks and is ...
Jean-Pierre Poulain When I buy and when I sell ?
Nicolas The featured image of the post do not deserve the indicator you are right, I attached other ...
Nicolas It is described in the post already :) The BUY/SELL signals are quite similar of what you ca...
diegofe_2000 cordial saludo NICOLAS , gracias por excelente indicador. ¿ es posible obtenerlo en MT4 ? ...
Nicolas Lo siento, pero no estoy trabajando para ayudar a la gente aquí de forma gratuita para promo...
diegofe_2000 Nicolas , gracias por tu atención. La pregunta era por curiosidad (yo no trabajo ni manejo ...
David Balance thanks for sharing this excellent indicator.  Here are some thoughts.  please ad...
reb Hello Marc your strat seems very intersting, will take a look Reb
897148 What exactly is meant by Total price? Is r1 =28 in your example the no of days for "Total P...

Top