Esta estratégia observa oscilações de preços em torno de médias móveis de longo período (por exemplo, 200 dias) para determinar sinais de retenção, breakouts de negociação para entrada de posição e usando a quebra abaixo como stop loss.
Estratégia lógica:
Calcular uma média móvel de longo prazo, normalmente de 200 dias.
Entre em longo quando o preço ultrapassa a média móvel.
Sair longo quando o preço voltar abaixo da média móvel.
Mantenha a posição longa até quebrar abaixo do stop loss.
Vantagens:
A MA a longo prazo identifica eficazmente as tendências a médio e longo prazo.
A negociação de breakout capta as reversões de longo prazo em tempo útil.
Uma menor frequência de negociação reduz custos e riscos.
Riscos:
A maior diferença entre as AAs é significativa, o que resulta num mau calendário de entrada.
Não há limite para os riscos de retirada após a ruptura.
Frequentes e pequenas fugas trazem perdas pequenas e sustentadas.
Em resumo, esta estratégia HODL usa oscilação de MA longa para determinar o tempo de retenção, minimizando a frequência do comércio.
/*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")