Strategi BTC Hash Ribbons memanfaatkan indikator hash rate dari jaringan Bitcoin untuk pergi panjang ketika kapitulasi penambang berakhir dan pemulihan dimulai, dan pergi pendek ketika penambang mulai kapitulasi, untuk mendapatkan keuntungan dari fluktuasi siklus penambang.
Strategi ini menggunakan data IntoTheBlock untuk menunjukkan hash rate harian Bitcoin pada tampilan perdagangan. Ini menghitung rata-rata bergerak cepat dan rata-rata bergerak lambat. Ketika rata-rata bergerak cepat melintasi di atas rata-rata bergerak lambat, itu akan panjang, percaya bahwa kapitulasi penambang telah berakhir dan pemulihan telah dimulai. Ketika rata-rata bergerak cepat melintasi di bawah rata-rata bergerak lambat, itu akan pendek, percaya bahwa penambang mulai kapitulasi.
Secara khusus, strategi mendefinisikan dua garis rata-rata bergerak: SignalLine (panjang default 30 hari) dan LongLine (panjang default 60 hari). Ketika SignalLine melintasi di atas LongLine, itu dianggap sinyal panjang; ketika SignalLine melintasi di bawah LongLine, itu dianggap sinyal pendek. Menurut parameter arah, strategi akan membuka posisi panjang atau pendek ketika sinyal yang sesuai muncul.
Keuntungan terbesar dari strategi ini adalah bahwa ia memanfaatkan karakteristik jaringan Bitcoin itu sendiri, mencerminkan siklus ekspansi dan kontraksi penambang melalui hash rate untuk menghasilkan sinyal perdagangan.
Keuntungan lain adalah jumlah parameter yang kecil. Yang utama hanyalah pengaturan panjang rata-rata bergerak cepat dan lambat, yang sangat sederhana tanpa overfit. Pada saat yang sama, beberapa algoritma disediakan untuk pemilihan rata-rata bergerak, yang memungkinkan penyesuaian yang fleksibel.
Risiko utama dari strategi ini adalah kualitas penyedia data hash rate. Jika ada masalah kualitas data, itu akan sangat mempengaruhi keakuratan sinyal. Saat ini IntoTheBlock menyediakan data berkualitas baik, tetapi keberlanjutan juga membutuhkan perhatian.
Risiko lain adalah risiko sistemik dari pasar itu sendiri. Bahkan jika karakteristik penambang' ekspansi dan kontraksi ditangkap, itu masih dapat menderita kerugian jika terjadi fluktuasi besar di pasar secara keseluruhan. Lebih banyak indikator pasar perlu dipantau untuk menentukan risiko sistemik.
Pertimbangkan untuk menggabungkan dengan indikator harga untuk meningkatkan kepercayaan saat membuka posisi, seperti menggabungkan indikator pola K-line, indikator rata-rata bergerak, dll. Hanya buka posisi ketika keduanya menunjukkan sinyal panjang atau pendek.
Uji indikator pita hash berdasarkan siklus yang berbeda untuk membangun strategi. Misalnya, gunakan indikator mingguan atau bulanan untuk menyaring terlalu banyak kebisingan dan menentukan pembalikan tren pada kerangka waktu yang lebih besar.
Cobalah model pembelajaran mesin untuk menentukan titik pembalikan utama dari hash rate. Dibandingkan dengan rata-rata bergerak parameter tetap, model pembelajaran mesin dapat lebih baik mensimulasikan karakteristik kompleks pembalikan.
Logika keseluruhan strategi ini jelas dan sederhana. Dengan mencerminkan siklus penambang melalui data jaringan Bitcoin sendiri, itu membentuk sinyal perdagangan sambil menghindari perkiraan harga yang kompleks, memberinya keandalan tertentu.
/*backtest start: 2023-01-05 00:00:00 end: 2024-01-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Powerscooter // Since IntoTheBlock only provides daily hashrate data, this chart might look chunky on lower timeframes, even with smoothing. //@version=5 strategy("BTC Hashrate ribbons", overlay = true) enableDirection = input(0, title="Both(0), Long(1), Short(-1)", group="Direction") smoothingS = input.string(title="Smoothing short MA", defval="SMA", options=["SMA", "RMA", "EMA", "WMA"], group="Hashrate Settings") SmoothLengthS = input(30, 'Short MA length', group="Hashrate Settings") smoothingL = input.string(title="Smoothing long MA", defval="SMA", options=["SMA", "RMA", "EMA", "WMA"], group="Hashrate Settings") SmoothLengthL = input(60, 'Long MA length', group="Hashrate Settings") ma_functionS(source, length) => switch smoothingS "RMA" => ta.rma(source, length) "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) => ta.wma(source, length) ma_functionL(source, length) => switch smoothingL "RMA" => ta.rma(source, length) "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) => ta.wma(source, length) HashRate = request.security("INTOTHEBLOCK:BTC_HASHRATE", "D", close) SignalLine = ma_functionS(HashRate, SmoothLengthS) LongLine = ma_functionL(HashRate, SmoothLengthL) plot(ma_functionS(HashRate, SmoothLengthS), "Short MA", color=color.yellow) plot(ma_functionL(HashRate, SmoothLengthL), "Long MA", color=color.blue) LongCondition = ta.crossover(SignalLine, LongLine) ShortCondition = ta.crossunder(SignalLine, LongLine) //Long Entry Condition if LongCondition and (enableDirection == 1 or enableDirection == 0) strategy.entry("Long", strategy.long) if LongCondition and (enableDirection == -1) strategy.close("Short") //Short Entry condition if ShortCondition and (enableDirection == -1 or enableDirection == 0) strategy.entry("Short", strategy.short) if ShortCondition and (enableDirection == 1) strategy.close("Long")