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.
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.
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
Há um certo atraso, possivelmente perdendo oportunidades de rápida reversão
Podem ocorrer mais fechamentos de equilíbrio ou perdedores em mercados variados
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
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)