NVT Signal with RMA and thresholds [alertable]

NVT Signal, or NVTS, is an indicator that compares the market cap of Bitcoin to the aggregate USD value of daily transactions on the Bitcoin blockchain. It is a value indicator that shows a multiple of Bitcoin price against the actual usage of its blockchain. When the NVTS is low, it suggests Bitcoin price is low relative to the amount of utility the network provides, and vice versa.

For more information on NVTS, visit

This indicator aims to provide the following:
1. An open-source implementation of NVTS on Tradingview, as the most popular one currently is closed-source.
2. To provide two simple ways to define and visualize "overbought" or "oversold" conditions using the NVTS. Here, we have absolute value of NVTS & deviation from a long-term moving average.
3. Crude integration into Tradingview's alert system.

What this indicator CANNOT do:
1. Timeframes below 1d.
2. Signals based on statistical analyses, such as seen in Bollinger Bands et al. (However, with the appropriate type of account, you can add BBands on top of this indicator.)

I would like to express my gratitude to Willy Woo, Chris Burniske and Dimitry Kalichkin for their work on NVT Ratio and NVT Signal, without which my indicator would not have been created.

Feel free to fork & improve, or experiment with settings. I hope this indicator will be useful to someone.
Skrip sumber terbuka

Dalam semangat TradingView yang sebenar, penulis skrip ini telah menerbitkannya dengan menggunakan sumber terbuka supaya pedagang-pedagang dapat memahami dan mengesahkannya. Sorakan kepada penulis! Anda dapat menggunakannya secara percuma tetapi penggunaan semula kod ini dalam penerbitan adalah dikawalselia oleh Peraturan Rumah. Anda boleh menyukai skrip ini untuk menggunakannya pada carta.

Ingin menggunakan skrip ini pada carta?


nice, ty. i think it's really great that you choose to show code! bravo

+2 Balas
@Kilth, +1
great job buddy! here is the strategy with backtest date range and trailing stop / stop loss:
+2 Balas
kishin nilux
@nilux, thanks for the backtest!
@nilux, what app is this? I like the visualization of trades. Thanks
There's a big difference between the NVT Signal posted on Woo's website and your indicator. Do you see any reason why that might be?
kishin d14b0ll0s
Thanks for pointing that out. It seems that Woo has changed something about how the NVT Signal indicator is calculated since I published this script.

This script adheres to the original NVT Signal, which is explained in Woo's article here:

Back then, his interpretation was a somewhat naive "Over 150 = overbought, under 45 = oversold," of which overbought conditions are highlighted with a red background in my script.
My script further attempted to implement a "deviation from mean" component, by highlighting values with a deviation above the user-set threshold MA in white.

Maybe Woo simply changed his data supplier for onchain activity, but unfortunately I hadn't noticed.
Interpreting blockchain activity is not simple, since you want to exclude "change" outputs - but there is no surefire way of telling which outputs are spends, which are change outputs, and which are between wallets controlled by the same entity.
This hypothesis is supported by the rough shape of the signals matching, although there are some noticeable deviations.

I'm not a fan of cherry picking data sources to curve-fit an indicator, but either way I'm afraid QUANDL:BCHAIN/ETRVU is the only way I know of to use daily blockchain activity in TV scripts.
Thanks again for bringing this to my attention.

Tl;dr - you can keep using this indicator, which is essentially the OG NVT Signal, though you will have slight divergences from Woo's current implementation, due to different data sources being used.
@kishin, Many thanks for the detailed explanation. It's a bit strange if Woo decided to change the calculation just now, when the original calculation is screaming ATH on NVT-S (unless it's a problem with data supplier, as you said). Other than that, I like how RMA on NVTS can be used to track change reversal thanks to your implementation (I've played around with the visual side in Pine at my end without changing anything in your calculations and variables, but trying out different MAs or stdev might give interesting results too, so let's keep in touch about this). Meanwhile, keep up the good work.
+1 Balas
d14b0ll0s d14b0ll0s
@d14b0ll0s, btw, this whole period in terms of PA and relation to NVT(S) seems close to June 2014 (and a bit like May 2018 too)
kishin d14b0ll0s

I'm also not sure when Woo changed his data sources (it could have been over a year ago - I would not have noticed that detail), but yeah I agree conventional NVT-S is screaming top now lol

I appreciate your playing around with the Pine script. That's the reason I open-sourced it - no other NVT Pine scripts were open source at the time.
I also agree stdev would be a great addition to this indicator - I'll get around to adding it someday.

Thanks again & happy trading!