Esta estrategia trata de identificar oportunidades a corto plazo donde Bitcoin es probable que rebote buscando patrones de divergencia alcista en el indicador RSI, y así determinar buenos puntos de entrada para operaciones largas.
Identificar la divergencia alcista con el indicador RSI
Compruebe si el valor del RSI está por debajo del umbral
Compruebe si el precio de cierre está por debajo del mínimo de divergencia anterior
Definir las condiciones de salida de pérdida de parada
Definir las condiciones de salida de las ganancias
El uso de la divergencia del RSI puede capturar eficazmente las oportunidades de rebote de precios a corto plazo
La combinación con el umbral bajo del RSI ayuda a determinar puntos de entrada específicos
Las configuraciones de stop loss y take profit ayudan a gestionar el riesgo y la recompensa
La estrategia hace referencia a mucha experiencia comercial real con las señales Bitcoin RSI y es muy adecuada para Bitcoin scalping largo
Los parámetros razonables hacen que la estrategia sea adaptable a las diferentes condiciones del mercado y sea adecuada para el comercio en vivo.
Divergencia del RSI puede fallar, dando lugar a pérdidas de operaciones si se identifica erróneamente
Un solo indicador tiende a generar señales falsas, debe combinarse con otros
Necesidad de elegir valores de parámetros adecuados, ajustes inadecuados afectan a la rentabilidad
El comercio largo debe tener en cuenta la tendencia general, evitar el comercio contra la tendencia
Necesidad de tener cuidado con los costos de negociación, el comercio de alta frecuencia impacta las ganancias
Deben realizar pruebas de retroceso y optimizar los parámetros con regularidad en función de los mercados cambiantes
Considere la posibilidad de añadir otros indicadores como las medias móviles para las condiciones del filtro para reducir las señales falsas
Pruebe diferentes configuraciones de período en cada marco de tiempo para encontrar combinaciones óptimas
Incorporar un análisis de tendencias de mayor plazo para evitar comprar frente a una inversión de tendencia
Implementar un stop loss dinámico que eleve gradualmente las paradas a medida que aumenta el nivel de ganancia
Ajuste del porcentaje de pérdida de parada basado en el tamaño específico de la posición
Introducir el aprendizaje automático para la optimización automática de parámetros
Esta estrategia tiene como objetivo identificar oportunidades de rebote a corto plazo de Bitcoin mediante la detección de divergencias alcistas del RSI y la determinación de buenos puntos de entrada a largo plazo. La estrategia es simple y efectiva, incorporando mucha experiencia comercial práctica, lo que la hace muy adecuada para los scalping de Bitcoin. Sin embargo, la dependencia de un solo indicador tiende a generar señales falsas, por lo que debe combinarse con otros indicadores. También se debe prestar atención a la optimización de parámetros, la colocación de stop loss, los costos de negociación, etc. Si se utiliza correctamente, esta estrategia puede ser muy rentable en el comercio en vivo.
/*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")