Estratégia de compra de queda de preço em tendência de queda com stop loss

Autora:ChaoZhang, Data: 2024-01-05 14:18:05
Tags:

img

Resumo

Esta estratégia utiliza o indicador RSI para determinar a direção potencial da tendência do mercado, combinado com o indicador Bollinger Bands para identificar as principais áreas de suporte e resistência, e procura oportunidades de baixa absorção nos mercados de choque de tendência para estabelecer posições longas e obter lucros em áreas sobrecompradas.

Estratégia lógica

  1. Use o indicador RSI para determinar a direção potencial da tendência do mercado. RSI abaixo de 40 é considerado uma área de sobrevenda em que o mercado pode se tornar otimista. RSI acima de 50 é considerado uma área de sobrecompra em que o mercado pode se tornar baixa.

  2. Use o indicador Bollinger Bands para identificar as principais áreas de suporte e resistência. A faixa média das Bandas de Bollinger é a linha média móvel do preço, e as bandas superior e inferior formam o canal de desvio padrão do preço.

  3. Quando o RSI < 40 e o preço se aproxima da faixa inferior de Bollinger, é determinado como uma oportunidade longa de baixa absorção para estabelecer uma posição longa.

  4. Quando o RSI > 50 ou os lucros excederem 50%, fechar posições longas para obter lucros e cortar perdas.

Análise das vantagens

  1. Usar o RSI para determinar a direção potencial da tendência do mercado para evitar a negociação contra a tendência.

  2. Identificar o momento preciso de entrada combinando com as bandas de Bollinger para localizar os pontos de baixa absorção.

  3. Adotar a metodologia de choque de tendência para evitar ficar preso.

  4. Mecanismo flexível de stop profit e stop loss para maximizar os lucros.

Análise de riscos

  1. Parâmetros de Bollinger incorretos podem não localizar corretamente a área de suporte.

  2. As rupturas da tendência ou as rupturas falsas podem conduzir a erros nos julgamentos de sobrecompra e sobrevenda.

  3. A definição inadequada dos pontos de stop-profit e stop-loss pode conduzir a uma saída prematura ou a perdas aumentadas.

Orientações de otimização

  1. Otimizar os parâmetros de Bollinger para uma identificação mais precisa das áreas de suporte e resistência.

  2. Incorporar outros indicadores como MACD e KDJ para filtrar sinais falsos.

  3. Otimizar dinamicamente os algoritmos de stop profit e stop loss para maximizar os lucros e minimizar as perdas.

Resumo

Esta estratégia determina a direção potencial da tendência com o RSI, combinado com as Bandas de Bollinger para identificar áreas de suporte, realizando compras baixas e vendas altas, que é uma estratégia típica de choque de tendência.


/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("price drop buy in", overlay=true, initial_capital=1000, max_bars_back=24)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"


///////////// RSI
RSIlength = input(60,title="RSI Period Length") 
RSIoverSold = 40
RSIoverBought = 50
price = close
vrsi = rsi(close, RSIlength)

smaLong = sma(close,80)
smaShort = sma(close,40)

///////////// Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Period Length")
BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev

longcondition = (price < BBlower and vrsi < RSIoverSold) 

    // vrsi < RSIoverSold

shortcondition = (RSIoverBought and strategy.openprofit > 50 )  or price > BBupper






if(longcondition)
    strategy.entry('buy', strategy.long, when = window())
    
if(shortcondition)
    strategy.entry('sell', strategy.short, when = window())



Mais.