
La estrategia es una estrategia de seguimiento de tendencias multicomponente que utiliza el indicador RSI para determinar la tendencia, en combinación con el indicador MACD para la entrada en el mercado. La estrategia combina a la vez la línea de equilibrio EMA como filtro de tendencia y un mecanismo de parada de emergencia para controlar el riesgo.
Esta estrategia depende principalmente de la dirección de la tendencia del indicador RSI. Cuando el indicador RSI se cruza con la línea RSI establecida (default 21) se considera que el mercado puede revertirse a una tendencia alcista. En este momento, si el MACD ya está en una tendencia descendente, se puede determinar que se encuentra en el punto de reversión y es un buen momento para hacer más.
Además, la estrategia también introduce la media EMA (el ciclo 200 predeterminado) como filtro de tendencia. Sólo se considerará hacer más cuando el precio esté por encima de la media EMA. Esto puede filtrar eficazmente una tendencia desconocida o una falsa reversión en una tendencia descendente.
En cuanto al stop loss, la estrategia establece un stop loss convencional y un stop loss de emergencia a la vez. Se cierra cuando el RSI cruza el stop loss convencional (default 86); si el precio baja mucho, se cierra incondicionalmente cuando el RSI cruza el stop loss de emergencia (default 73) para controlar la máxima pérdida.
En general, esta estrategia es una estrategia de seguimiento de tendencias más tradicional. Utiliza el RSI para identificar puntos de reversión, el error de filtro MACD, el juicio de la EMA para determinar la tendencia general y el riesgo de control de pérdidas. La estrategia es más simple, intuitiva y fácil de entender, y tiene una cierta ventaja para determinar la reversión de la situación. Puede ser una de las estrategias de entrada para el comercio cuantitativo.
/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dravitch
//@version=4
strategy("RSI - BULL RUN (Improved)", overlay=true)
// Input
UseEmergency = input(true, "Use Emergency Exit?")
RSIlong = input(21, "RSI Long Cross")
RSIcloseLong = input(86, "RSI Close Long Position")
EmergencycloseLong = input(73, "RSI Emergency Close Long Position")
UseEMAFilter = input(true, "Use EMA Trend Filter")
EMAlength = input(200, "EMA Length for Trend Filter") // Utiliser 200 pour SMMA
// RSI
rsiValue = rsi(close, 14)
// MACD
[macdLine, signalLine, _] = macd(close, 12, 26, 9)
// EMA Trend Filter
emaTrend = sma(close, EMAlength) // Utiliser sma pour la SMMA (Simple Moving Average)
// Conditions pour les trades longs
trendUp = close > emaTrend
trendDown = close < emaTrend
longCondition = crossover(rsiValue, RSIlong) and trendDown or crossunder(macdLine, signalLine) and crossover(rsiValue, RSIlong)
longCloseCondition = crossunder(rsiValue, RSIcloseLong) and trendUp
emergencyLongCondition = crossunder(rsiValue, EmergencycloseLong)
// Plots
plot(rsiValue, color=color.white, linewidth=2, title="RSI")
// Strategy
if (longCondition)
strategy.entry("Long", strategy.long, alert_message='RSI Long Cross: LONG')
if (longCloseCondition)
strategy.close("Long", alert_message='RSI Close Long Position')
if (emergencyLongCondition and UseEmergency)
strategy.close("Long", alert_message='RSI Emergency Close Long')
// Plot EMA Trend Filter in a separate pane
plot(emaTrend, color=color.rgb(163, 0, 122), title="EMA Trend Filter", linewidth=2, style=plot.style_line, transp=0)
hline(0, "Zero Line", color=color.gray)