
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.
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.
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.
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.
/*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)