
A estratégia é uma estratégia multi-cabeça de rastreamento de tendências usando o indicador RSI para determinar a tendência em combinação com o indicador MACD para a entrada no mercado. A estratégia combina a linha de equilíbrio EMA como filtro de tendência e um mecanismo de parada de emergência para controlar o risco.
A estratégia depende principalmente do indicador RSI para determinar a direção da tendência. Quando o indicador RSI atravessa a linha longa RSI definida (default 21), acredita-se que o mercado pode reverter para uma tendência ascendente. Nesse momento, se o MACD já estiver em uma tendência de queda, pode-se determinar que o momento atual está no ponto de reversão e é uma boa hora para fazer mais.
Além disso, a estratégia também introduz a média EMA (o padrão de 200 ciclos) como um filtro de tendência. Só se considera fazer mais quando o preço está acima da média EMA. Isso pode efetivamente filtrar uma tendência desconhecida ou uma falsa reversão na tendência de queda.
No que diz respeito ao stop loss, a estratégia define simultaneamente um stop loss normal e um stop loss de emergência. Quando o RSI atravessa o stop loss normal (default 86); Se o preço cair drasticamente, o RSI atravessa o stop loss de emergência (default 73) sem condições para controlar o máximo de perdas.
Esta estratégia é, em geral, uma estratégia mais tradicional de seguimento de tendência de tipo multi-cabeça. Utilizando RSI identificar pontos de reversão, MACD filtro de julgamento equivocado, EMA julgar a grande tendência, parar o risco de controle de perda. A estratégia é mais simples, intuitiva, fácil de entender, em julgar a inversão de mercado tem uma certa vantagem, pode ser usado como uma das estratégias de entrada de negociação quantitativa.
/*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)