Estrategia de compra de caída de precios en tendencia bajista con stop loss

El autor:¿ Qué pasa?, Fecha: 2024-01-05 14:18:05
Las etiquetas:

img

Resumen general

Esta estrategia utiliza el indicador RSI para determinar la dirección potencial de la tendencia del mercado, combinado con el indicador Bollinger Bands para identificar áreas clave de soporte y resistencia, y busca oportunidades de baja absorción en los mercados de choque de tendencia para establecer posiciones largas y obtener ganancias en áreas sobrecompradas.

Estrategia lógica

  1. Utilice el indicador RSI para determinar la dirección de tendencia potencial del mercado. RSI por debajo de 40 se considera un área de sobreventa donde el mercado podría volverse alcista. RSI por encima de 50 se considera un área de sobrecompra donde el mercado podría volverse bajista.

  2. Utilice el indicador de Bollinger Bands para identificar áreas clave de soporte y resistencia. La banda media de Bollinger Bands es la línea media móvil del precio, y las bandas superior e inferior forman el canal de desviación estándar del precio. Los precios que se acercan a la banda inferior presentan bajas oportunidades de absorción.

  3. Cuando el RSI <40 y el precio se acerca a la banda inferior de Bollinger, se determina como una oportunidad larga de baja absorción para establecer una posición larga.

  4. Cuando el índice de rentabilidad sea > 50 o los beneficios superen el 50%, cierre las posiciones largas para obtener ganancias y reducir las pérdidas.

Análisis de ventajas

  1. Utilice el RSI para determinar la posible dirección de la tendencia del mercado para evitar el comercio contra la tendencia.

  2. Identificar el tiempo de entrada preciso combinado con bandas de Bollinger para localizar puntos de absorción bajos.

  3. Adopte la metodología de choque de tendencia para evitar quedar atrapado.

  4. Mecanismo flexible de detención de ganancias y pérdidas para maximizar las ganancias.

Análisis de riesgos

  1. Los parámetros de Bollinger incorrectos pueden no localizar correctamente el área de soporte.

  2. Las rupturas de tendencia o las rupturas falsas podrían dar lugar a errores en los juicios de sobrecompra y sobreventa.

  3. El establecimiento inadecuado de los puntos de stop-profit y stop-loss puede dar lugar a una salida prematura o a pérdidas ampliadas.

Direcciones de optimización

  1. Optimizar los parámetros de Bollinger para una identificación más precisa de las áreas de soporte y resistencia.

  2. Incorpore otros indicadores como MACD y KDJ para filtrar señales falsas.

  3. Optimice dinámicamente los algoritmos de stop profit y stop loss para maximizar las ganancias y minimizar las pérdidas.

Resumen de las actividades

Esta estrategia determina la dirección de la tendencia potencial con el RSI, combinada con las bandas de Bollinger para identificar áreas de soporte, realizando compras bajas y ventas altas, que es una estrategia típica de choque de tendencia.


/*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())



Más.