RSI estocástico con la estrategia de Auto Buy Scalper

El autor:¿ Qué pasa?, Fecha: 2023-10-31 11:34:47
Las etiquetas:

img

Resumen general

Esta estrategia tiene como objetivo implementar una estrategia de comercio de scalper de monedas de compra automática y mantenimiento basada en los indicadores técnicos del RSI estocástico y EMA. Está diseñada para velas de 5 minutos, optimizadas para BTC. El objetivo es mantener la moneda tanto como sea posible durante las tendencias laterales o no significativas.

Estrategia lógica

La estrategia utiliza el indicador RSI para determinar los niveles de sobrecompra y sobreventa, combinado con la relación entre los valores K y D del RSI estocástico para generar señales de compra y venta.

Se activará una señal de compra cuando la línea del RSI estocástico K esté por debajo de 20, considerada sobreventa, y K esté por encima de D. Después de eso, se determinará si se vende en base a tres condiciones: 1) el precio sube más del 1% seguido de una reversión de la EMA; 2) la línea del RSI estocástico K está por debajo de D; 3) el precio de stop loss alcanza el 98.5% del precio de entrada.

Además, un giro a la baja de la EMA a corto plazo después de una tendencia alcista también se considerará una señal de venta.

Ventajas

  • El uso del RSI estocástico para el tiempo de entrada es más confiable, filtrando de manera efectiva las falsas rupturas.
  • La incorporación de EMA puede detectar mejor el momento del cambio de tendencia.
  • La aplicación de stop loss ayuda a controlar las pérdidas de manera efectiva.
  • Mantener la moneda tanto como sea posible reduce la frecuencia de negociación y las tarifas.

Los riesgos

  • Las señales falsas potenciales del indicador RSI.
  • El ajuste del porcentaje de pérdida de parada adecuadamente.
  • La configuración incorrecta de los parámetros de la EMA puede perder el momento de cambio de tendencia.

Direcciones de optimización

  • Prueba diferentes combinaciones de parámetros del RSI y del RSI estocástico para un ajuste óptimo.
  • Pruebe diferentes porcentajes de stop loss para equilibrar la prevención de pérdidas y los retiros.
  • Prueba las combinaciones de EMA largas y cortas para determinar los mejores parámetros para detectar los cambios de tendencia.
  • Considere la posibilidad de añadir otros indicadores para mejorar la precisión de los tiempos de entrada y salida.

Resumen de las actividades

Esta estrategia integra las fortalezas del RSI estocástico, EMA y otros indicadores, utilizando métodos relativamente robustos para determinar el momento de entrada y salida. Se pueden lograr mejoras adicionales en la rentabilidad y la estabilidad a través de la optimización de parámetros y la gestión de riesgos.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Stochastic RSI W Auto Buy Scalper Scirpt III ", shorttitle="Stoch RSI_III", format=format.price, precision=2)
smoothK = input.int(3, "K", minval=1)
smoothD = input.int(3, "D", minval=1)
lengthRSI = input.int(14, "RSI Length", minval=1)
lengthStoch = input.int(14, "Stochastic Length", minval=1)
src = input(close, title="RSI Source")
rsi1 = ta.rsi(src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma(k, smoothD)
plot(k, "K", color=#2962FF)
plot(d, "D", color=#FF6D00)
h0 = hline(80, "Upper Band", color=#787B86)
hline(50, "Middle Band", color=color.new(#787B86, 50))
h1 = hline(20, "Lower Band", color=#787B86)

longStopLoss  = strategy.opentrades.entry_price(0)* (.985)

stochDropping = ta.falling(k,2)
shortSma = ta.sma(hlc3,12)
shorterSma = ta.sma(hlc3,3)
plot(shortSma[3])

shortSmaFlip = (ta.change(shortSma,3)>0) and ta.falling(hlc3,1)
shorterSmaFlip = (ta.change(shorterSma,2)>0) and ta.falling(hlc3,1)
messageSellText ='"type": "sell", "symbol": "BTCUSD", "marketPosition": "{{strategy.market_position}}"'

messageBuyText ='"type": "buy", "symbol": "BTCUSD", "marketPosition": {{strategy.market_position}}"'

fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="Background")

strategy.entry("Tech", strategy.long, when=(strategy.position_size <= 0 and k<17 and k>d),alert_message=messageBuyText)
//original: strategy.close("TL", when=(strategy.position_size >= 0 and (k>90 and k<d)))

takeProfit = hlc3 > strategy.opentrades.entry_price(0)*1.01
//longStopLoss  = strategy.opentrades.entry_price(0)* (.995)

strategy.close("Tech", when=(strategy.position_size >= 0 and (k>90 and k<d and stochDropping)) or close<longStopLoss, comment="rsi or Stop sell",alert_message=messageSellText)
//strategy.close("Tech", when=(strategy.position_size >= 0 and close<longStopLoss), comment="stopLoss sell",alert_message=messageSellText)

strategy.close("Tech", when=(shortSmaFlip and k>20 and takeProfit),comment="Sma after profit",alert_message=messageSellText)



Más.