Estrategia de cruce de tres EMA más RSI estocástico


Fecha de creación: 2023-11-15 10:47:20 Última modificación: 2023-11-15 10:47:20
Copiar: 0 Número de Visitas: 954
1
Seguir
1617
Seguidores

Estrategia de cruce de tres EMA más RSI estocástico

Descripción general

Se trata de una estrategia de seguimiento de tendencias que combina varios indicadores. Utiliza al mismo tiempo EMA, RSI y ATR de tres períodos diferentes para identificar la dirección de la tendencia y establecer posiciones.

El principio

La estrategia utiliza tres líneas medias de EMA, 8 períodos, 14 períodos y 50 períodos de EMA. Representan las tendencias de precios en diferentes períodos de tiempo. Cuando el EMA de 8 períodos atraviesa el EMA de 14 períodos y el EMA de 14 períodos atraviesa el EMA de 50 períodos, indica que se encuentra en la etapa de inicio de tendencia y puede optar por establecer una posición múltiple.

El indicador Stochastic RSI combina el RSI y el método de cálculo estocástico para detectar el fenómeno de sobreventa y sobreventa. Cuando la línea K del RSI estocástico atraviesa la línea D desde abajo, indica que el mercado está pasando de una situación de sobreventa a una posición bajista.

ATR representa el rango de fluctuación más reciente. La estrategia utiliza 3 veces el ATR como distancia de parada y 2 veces como distancia de parada para bloquear ganancias y controlar el riesgo.

Las ventajas

  • El uso de la línea media EMA permite eliminar parte del ruido de los datos de precios y identificar la dirección de la tendencia
  • El indicador Stochastic RSI puede encontrar oportunidades de reversión
  • ATR Dinámico de Seguimiento de Stop Loss, que permite establecer un margen de ganancias y pérdidas razonables en función de la amplitud de las fluctuaciones del mercado

El riesgo

  • La combinación de indicadores múltiples puede dar una señal errónea
  • Los multiplicadores de stop loss fijos no se adaptan a los cambios en el mercado
  • ¿Cómo son los ciclos cortos susceptibles a la inversión?

Se puede optimizar la sensibilidad de los indicadores ajustando los parámetros del ciclo EMA. También se puede ajustar el multiplicador de stop loss de ATR para establecer los parámetros adecuados en función de la situación del mercado. Además, se puede considerar agregar otros indicadores para auxiliar el juicio y evitar señales erróneas.

Dirección de optimización

  • Ajuste de los parámetros del ciclo EMA para optimizar la sensibilidad del indicador
  • Permite ajustar el multiplicador de stop loss de ATR
  • Añadir otros indicadores para evitar señales equivocadas

Resumir

Esta estrategia tiene en cuenta la dirección de la tendencia, los fenómenos de sobreventa y sobreventa y el rango de fluctuación para identificar el momento de entrada. El uso de la línea media EMA y el indicador Stochastic RSI en combinación puede identificar la tendencia de manera efectiva, y el ATR sigue el stop loss para ayudar a controlar el riesgo. Mediante el ajuste y la optimización de los parámetros, la estrategia puede convertirse en un sistema de seguimiento de tendencias fiable.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FreddieChopin
 
//@version=4
strategy("3 x EMA + Stochastic RSI + ATR", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
 
// 3x EMA
ema1Length = input(8, "EMA1 Length", minval = 1)
ema2Length = input(14, "EMA2 Length", minval = 1)
ema3Length = input(50, "EMA3 Length", minval = 1)
ema1 = ema(close, ema1Length)
ema2 = ema(close, ema2Length)
ema3 = ema(close, ema3Length)
 
plot(ema1, color = color.green)
plot(ema2, color = color.orange)
plot(ema3, color = color.red)
 
// Stochastic RSI
smoothK = input(3, "K", minval=1)
smoothD = input(3, "D", minval=1)
lengthRSI = input(14, "RSI Length", minval=1)
lengthStoch = input(14, "Stochastic Length", minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
 
// ATR
atrPeriod = input(14, "ATR Period")
takeProfitMultiplier= input(2.0, "Take-profit Multiplier")
stopLossMultiplier= input(3.0, "Stop-loss Multiplier")
atrSeries = atr(atrPeriod)[1]
 
longCondition = ema1 > ema2 and ema2 > ema3 and crossover(k, d)
strategy.entry("long", strategy.long, when = longCondition)
 
float stopLoss = na
float takeProfit = na
 
if (strategy.position_size > 0)
    if (na(stopLoss[1]))
        stopLoss := strategy.position_avg_price - atrSeries * stopLossMultiplier
    else
        stopLoss := stopLoss[1]
    if (na(takeProfit[1]))
        takeProfit := strategy.position_avg_price + atrSeries * takeProfitMultiplier
    else
        takeProfit := takeProfit[1]
 
    strategy.exit("take profit / stop loss", limit = takeProfit, stop = stopLoss)
 
plot(stopLoss, color = color.red, linewidth = 2, style = plot.style_linebr)
plot(takeProfit, color = color.green, linewidth = 2, style = plot.style_linebr)