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.
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.
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.
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.
Quando o RSI > 50 ou os lucros excederem 50%, fechar posições longas para obter lucros e cortar perdas.
Usar o RSI para determinar a direção potencial da tendência do mercado para evitar a negociação contra a tendência.
Identificar o momento preciso de entrada combinando com as bandas de Bollinger para localizar os pontos de baixa absorção.
Adotar a metodologia de choque de tendência para evitar ficar preso.
Mecanismo flexível de stop profit e stop loss para maximizar os lucros.
Parâmetros de Bollinger incorretos podem não localizar corretamente a área de suporte.
As rupturas da tendência ou as rupturas falsas podem conduzir a erros nos julgamentos de sobrecompra e sobrevenda.
A definição inadequada dos pontos de stop-profit e stop-loss pode conduzir a uma saída prematura ou a perdas aumentadas.
Otimizar os parâmetros de Bollinger para uma identificação mais precisa das áreas de suporte e resistência.
Incorporar outros indicadores como MACD e KDJ para filtrar sinais falsos.
Otimizar dinamicamente os algoritmos de stop profit e stop loss para maximizar os lucros e minimizar as perdas.
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())