Esta estratégia, através da observação da relação entre o preço e a linha média de longo período (como a linha de 200 dias), faz uma posição maior quando o preço quebra a linha média e uma posição baixa quando o preço cai abaixo da linha média, pertence à estratégia de operação de ruptura de choque de linha longa. A estratégia busca posse de longo prazo e reduz a frequência de negociação.
Princípios da estratégia:
Calcule uma média móvel de um longo período, com um parâmetro típico de linha de 200 dias.
Quando o preço de fechamento quebra a linha média de baixo, a compra é feita com uma operação múltipla.
Quando o preço de fechamento cai acima da linha média, a operação de venda de posição estável é executada.
No estado de multiplicação, a posse é mantida até que o preço caia abaixo da linha média de parada.
Os benefícios da estratégia:
A linha média de linha longa é eficaz para identificar a tendência de linha longa no preço.
A forma de negociação de ruptura pode capturar a inversão da linha de longo prazo das ações.
Reduzir a frequência das transações ajuda a reduzir os custos e riscos das transações.
Os riscos desta estratégia:
O problema de atraso na linha média de longo período é mais grave, e o ponto de entrada não é bom.
Não é possível restringir os prejuízos causados por oscilações de retorno após a ruptura.
Pequenas e frequentes rupturas de tremores podem levar a pequenas perdas consecutivas.
Em resumo, a estratégia HODL julga a oportunidade de posse por meio de oscilações médias de longo período, reduzindo a frequência de negociação. No entanto, há espaço para melhorias na otimização de parâmetros e na configuração de stop loss para controlar a retração e obter ganhos estáveis a longo prazo.
/*backtest
start: 2022-09-05 00:00:00
end: 2023-04-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("HODLBot", default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_every_tick=true, overlay=true)
//// Time limits
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(01, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2029, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(1, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriod() => true
maPeriod = input(200, "MA Period")
smoothing = input(defval="EMA", options=["EMA", "SMA"])
ma(smoothing, src, length) =>
if smoothing == "EMA"
ema(src, length)
else
if smoothing == "SMA"
sma(src, length)
//// Main ////
movingAverage = ma(smoothing, close, maPeriod)
plot(movingAverage, color=orange, style = line, linewidth = 4)
// very simple, price over MA? Buy and HODL
if (testPeriod() and close > movingAverage)
strategy.entry("HODL", strategy.long)
// Price under, close long
if (testPeriod() and close < movingAverage)
strategy.close("HODL")