
La stratégie de la chaîne de hachage de Bitcoin utilise l’indicateur de taux de hachage du réseau Bitcoin pour faire plus lorsque la défaillance du mineur est terminée et commence à se rétablir, et pour faire moins lorsque le mineur commence à s’épuiser, et pour tirer profit en capturant les fluctuations du cycle du mineur.
La stratégie utilise les données d’IntoTheBlock pour afficher le hash quotidien de Bitcoin dans une vue de transaction. Elle calcule les moyennes mobiles rapides et les moyennes mobiles lentes, faisant plus lorsque la moyenne mobile rapide est traversée par la moyenne mobile lente, considérant que la défaillance des mineurs est terminée et commence à se rétablir; et vide lorsque la moyenne mobile lente est traversée par la moyenne mobile rapide, considérant que les mineurs commencent à faiblir.
Plus précisément, la stratégie définit deux moyennes mobiles: SignalLine (longueur par défaut de 30 jours) et LongLine (longueur par défaut de 60 jours). Lorsque la LongLine est traversée au-dessus de la SignalLine, elle est considérée comme un signal de plus; lorsque la LongLine est traversée en dessous de la SignalLine, elle est considérée comme un signal de moins. Selon les paramètres de direction, la stratégie ouvre une position en plus ou en moins lorsque le signal correspondant apparaît.
Le plus grand avantage de cette stratégie est qu’elle utilise les caractéristiques du réseau Bitcoin lui-même, reflétant les cycles d’expansion et de contraction des mineurs à travers le taux de hachage, pour former un signal de transaction. Cela évite l’analyse complexe du prix Bitcoin lui-même et utilise les données du réseau comme indicateur de prévision, relativement simple et fiable.
Un autre avantage est que les paramètres sont moins nombreux. La plupart des paramètres de la moyenne rapide et de la moyenne lente sont très simples et ne sont pas sur-optimisés.
Le principal risque de cette stratégie réside dans la qualité des fournisseurs de données de taux de hachage. Si les données présentent des problèmes de qualité, cela affectera gravement l’exactitude du signal.
L’autre risque est le risque systémique du marché lui-même. Même en capturant les caractéristiques de l’expansion et de la contraction des mineurs, il est possible de subir des pertes en cas de forte volatilité du marché dans son ensemble. Il est nécessaire de prêter attention à davantage d’indicateurs de marché pour juger du risque systémique.
On peut envisager de combiner les indicateurs de prix et d’augmenter la certitude d’ouverture de la position lorsque les indicateurs de prix indiquent également un signal de revers. Par exemple, la combinaison d’un indicateur de forme de ligne K, d’un indicateur de moyenne mobile, etc., et d’ouvrir une position lorsque les deux vous indiquent de faire plus ou de faire moins.
Il est possible de tester des stratégies de construction de bandes de hachage à différentes périodes. Par exemple, en utilisant un indicateur de périphérie ou de ligne lunaire, filtrer l’excès de bruit et juger d’un renversement de tendance à un niveau plus élevé.
Des modèles d’apprentissage automatique peuvent être essayés pour déterminer les points critiques de l’inversion du taux de hachage. Les modèles d’apprentissage automatique peuvent mieux simuler les caractéristiques complexes de l’inversion que les moyennes mobiles à paramètres fixes.
L’idée générale de cette stratégie est claire et simple, elle reflète le cycle des mineurs à travers les données du réseau Bitcoin lui-même, forme des signaux de transaction, évite les prévisions de prix complexes et a une certaine fiabilité. Cependant, il reste encore besoin de plus d’optimisation et de combinaisons pour réduire l’impact du risque systémique du marché et améliorer la stabilité de la rentabilité.
/*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")