TradingView
capriole_charles
2019년 11월 14일 오전 7시 22분

We Are Skirting on the Edges of a Bitcoin Miner Capitulation 

Bitcoin / US Dollar Perpetual Inverse Swap ContractBitMEX

설명

Bitcoin Hash Ribbons are extremely close to a potential Miner Capitulation.

Should a Capitulation occur (crossover of the ribbons), it is not the time to be buying Bitcoin.
The best times to buy Bitcoin is on Hash Rate recovery, as identified by this indicator.

For now, we are "still in the green", and Bitcoin's price may have already bottomed.
However, until we see continued Hash Rate growth, and separation of these Ribbons, we cannot be sure.

This is one of the most important indicators to be watching right now regarding Bitcoin's health… as when miners hurt, the market will hurt too.

코멘트

No inversion yet!

코멘트

FYI - notes on current situation, and likelyhood of capitulation:

코멘트

코멘트

Miner capitulation just confirmed.

거래청산: 타겟 닿음

코멘트
Germio
So according to this indicator it was good to buy BTC all the way down from 20k to 6k. Makes sense lol
cryptosako
@Germio, He did mention that the best time to buy is during hashrate recovery. You could read it too. The way I see it, its looking simple. sell when it turns red, buy back when it turns green. How hard is it to infer that even ?
capriole_charles
Thank you @cryptosako, correct!

@Germio - if you want to understand the indicator better, you can also read more about it when you follow me on Twitter/Medium
Harry_Seldon
Excellent ! Please keep us posted at next capitulation recovery :)
omidmokri
//@version=4
study("Hash Ribbons",overlay= false)

// NOTES

// The "Spring" is the confirmed Miner capitulation period:
// - The 1st "gray" circle is the start of Capitulation (1 month Hash Rate crosses UNDER 2 month Hash Rate)
// - Last "green" circle is the end of Capitulation (1 month Hash Rate crosses OVER 2 month Hash Rate)
// - The "greener" the spring gets (up until blue) represents Hash Rate recovery (it is increasing)
// - The "blue" circle is the first instance of positive momentum following recovery of Hash Rate (1m HR > 2m HR). This is historically a rewarding place to buy with limited downside.

// INPUTS

type = input('Ribbons',options=['Ribbons','Oscillator'],title="Plot Type")
len_s = input(30,"Hash Rate Short SMA (days).")
len_l = input(60,"Hash Rate Long SMA (days).")
signals = input(true, "Plot Signals")
plot_halvings = input(true,"Plot Halvings")
raw = input(false, "Plot Raw Hash Rate")

// HASH RATE MA

// HR on TV only has "yesterday's" value --> use "lookahead_on" when running live (on current bar), to pull forward yesterdays data
live_HR_raw = security("QUANDL:BCHAIN/HRATE", "D", close,gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
live_HR_short = security("QUANDL:BCHAIN/HRATE", "D", sma(close,len_s),gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
live_HR_long = security("QUANDL:BCHAIN/HRATE", "D", sma(close,len_l),gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)

hist_HR_raw = security("QUANDL:BCHAIN/HRATE", "D", close,gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_off)
hist_HR_short = security("QUANDL:BCHAIN/HRATE", "D", sma(close,len_s),gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_off)
hist_HR_long = security("QUANDL:BCHAIN/HRATE", "D", sma(close,len_l),gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_off)

daily_s10 = security(syminfo.tickerid, "D", sma(close,10),gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_off)
daily_s20 = security(syminfo.tickerid, "D", sma(close,20),gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_off)

// DAILY TIMEFRAME MGMT

is_newbar(res) =>
t = time(res) // res calculated below \/
change(t) != 0 ? true : false

// Check how many bars are in our upper (otf) timeframe
since_new_bar = barssince(is_newbar("D")) //1-360 for minutes, D = Daily, W = Weekly, M = Monthly
D_total_bars = int(na)
D_total_bars := since_new_bar == 0 ? since_new_bar[1] : D_total_bars[1] // calculates the total number of current time frame bars in the OTF

// INDICATORS

HR_short = float(na)
HR_long = float(na)
HR_raw = float(na)
s10 = float(na)
s20 = float(na)

HR_short := barstate.isrealtime ? live_HR_short : hist_HR_short
HR_long := barstate.isrealtime ? live_HR_long : hist_HR_long
HR_raw := barstate.isrealtime ? live_HR_raw : hist_HR_raw

s10 := barstate.isrealtime ? (since_new_bar == D_total_bars ? daily_s10 : s10[1]) : daily_s10
s20 := barstate.isrealtime ? (since_new_bar == D_total_bars ? daily_s20 : s20[1]) : daily_s20

capitulation = crossund
mattchimoku
Excellent work! keen to test out your indicator and will analyse vs the historical data when I get home.

The mining difficulty adjustment built into bitcoins design is incredible!
capriole_charles
@mattchimoku, cheers! I have done quite a lot of testing, it has worked superbly over the last 10 years.

You can read more about the results if you follow me.
더보기