Sentiment Oscillator

Methods of Calculation
1. Price Change Per Volume
The main method this indicator uses to reveal market sentiment is by comparing price change to the volume of trades in a bar.
You will see this calculation plotted in its most basic form by ticking the "Show Bar per Bar Change/Volume" box in the inputs dialog. I personally found that the plots were too noisy and cannot be used in real time reliably due to the fact that there is not much volume at the open of a new bar. I decided to leave in the option to use this method, in case you'd like to experiment with it or get a better grasp of how the indicator works.
2. Exponential Moving Averages
In my quest to smooth out the plotted data, I experimented with exponential moving averages. Applying an EMA on the change per volume data did smooth it out a bit, but still left in a lot of noise. So I worked around it by applying the EMA to the price change first, and then dividing it by the EMA of the volume. The term I use for the result of this calculation is "Market Sentiment" (do let me know if you have a better-fitting term for it ;-)), and I have kept it as an option that you can use in the way you would use other oscillators like CMF, OBV, etc. This option is unticked by default.
3. MACD
I left "Market Sentiment" unchecked as the default option because I thought an easier way to use this indicator would be as a momentum indicator like the MACD . So that's what I turned it into! I applied another EMA on the Market Sentiment, added a slower EMA to subtract from the first, and now we have a MACD line. I added a signal line to subtract from the MACD , and the result is plotted as a histogram... ish . I used area instead of columns for plot style so you don't get confused when comparing with a regular MACD indicator, but you can always change it if an actual histogram is more your taste.
The "histogram" is the main gauge of sentiment change momentum and it is easiest to use, that is why it is the only calculation plotted by default.
Methods of Use
As I have mentioned before, you can use this as you would other oscillators.
-The easiest way to use this indicator is with the Momentum histogram, where crosses over 0 indicate increasing bullish sentiment, and crosses below 0 indicate increasing bearish sentiment. You may also spot occasional divergences with the histogram.
-For the Market Sentiment option, the easiest way to use it is to look for divergences.
-And if you use the "Price Change per Volume of Each Bar", well... I honestly don't know. I guess divergences would be apparent towards the close of a bar, but in realtime, I don't recommend you use this. Maybe if you'd like to study the market movement, looking at historical data and comparing price, volume , and Change per Volume of each bar would come in handy in a pseudo-tape-reading kind of way.
Anyway, that's my explanation of this indicator. The default values were tested on BTC/USDT (Binance) 4h with decent results. You'll have to adjust the parameters for different markets and timeframes.
I have published this as a strategy so you can test out how the indicator performs as you're tweaking the parameters.
I'm aware that the code might not be the cleanest as I have only started learning pine (and code in general) for about a month, so any suggestions to improve the script would be appreciated!
Good luck and happy trading :-)
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Per un accesso rapido a un grafico, aggiungi questo script ai tuoi preferiti: per saperne di più clicca qui.
Declinazione di responsabilità
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Per un accesso rapido a un grafico, aggiungi questo script ai tuoi preferiti: per saperne di più clicca qui.