Estrategia a largo plazo Bull-Bear


Fecha de creación: 2023-11-10 11:37:37 Última modificación: 2023-11-10 11:37:37
Copiar: 0 Número de Visitas: 680
1
Seguir
1621
Seguidores

Estrategia a largo plazo Bull-Bear

Descripción general

La estrategia determina el momento adecuado para comprar, buscando las desviaciones múltiples del indicador RSI para determinar cuándo el precio de Bitcoin podría rebotar en el corto plazo.

Principio de estrategia

  1. Utilice el indicador RSI para determinar si existe una desviación múltiple

    • Defina el parámetro del indicador RSI (default 14 ciclos)
    • Calcular el RSI actual
    • En la mayoría de los casos, los resultados son negativos.
      • El RSI tiene puntos bajos y bajos
      • En ese momento, los precios estaban más bajos.
      • El RSI se ha mantenido en niveles altos y bajos
      • En ese momento, los precios se elevaron y bajaron.
  2. Determinar si el RSI está por debajo del umbral

    • Define el límite de la brecha de determinación de puntos bajos del RSI (default 40)
    • Si el RSI actual está por debajo de ese umbral, puede ser un buen momento para comprar.
  3. Determine si el precio de cierre está por debajo de los mínimos de inicio

    • Si es así, verifique más lejos de la señal de compra.
  4. Definición de las condiciones de salida de stop loss

    • Porcentaje de pérdidas de parada de configuración (el 5% por defecto)
    • Si el retiro alcanza ese porcentaje, se detiene el retiro
  5. Definición de las condiciones de salida de ganancias

    • Establecer el límite de determinación del RSI para el punto más alto (el 75 por defecto)
    • Si el RSI sube hasta ese umbral, las ganancias se retiran

Análisis de las ventajas

  1. El uso del RSI para determinar el desvío de los inversores puede ser eficaz para capturar el momento en que los precios reboten en el corto plazo.

  2. El análisis de los puntos bajos del RSI permite determinar puntos de compra específicos antes de un rebote.

  3. Establecer condiciones de stop loss y stop-loss para administrar el riesgo y los beneficios de las operaciones

  4. La estrategia hace referencia a las características del indicador RSI en una gran cantidad de transacciones de bitcoin en el mercado real, lo que es muy adecuado para hacer más de bitcoin en el corto plazo.

  5. La configuración de los parámetros de la estrategia es razonable y se puede adaptar a diferentes situaciones de mercado, lo que favorece la aplicación en el mercado real

Análisis de riesgos

  1. El indicador RSI puede fallar y, de ser mal interpretado, puede generar pérdidas en las operaciones.

  2. Un solo indicador técnico es propenso a generar falsas señales y debe usarse en combinación con otros indicadores

  3. Se necesita elegir el valor de los parámetros adecuados, si no se ajusta correctamente, afectará la rentabilidad de la estrategia

  4. Para hacer transacciones en múltiples direcciones, es necesario prestar atención a las tendencias a gran escala y evitar operaciones en contra.

  5. La necesidad de prestar atención a los costos de las transacciones, ya que la frecuencia de las transacciones puede afectar a los ingresos finales

  6. Los parámetros de optimización deben ser evaluados periódicamente y las estrategias deben ajustarse a los diferentes mercados.

Dirección de optimización

  1. Se puede considerar la inclusión de otros indicadores, como la media móvil, para establecer condiciones de filtrado y reducir las falsas señales.

  2. Se puede probar la configuración de los parámetros de diferentes períodos para encontrar la combinación óptima de los parámetros

  3. Se puede combinar un análisis de tendencias a un nivel más amplio para evitar hacer más cuando la tendencia se invierte.

  4. Se puede configurar un stop loss dinámico, que aumenta el stop loss gradualmente cuando las ganancias alcanzan un cierto nivel

  5. Se puede establecer un límite de pérdidas diferente según la situación de cada posición

  6. Se pueden introducir tecnologías como el aprendizaje automático para optimizar automáticamente los parámetros.

Resumir

Esta estrategia determina el momento de comprar mediante la captura de la desviación múltiple del indicador RSI y la probabilidad de que el bitcoin suba de rebote en el corto plazo. La estrategia es simple y efectiva, se basa en una gran cantidad de experiencia en el mercado real y es muy adecuada para el bitcoin.

Código Fuente de la Estrategia
/*backtest
start: 2023-11-02 00:00:00
end: 2023-11-09 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bullish Divergence Short-term Long Trade Finder", overlay=false)

max_range = 50 
min_range = 5
///pivot_left = 25
pivot_right = 5

//Inputs
src = input(close, title="Source")
rsiBearCondMin = input.int(50, title="RSI Bearish Condition Minimum")
rsiBearCondSellMin = input.int(60, title="RSI Bearish Condition Sell Min")
rsiBullCondMin = input.int(40, title="RSI Bull Condition Minimum")
pivot_left = input.int(25, title="Look Back this many candles")
SellWhenRSI = input.int(75, title="RSI Sell Value")
StopLossPercent = input.int(5, title="Stop loss Percentage")
rsiPeriod = input.int(14, title="RSI Length")
rsiOversold = input.int(30, title="RSI Oversold Level")
rsiOverbought = input.int(70, title="RSI Overbought Level")

//RSI Function/ value 
rsi_value = ta.rsi(src, rsiPeriod)
rsi_hour = request.security(syminfo.tickerid,'60',rsi_value)
rsi_4hour = request.security(syminfo.tickerid,'240',rsi_value)
rsi_Day = request.security(syminfo.tickerid,'D',rsi_value)
plot(rsi_value, title="RSI", linewidth = 2, color = color.black, display =display.all)
hline(50, linestyle = hline.style_dotted)
rsi_ob = hline(70, linestyle=hline.style_dotted)
rsi_os = hline(30, linestyle=hline.style_dotted)
fill(rsi_ob, rsi_os, color.white)
SL_percent = (100-StopLossPercent)/100 

pivot_low_true = na(ta.pivotlow(rsi_value, pivot_left, pivot_right)) ? false : true

//create a function that returns truee/false
confirm_range(x) => 
    bars = ta.barssince(x == true) //counts the number of bars since thee last time condition was true
    min_range <= bars and bars <= max_range // makees sure bars is less than max_range(50) and greater than min_range(5) 


// RSI higher check / low check
RSI_HL_check = rsi_value<rsiBullCondMin and rsi_value > ta.valuewhen(pivot_low_true and rsi_value<rsiBullCondMin, rsi_value,1) and confirm_range(pivot_low_true[1]) 

// price check for lower low
price_ll_check = low < ta.valuewhen(pivot_low_true, low, 1)

bullCond = price_ll_check and RSI_HL_check and pivot_low_true

//pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right))  ? false : true
pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right))   ? false : true

// RSI Lower check / high check ensuring that the RSI dips below 30 to start divergence 
RSI_LH_check = rsi_value < ta.valuewhen(pivot_high_true and rsi_value>rsiBearCondMin, rsi_value,1) and confirm_range(pivot_high_true[1]) //and rsi_value[pivot_right] >= 65

// price check for lower low
price_hh_check = high > ta.valuewhen(pivot_high_true, high, 1)

bearCond = price_hh_check and RSI_LH_check and pivot_high_true and rsi_value[3] > rsiBearCondSellMin

plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bullCond ? color.green : color.new(color.white, 100)))

plotshape(bullCond ? rsi_value : na , text = "BUY", style =  shape.labelup, location = location.absolute, color = color.green, offset =0, textcolor = color.white )

plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bearCond ? color.red : color.new(color.white, 100)))

plotshape(bearCond ? rsi_value : na , text = "Sell", style =  shape.labelup, location = location.absolute, color = color.red, offset =0, textcolor = color.white )
//[bbUpperBand, bbMiddleBand, bbLowerBand] = ta.bb(src, bbPeriod, bbDev)

//Entry Condition
longCondition = false

//bullEntry = bullCond and RSI_HL_check and confirm_range(pivot_low_true[1])
if bullCond and close < ta.valuewhen(pivot_low_true, low, 1) and rsi_hour <40 ///and rsi_4hour<40 //and rsi_Day<50
    strategy.entry("Long", strategy.long)
    
//Exit Condition
if (strategy.position_size > 0 and close < strategy.position_avg_price*SL_percent)
    strategy.close("Long")
if (strategy.position_size > 0 and (rsi_value > SellWhenRSI or bearCond))
    strategy.close("Long")