
Стратегия биткойн-хаш-пояса использует показатель хаш-коэффициента биткойн-сети, чтобы делать больше, когда майнер заканчивает и начинает восстанавливаться, и делать пустоту, когда майнер начинает исчезать, чтобы получать прибыль, захватывая колебания майнерского цикла.
Эта стратегия использует данные IntoTheBlock, чтобы отобразить ежедневную хэш-статус биткоина в торговом представлении. Она рассчитывает быстрые и медленные скользящие средние значения. При пересечении медленного скользящего среднего значения над быстрыми скользящими средними значениями, считается, что майнеры закончили и начали восстанавливаться.
В частности, стратегия определяет две движущиеся средние: SignalLine (дифолтная длина 30 дней) и LongLine (дифолтная длина 60 дней). Когда SignalLine пересекает LongLine, считается, что он делает много сигналов; когда SignalLine пересекает LongLine, считается, что он делает пустые сигналы. В зависимости от параметров направления, стратегия открывает позиции, когда появляется соответствующий сигнал.
Самым большим преимуществом этой стратегии является то, что она использует особенности самой сети биткоина, отражая циклы расширения и сокращения шахтеров с помощью хаширования, чтобы сформировать торговый сигнал. Это позволяет избежать сложного анализа самой цены биткоина, использовать сетевые данные в качестве прогнозного индикатора, относительно простой и надежной.
Еще одним преимуществом является меньшее количество параметров. Основная их часть - это настройка длины быстрого среднего и медленного среднего, очень простая и не слишком оптимизированная. В то же время, алгоритмы передвижных средних также предоставляют множество вариантов, которые можно гибко регулировать.
Основным риском этой стратегии является качество поставщиков данных по хэш-рейсу. Если есть проблемы с качеством данных, это может серьезно повлиять на точность сигнала. В настоящее время качество данных, предоставляемых IntoTheBlock, является хорошим, но также необходимо обратить внимание на непрерывность их услуг.
Другим риском является системный риск рынка. Даже если мы поймем, что рынок в целом сильно колеблется, мы все равно можем потерять деньги, даже если мы поймем, что рынок в целом сильно колеблется.
Можно рассмотреть возможность объединения с ценовым индикатором, чтобы увеличить уверенность в открытии позиции, когда ценовой индикатор также показывает обратный сигнал. Например, в сочетании с K-линейным индикатором, индикатором движущейся средней и т. Д.
Можно тестировать стратегии построения индексов хеш-пояса с различными циклами. Например, использовать индикаторы круговой линии или лунной линии, отфильтровывать избыточный шум и определять более высокий уровень обратной тенденции.
Ключевые моменты, по которым можно попробовать модели машинного обучения, чтобы определить обратную степень хашизма. Модели машинного обучения могут лучше моделировать сложные характеристики обратного отсчета, чем фиксированные параметры скользящих средних.
Общая концепция этой стратегии ясна и проста, она отражает циклы майнеров с помощью данных самой сети биткоина, формирует торговые сигналы, избегает сложных ценовых прогнозов и имеет определенную надежность. Однако все еще требуется дальнейшая оптимизация и объединение, снижение влияния системного риска на рынок, повышение стабильной прибыльности.
/*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")