Estrategia de negociación de criptomonedas con retroceso basada en el cruce de RSI estocástico y EMA


Fecha de creación: 2024-03-08 16:44:51 Última modificación: 2024-03-08 16:44:51
Copiar: 4 Número de Visitas: 672
1
Seguir
1617
Seguidores

Estrategia de negociación de criptomonedas con retroceso basada en el cruce de RSI estocástico y EMA

Descripción general de la estrategia

Esta estrategia combina el RSI y el EMA aleatorios para detectar tendencias y validar señales de negociación. Se produce una señal de multiplicación cuando el precio se reajusta por encima de EMA20 entre EMA9 y EMA14, mientras que el RSI aleatorio se produce por debajo de los niveles de sobreventa. Se produce una señal de ruptura cuando el precio se reajusta por debajo de EMA20 entre EMA9 y EMA14, mientras que el RSI aleatorio se produce por encima de los niveles de sobreventa.

Principio de estrategia

  1. Utiliza la función ta.ema para calcular las líneas EMA de 3 períodos diferentes, EMA9, EMA14 y EMA20 respectivamente, para determinar el estado de tendencia en el que se encuentra el precio.
  2. La función ta.rsi calcula el RSI y la función ta.stoch convierte el RSI en un indicador RSI aleatorio para determinar si el precio está sobrecomprado.
  3. Cuando el precio de cierre es> EMA20 y el precio de cierre es < EMA9 y EMA14, mientras que el RSI aleatorio es < el nivel de sobreventa, se activa una señal múltiple para ejecutar la operación de compra y venta.
  4. Cuando el precio de cierre es EMA9 y EMA14, y el RSI aleatorio> supera el nivel de compra, se activa la señal de corto plazo y se ejecuta la operación de venta.

La idea central de la estrategia es utilizar el RSI aleatorio para determinar si una reversión en la tendencia principal (expresada por EMA20) ha llegado a la zona de sobreventa y sobreventa adecuada, y usar la EMA rápida y la EMA media para verificar la intensidad de la reversión. Si la reversión se termina cuando la tendencia se invierte, la reversión puede terminar si la tendencia supera la EMA rápida y la EMA media.

Ventajas estratégicas

  1. La combinación de un indicador de tendencia (EMA) y un indicador de fluctuación (RSI) permite una mejor comprensión de la tendencia y el momento de la sobreventa.
  2. El uso de RSI aleatorio tiene dos ventajas sobre el RSI original: una es que aumenta la suavidad del indicador, y la segunda es que evita que el indicador permanezca en la zona de extremos por mucho tiempo.
  3. La verificación de múltiples condiciones puede filtrar de manera efectiva muchas señales falsas y mejorar la fiabilidad de las señales.
  4. La lógica del código es clara y simple, fácil de entender y modificar, y puede ser utilizada como una plantilla para que los principiantes aprendan.

Riesgo estratégico

  1. No se aplica a los mercados convulsionados, ya que en estos momentos los EMA se cruzan con frecuencia y pueden generar muchas señales falsas.
  2. Si la tendencia es fuerte y los precios suben o bajan unilateralmente, esta estrategia puede perder muchas oportunidades, ya que la corrección es débil.
  3. La elección de los parámetros de EMA tiene una gran influencia en la estrategia, ya que las diferentes variedades requieren de una puesta a punto separada en diferentes períodos.
  4. Los parámetros del RSI aleatorio también necesitan ser ajustados a la realidad, y los valores predeterminados actuales pueden no ser adecuados para algunas variedades.

Dirección de optimización

  1. Se puede considerar la introducción de indicadores ATR para ajustar dinámicamente los niveles de sobrecompra y sobreventa para adaptarse a las diferentes tasas de volatilidad.
  2. Se pueden agregar más EMA de diferentes períodos para describir con mayor precisión la posición de la corrección de precios.
  3. También hay que tener en cuenta el stop loss y el stop stop, que pueden utilizarse como stop loss porcentual o stop loss ATR, y también como stop loss móvil para proteger los beneficios.
  4. Se puede utilizar la forma de la línea K, como agujeros de aguja, absorción, etc. para ayudar a determinar el giro de tendencia, como condición complementaria para mejorar la precisión.

Resumir

La estrategia utiliza el RSI aleatorio en combinación con la verificación de múltiples condiciones de la EMA para controlar el riesgo de manera efectiva, al tiempo que capta la reversión de la tendencia, la idea general es simple y fácil de entender, adecuada para el uso de los principiantes. Sin embargo, la estrategia en sí misma también tiene algunas limitaciones, como el mal desempeño en los mercados convulsos, la falta de comprensión de la tendencia, etc., que requiere ajustar los parámetros de manera flexible según la situación real.

Código Fuente de la Estrategia
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Crypto-EMA_Pullback=-", overlay=true,initial_capital = 10000000,default_qty_type=strategy.percent_of_equity, default_qty_value=10.0, pyramiding = 10)

// Inputs
lengthRsi = input(14, title="RSI Length")
k = input(3, title="Stoch %K")
d = input(3, title="Stoch %D")
lengthStoch = input(14, title="Stochastic RSI Length")
overSold = input(25, title="Oversold Level")
overBought = input(85, title="Overbought Level")
emaFastLength = input(9, title="Fast EMA Length")
emaMediumLength = input(14, title="Medium EMA Length")
emaSlowLength = input(20, title="Slow EMA Length")

// Calculating EMAs
emaFast = ta.ema(close, emaFastLength)
emaMedium = ta.ema(close, emaMediumLength)
emaSlow = ta.ema(close, emaSlowLength)

// Calculating the RSI and Stoch RSI
rsi = ta.rsi(close, lengthRsi)
stochRsiK = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), k)
stochRsiD = ta.sma(stochRsiK, d)

// Entry Conditions
bullishCondition = close > emaSlow and close < emaFast and close < emaMedium and stochRsiK < overSold
bearishCondition = close < emaSlow and close > emaFast and close > emaMedium and stochRsiK > overBought

// Strategy Execution
if (bullishCondition)
    strategy.entry("Long", strategy.long)

if (bearishCondition)
    strategy.entry("Short", strategy.short)

// Plotting
plot(emaFast, color=color.blue, title="Fast EMA")
plot(emaMedium, color=color.orange, title="Medium EMA")
plot(emaSlow, color=color.red, title="Slow EMA")
hline(overSold, "Oversold", color=color.green)
hline(overBought, "Overbought", color=color.red)