Dynamic Structure Indicator

This is a dynamic structure indicator designed to map potential support and resistance zones (in all markets). It does this by looking back x amount of candles to identify major swing highs and lows on the specified reference timeframe, and then it draws a zone between the highest/lowest wick and the highest/lowest candle close across the chart until a new zone is created.

The settings are important because it gathers data from a separate reference timeframe, so sometimes it will map zones that aren’t really appropriate for lower timeframes. On lower timeframes (1Hr and under) I’d recommend setting the reference timeframe to your actual trading timeframe and increasing the lookback period to fine-tune the zone mapping. The script is set for 4 Hour forex charts by default.

Please note: the max zone option is disabled by default because it is different for every instrument, but this is a useful feature that I recommend using. Sometimes the indicator picks up huge gaps that aren’t really considered support or resistance zones. If this happens to you, use the zone size settings to invalidate huge (or tiny) zones. The zone size is in pips.

To be honest I didn’t get this indicator to be quite as accurate as I envisioned and it’s still a work in progress as I learn pine script, but this is the best I’ve been able to get it to function and with the right settings it works fairly well so I figured I might as well release this first version. Maybe someone with better skills than me can help refine it to more accurately identify major fractals and levels - if so, please get in touch! All traders should be able to identify their own major levels by eye anyway, but this script is intended to be a building block for future signal indicators I wish to develop.

Last of all - please don’t use this indicator to trade blindly! Often price will blast right through these zones and the zones aren’t always accurate. Remember that structure levels only work if they’re obvious to other traders, and always wait for confirmation signals that meet your trade plan rules before entering trades – especially reversals or counter-trend trades.

If you have any questions or tips to improve the script, feel free to leave a comment or private message me.

Enjoy, and good luck out there :)

- Matt.
Notas de Lançamento: - Added an offset feature that maps the zones a slightly further distance from their point of origin
- Fixed the zone coloring change when zones are broken and closed above/below
Notas de Lançamento: v1.2:

- Added an offset feature that maps the zones a slightly further distance from their point of origin
- Fixed the zone coloring change when zones are broken and closed above/below
Notas de Lançamento: Fixed pip zone size input so that the indicator works for all instruments by default.
Notas de Lançamento: Minor improvements
Notas de Lançamento: Updated to Pine Script version 4
Notas de Lançamento: Rewrote entire source code. The new settings behave as following:
- Draw Previous Structure: Saves previous structure to draw above/below more recent structure
- Reference Timeframe: This is the timeframe to reference for swing highs & lows
- High/Low Lookback: This is how far to lookback for highs & lows (on reference timeframe)
- Max Zone Size (Compared To ATR): Invalidates zone if zone exceeds this multiplier of the ATR
- Zone Update Count Before Reset: This is used to determine when to stop drawing previous structure

Now when the script detects a new structure zone, it checks:
- Is there already a previous structure zone being drawn?
> If not, then save the current zone before changing it and draw that in addition to the new one
> If there is an existing previous zone, then wait until price violates that zone before changing it
> If the number of new zones that have been detected exceeds Zone Update Count, reset previous zone

The Zone Update Count Before Reset setting is used to remove old zones after enough time has passed that it is no longer relevant to recent price action.

Basically, the script now detects major swing highs & lows on your reference timeframe determined by fractal candles (google it if you're not sure what that is). Once it detects a major swing high or low, it draws the zone between the wick and the body of that swing high/low over intraday price action until your reference timeframe violates that zone with a close above/below.

Once a violation is detected, it saves the old zone (if "Draw Previous Structure" is turned on) and begins searching for a new zone while still drawing the old zone. If the old zone gets violated, then it stops drawing that zone. If the old zone never gets violated, then after X amount of new zones have been detected it will forcibly remove itself (with X being your "Zone Update Count Before Reset" override setting).

This is my best effort at automating the detection of major support & resistance zones and is a constant work in progress as I become more proficient with Pine Script. I revisit this script every few months to see if I can improve it, but for now this is the best I can do! Feel free to modify and republish it if you have any better ideas (and definitely let me know if you do manage to improve its accuracy).

Check my blog & YouTube channel for more detailed instructions on how to use this script :)

- Matt.
Notas de Lançamento: Added alert functionality.
- DSI Alert = Combines all alert conditions into 1 alert
- DSI Resistance Alert = Triggers alert if price touches resistance zone
- DSI Resistance Breakout = Triggers alert if intraday price action closes above resistance zone
- DSI Support Alert = Triggers alert if price touches support zone
- DSI Support Breakout = Triggers alert if intraday price action closes below support zone
Remover dos scripts favoritos Adicionar aos scripts favoritos
If you want to master Pine Script coding, watch my free YouTube lessons or get the source code to my scripts then check out my Pine Script Mastery Course website: https://www.pinescriptmastery.com


Thanks for this script! I'm also looking forward to the one that uses ATR, as I'm also using a lot of renko charts. Keep up the good work! :-)
+3 Resposta
Thank you for this!
+2 Resposta
hey first of all I like this indicator, so thank you!! so I'm just curious you say this is set for a 4 hr default. the lookback is set at 8 and the time frame is 1. how is that 4hrs?? I'm assuming the the 1 is for a single minute correct?
so wouldn't that be looking back 8 minutes? just curious as I'm trying to fine tune this indicator!!! thanks man
+1 Resposta
@Longevity7, Hey man! Thanks for the interest :) the script uses the Open, High, Low & Close data of the 4HR timeframe by default, and it looks back 8 x 4HR candles for swing highs/lows by default. That's what I mean by it's set for the 4HR timeframe by default, because it is using the data of the 4HR timeframe to define the S&R zone sizes (using 32 hours worth of 4HR price action).

You can change the reference timeframe and also extend or shorten the candle lookback period which will give you different approximate S&R extremes. The shorter the lookback period, the more 'tight' the zones will be which may be useful if you're a day-trader. The longer the lookback-period, the more you're going to start getting Daily and Weekly S&R zones. I'm a swing trader myself so the majority of my indicators are configured to work best on 4HR timeframes by default :)

I plan to release an enhanced version of this script soon which uses the ATR to define zones rather than pips so that it works better on all instruments. This was one of the first indicator scripts I wrote, so there are a lot of improvements that could be made. Feel free to make any suggestions or improvements if you think of any!

Cheers :)
Longevity7 ZenAndTheArtOfTrading
@ZenAndTheArtOfTrading, Hey just to add, and thank you by the way for that info. did you know that this indicator does not work with the yen pairs? is it because of its initial triple digit price and the indicator is coded for the other instruments?
+1 Resposta
@Longevity7, Yes, unfortunately you need to change the minimum/maximum zone size to account for the difference in Yen pairs decimal points in price every time you open a Yen chart or go back to a dollar chart. I haven't had the time to revisit this script for a while now but I still plan to try to fix that soon if I can :) I want to try to convert the script to use ATR for minimum/maximum S&R zone sizes instead of pips so that the script works on all pairs without you having to tweak anything.
You should validate your levels using my momentum candle indicators. It seems a level with a momentum candle are stronger levels.
+1 Resposta
@BarsStallone, Thanks for the tip Justin, I'll look into it!
nice work
+1 Resposta
Thanks Matt!!!! It is Great!!
+1 Resposta
Início Rastreador de Fundamentos Rastreador Forex Rastreador de Criptomoedas Calendário Econômico Como Funciona Recursos gráficos Preços Indique um Amigo Regras da Casa Central de Ajuda Soluções para Sites & Corretoras Widgets Soluções em Gráficos Biblioteca de Gráficos Lightweight Blog & Notícias Twitter
Perfil Configurações de perfil Conta e Cobrança Amigos indicados Moedas Meus Tíquetes de Suporte Central de Ajuda Ideias Publicadas Seguidores Seguindo Mensagens Privadas Conversa Deslogar