
A estratégia de bull market chase and kill down visa capturar retrocessos e compras usando o indicador RSI durante a fase de bull market e comprar usando a confirmação de tendência de dupla linha de equilíbrio. Quando o preço retorna à tendência de múltipla linha, utilize o sinal de confirmação de linha de equilíbrio para obter lucro.
A estratégia define primeiro a data de início e a data de término da retomada, e depois o parâmetro RSI e o parâmetro de média lenta.
A lógica do sinal de estratégia é:
Quando o RSI é menor do que o limiar definido (default 35), o indicador está na zona de oversold e emite um sinal de compra;
Ao mesmo tempo, a média rápida deve ser mais alta do que a média lenta, indicando que a tendência atual é multi-cabeça, evitando a compra na liquidação;
Quando o preço está acima da linha média rápida e a linha média rápida está acima da linha média média, um sinal de equilíbrio é emitido.
A aplicação racional do RSI acima e o princípio de cruzamento de duas linhas de equilíbrio, para capturar oportunidades de compra de retorno em um mercado de touros e lucrar em tempo hábil quando o preço retorna à tendência.
O indicador RSI é ideal para capturar pontos de reversão. Quando o RSI entra na zona de superalimento, pode efetivamente bloquear o momento de compra na zona de superalimento. Ao mesmo tempo, combinando a linha de equilíbrio para julgar a tendência, pode filtrar a situação de choque e evitar a repetição de compras na liquidação.
Se o parâmetro RSI for definido como muito grande ou muito pequeno, perderá o efeito de julgar com precisão a zona de venda excessiva. Se o parâmetro de linha média for escolhido incorretamente, a linha rápida ou lenta também julgará a tendência errada.
Pode-se otimizar o efeito de suspensão ajustando os parâmetros RSI, selecionando o ciclo de equilíbrio adequado e testando diferentes métodos de suspensão.
Pode-se testar diferentes parâmetros de períodos RSI para otimizar o julgamento de áreas de venda excessiva. Ajustar a combinação de períodos de linha média para encontrar o melhor parâmetro para julgar a tendência. Além disso, pode-se testar outros métodos de parada, como o stop stop móvel, o stop de resistência e outros. A gestão de posição otimizada pode controlar melhor o risco.
A estratégia geral do mercado de corrida de bulls é clara e razoável, usa integralmente o RSI e o princípio da linha de equilíbrio para capturar efetivamente o momento de compra e o momento de parada em situações de tendência. O teste de parâmetros e de parada e a otimização do gerenciamento de posições podem aumentar ainda mais a estabilidade da estratégia e o desempenho do estoque.
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(shorttitle='Buy The Dips in Bull Market',title='Buy The Dips in Bull Market (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")
fromDay = input(defval = 10, title = "From Day")
fromYear = input(defval = 2020, title = "From Year")
thruMonth = input(defval = 1, title = "Thru Month")
thruDay = input(defval = 1, title = "Thru Day")
thruYear = input(defval = 2112, title = "Thru Year")
showDate = input(defval = true, title = "Show Date Range")
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
// RSI inputs and calculations
lengthRSI = input(14, title = 'RSI period', minval=1)
RSI = rsi(close, lengthRSI)
//MA inputs and calculations
inSignal=input(9, title='MAfast')
inlong1=input(50, title='MAslow')
inlong2=input(200, title='MAslow')
MAfast= sma(close, inSignal)
MAslow= sma(close, inlong1)
MAlong= sma(close, inlong2)
RSI_buy_signal= input(35, title='RSI Buy Signal')
//Entry
strategy.entry(id="long", long = true, when = RSI < RSI_buy_signal and MAlong < MAslow and window())
//Exit
strategy.close("long", when = close > MAfast and MAfast > MAslow and window())
plot(MAslow, color=color.orange, linewidth=1)
plot(MAfast, color=color.purple, linewidth=1)
plot(MAlong, color=color.blue, linewidth=2)