Estratégia de pesca de fundo

Autora:ChaoZhang, Data: 2024-01-18 15:44:10
Tags:

img

Resumo

A estratégia de pesca de fundo é uma estratégia típica de compra baixa e venda alta. Utiliza o indicador RSI para identificar pontos de sobrevenda e emite um sinal de compra quando o preço cai até certo ponto, a fim de acumular tokens a um preço mais baixo.

Estratégia lógica

Esta estratégia depende principalmente do indicador RSI para identificar condições de sobrevenda. A faixa normal do indicador RSI é de 0 a 100. Quando o indicador RSI cai abaixo do limiar de entrada definido de 35, é emitido um sinal de compra. Quando o indicador RSI sobe acima do limiar de saída definido de 65, é emitido um sinal de venda. Isso permite a entrada e saída oportunas em pontos de reversão da tendência para implementar compras baixas e vendas altas.

Além disso, uma média móvel simples de 100 períodos também é introduzida na estratégia para formar uma condição combinada com o indicador RSI. Somente quando o preço cair abaixo da média móvel, enquanto o RSI entra na zona de sobrevenda, o sinal de compra será acionado. Isso pode ajudar a filtrar falhas até certo ponto e reduzir negócios desnecessários.

Vantagens da estratégia

  • Identificar eficazmente os pontos de sobrevenda e sobrecompra com o RSI para entrada em pontos de reversão, obtendo uma melhor base de custo

  • Filtrar sinais falsos combinando com a média móvel, evitando comprar no pico

  • Adequado para a detenção a médio e longo prazo, capaz de detectar potenciais tendências de alta

Riscos e soluções

  • Há um certo atraso, possivelmente perdendo oportunidades de rápida reversão

    • Redução do período de cálculo do RSI adequadamente para acelerar a reação do indicador
  • Podem ocorrer mais fechamentos de equilíbrio ou perdedores em mercados variados

    • Ajustar o período da média móvel ou remover a média móvel
    • Relaxar adequadamente os parâmetros de entrada e saída do RSI

Orientações de otimização

  • Optimização dos parâmetros de ensaio em diferentes moedas e prazos

  • Tente combinar outros indicadores como MACD, Bandas de Bollinger etc.

  • Ajustar dinamicamente os parâmetros do RSI ou os parâmetros da média móvel

  • Otimizar as estratégias de dimensionamento de posição

Resumo

A estratégia de pesca de fundo é uma estratégia geral robusta e prática de baixa compra e alta venda. Ao filtrar duas vezes com RSI e média móvel, ele pode efetivamente conter sinais falsos e obter uma base de custo mais baixa com parâmetros otimizados. Ao mesmo tempo, a otimização adequada dos parâmetros do indicador e o ajuste das estratégias de posição podem levar a uma maior eficiência de uso de capital.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 1m
basePeriod: 1m
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/
// © Coinrule

//@version=4
strategy(shorttitle='Optimized RSI Strategy',title='Optimized RSI Strategy - Buy The Dips (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"



// RSI inputs and calculations
lengthRSI = (14)
RSI = rsi(close, lengthRSI)

RSI_entry = input(35, title = 'RSI Entry', minval=1)
RSI_exit = input(65, title = 'RSI Close', minval=1)

//Calculate Moving Averages
movingaverage_signal = sma(close, input(100))

//Entry 
strategy.entry(id="long", long = true, when = RSI< RSI_entry and close < movingaverage_signal and window())

//Exit
//RSI
strategy.close("long", when = RSI > RSI_exit and window())

plot (movingaverage_signal)


Mais.