황금 전략에 따른 RSI 트렌드

저자:차오장, 날짜: 2024-01-04 17:48:41
태그:

img

전반적인 설명

이 전략은 트렌드를 결정하기 위해 RSI 지표와 시장에 진입하기 위해 MACD 지표를 사용하는 추세를 따르는 황금 전략입니다. 또한 트렌드 필터로 EMA 라인을 통합하고 위험을 제어하기 위해 긴급 스톱 로스를 사용합니다.

전략 논리

이 전략은 주로 트렌드 방향을 결정하기 위해 RSI 지표에 의존합니다. RSI가 설정된 긴 라인 (21 기본값) 을 넘을 때 시장이 상승 추세로 역전될 수 있다고 간주됩니다. 이 시점에서 MACD가 이미 하락 추세에 있다면 역전 지점에 있다고 판단 할 수 있습니다. 이것은 긴 거리를 할 수있는 좋은 기회입니다.

또한, 전략은 또한 EMA 라인 (디폴트 200 기간) 을 트렌드 필터로 도입합니다. 가격이 EMA 라인 이상일 때만 긴 거래가 고려됩니다. 이는 트렌드가 불분명하거나 감소할 때 가짜 반전을 효과적으로 필터 할 수 있습니다.

스톱 로스 측면에서는 전략 또한 정규 스톱 로스 라인과 비상 스톱 로스 라인을 설정합니다. RSI가 정규 스톱 로스 라인 (86 기본값) 아래로 넘어가면 포지션을 닫습니다. 가격이 급격히 하락하고 RSI가 비상 스톱 로스 라인 (73 기본값) 아래로 넘어가면 최대 손실을 제어하기 위해 무조건 포지션을 닫습니다.

이점 분석

  • 반전점을 식별하기 위해 RSI를 사용하고, MACD를 사용하여 잘못된 항목을 필터링합니다.
  • 주요 트렌드를 결정하기 위해 EMA 라인을 소개합니다.
  • 리스크를 제어하기 위해 정규 스톱 손실과 비상 스톱 손실을 모두 사용합니다.

위험 분석

  • RSI 반전 신호에는 잘못된 판단이 있을 수 있습니다.
  • EMA 라인은 큰 트렌드 변화에 적시에 대응할 수 없습니다.
  • 단일 스톱 로스 인디케이터는 유리한 거래를 조기에 중단시킬 수 있습니다.

최적화 방향

  • 부피 지표 또는 황소 / 곰 촛불 비율은 입력 정확성을 향상시키기 위해 보조 판단 도구로 도입 될 수 있습니다.
  • 이동 평균 시스템은 가장 최근의 N일 트렌드를 동적으로 추적하도록 조정할 수 있습니다.
  • 더 고급 스톱 손실 메커니즘을 추가하십시오. 이동 스톱 손실이나 통계 스톱 손실과 같은 스톱 손실을 더 유연하게 만들기 위해.

요약

요약하자면, 이 전략은 황소 전략을 따르는 비교적 전통적인 트렌드이다. 그것은 RSI로 반전 지점을 식별하고, MACD로 잘못된 판단을 필터링하고, EMA로 주요 트렌드를 결정하고, 스톱 로스로 위험을 제어한다. 전략은 매우 간단하고 직관적이며, 이해하기 쉽고, 시장 반전을 판단하는 데 약간의 이점을 가지고 있어 알고 거래에 좋은 출발점 전략이다. 그러나 진입 신호, 트렌드 판사 및 스톱 로스 메커니즘을 최적화함으로써 추가 개선을 위한 넓은 공간이 여전히 있다.


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

더 많은