ClassicScott

+ ATR Support and Resistance

ClassicScott Aggiornato   
This, a very different script from most of mine, is my attempt at making a useful, and not messy, support and resistance indicator. If you've never looked into trader xkavalis, and his scripts and discord, I would highly recommend it. He talks about "pay attention candles" a lot. It got me thinking about what those are. Best as I can tell all he means by that phrase is large, impulsive candles. Sometimes these lead to break outs of ranges, or they may signal tops, bottoms, or near-tops and bottoms. The only way I could make sense of this in a mathematical way was by using the average true range. Basically, any candle's true range outside of the ATR is considered a "pay attention candle," by my definition.

This script originally began as just a candle coloring exercise with some optional shapes plotted above/below certain candles, but I quickly realized I wanted to draw lines or zones from these candles, so eventually, after many hours spent figuring out and learning 'line.new' and 'box.new' I got things sorted.

Essentially, my line of thinking is that on impulsive candles down, the origin of the impulse is more important than the close (not always of course, as there are no unbreakable rules in what markets can do), and with impulsive candles up, the same theory applies.
So, for upward impulsive candles I've marked out the zone from the open to the low as a support (until broken, in which case it may become resistance). For downward impulsive candles the zone encompasses the open to the high. I've given the option to plot a line from the close for all of these. It's turned off by default as it's just less stuff on the chart, but you may like it.

The line length is customizable in a menu. It does funny things on low timeframes on forex and stock charts (long lines that result in chart compression), but for some reason very rarely on crypto charts. If someone who is smart (not me) and has much experience with pinescript could perhaps help me out with a fix for this, that would be great. I suspect it has something to do with my "bar_index_duration" that I defined using the time function, but I'm not sure how or why.

Line length on time frames of one hour and up it is typically fine.

Use the ATR multiple to change the sensitivity of the indicator. This is basically the determination of when a candle is beyond the ATR. A multiple of two is two times the ATR. With lower volatile pairs you can maybe make this lower. On lower time frames or with more volatile pairs (illiquid alts in particular) a higher multiple might serve better. I find the default 1.75 is mostly acceptable.

As I started this I also thought adding some sort of volume information to the candles might be useful as well, so I added a simple candle coloring feature referencing the OBV and a 21 period EMA. Candles are colored based on the OBV's relation to its moving average.

I added some plot shapes and candle coloring utilizing the RSI as well. Options to turn on or off shapes plotted for overbought and oversold across the top of the chart. The most interesting feature that I implemented here is a support/resistance zone around the centerline of the RSI. If the RSI is between 49 and 51 then you can have optional candle coloring, shapes plotted above the candles, and s/r zones drawn on the chart. In trending markets the centerline of the RSI will frequetly act as support or resistance, so by being alerted of this condition on the chart you can use that with actual levels marked off in order to help make a judgement on a trade. I think it's a nice addition, and an oft overlooked aspect of the usefulness of the RSI.

I've also included a calculation, with candle coloring and/or plot shapes, for something like a stop run on high volume. The calculation for that is in its section below, and should be pretty self explanatory.

Lastly, typing this as I'm posting it, this indicator could also be useful for helping to find placement for trailing a stop. Just a thought!
Note di rilascio:

Here is a cleaner image of how I like using the indicator. Fewer symbols, and I like the greater consistency in the candle coloring.

And I added an average of the exponential, simple, and Kijun 200 length moving averages to use as a potential baseline.
Note di rilascio:
changed input color titles for 200 MA average... realized I missed that when I changed how they would change color
Note di rilascio:
changed a couple more cosmetic things in the inputs menu. no functionality changes. apologies if you're getting notifications of these already just after I released this.
Note di rilascio:
fixed an issue with RSI support/resistance zone coloring: both were set to support, so you couldn't change the colors resistance to differ from that of support if you wanted.

also, fixed it so if you don't want to plot zones, but are curious about where the RSI is about the centerline, symbols are plotted above or below the bar depending on if it's acting as resistance or support
Note di rilascio:
RSI Support & Resistance now prints lines from the candle close instead of boxes/zones. Keeps the chart cleaner and gives a more specific level of possible support or resistance. And I've added multiple colors for the RSI stuff, so you can determine more easily if the RSI is trying to use the mid-range as support or resistance.

Also, i've eliminated the boxes for turning off the ATR support/resistance (or supply/demand I think would be more accurate) zones, and instead have added a menu with which you may adjust for the size of the candle wick that would print a zone. The premise of this portion of the indicator, being that candles outside the true range are important, and can play a role in showing areas of supply and demand, or support and resistance, often results in, especially if trading illiquid crypto pairs, extremely long wicks. These of course result in a huge colored patch, or a large box, on the price chart. Now you can adjust for how much of the total percentage of the candle the wick consumes, and if the wick is beyond that percentage, and qualifies as a support resistance candle, a zone/box won't be displayed. Setting the number to 100 (0% 'relevant' wick--and by 'relevant' I mean that part of the candle that should produce support or resistance, with down candles having resistance, or supply at the top wick, and up candles showing support, or demand, at the bottom wick.). A lower number allows for more wick (thus will show more and potentially larger zones (although this obviously also depends on the ATR multiplier setting)) while a higher number allows for less wick. If this seems backwards, that's because it's an inversion, so the actual number in the box refers to the amount of candle comprised of the body and irrelevant (not indicative of supply/demand) wick.

Note di rilascio:
- simply updated to pine version 5--was answering a question about the indicator and realized I hadn't done that!
Note di rilascio:
I don't know how but the time that I updated this so that you can adjust which candles boxes showing support and resistance will be drawn from I made a big mistake defining a two variables necessary for the script to work properly. These have been updated, and the "Wick %" input, previously " Candle %", actually does what was intended (and actually makes more sense from a user experience standpoint, imo). I also updated the tooltip for the wick percent—it is much more clear what you are doing when you change the numbers now.

I also added inputs for RSI ob/os levels in case anyone uses the shapes that print at the top of the chart. This way you can adjust what is overbought or oversold depending on your preference. I may end up adding some plotted lines for these regions as well (similar to the 49-51 s/r zone).

I need to contact TradingView about many lines not drawing on the chart, however. Not sure what happened on the change from Pinescript v4 to v5 but "close lines" won't print unless RSI s/r lines are turned off, and even then it doesn't draw them all. Also, the RSI s/r lines are not all drawn either. So I apologize for parts of this indicator not displaying as intended, and big apologies (though no one has seemed to notice?) for part of the main portion of this indicator not working.

Script open-source

Nello spirito di condivisione promosso da TradingView, l'autore (al quale vanno i nostri ringraziamenti) ha deciso di pubblicare questo script in modalità open-source, così che chiunque possa comprenderlo e testarlo. Puoi utilizzarlo gratuitamente, ma il riutilizzo del codice è subordinato al rispetto del Regolamento. Per aggiungerlo al grafico, mettilo tra i preferiti.

Declinazione di responsabilità

Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.

Vuoi usare questo script sui tuoi grafici?