RSI 골든 크로스 쇼트 전략

저자:차오장, 날짜: 2024-02-22 17:05:17
태그:

img

I. 전략 개요

RSI 골든 크로스 쇼트 전략은 트렌드 및 엔트리를 식별하기 위해 ATR 밴드, 이중 RSI 지표 및 EMA의 황금 십자가를 사용합니다. ATR 밴드는 과잉 구매 / 과잉 판매 수준을 결정하고, 이중 RSI 지표는 트렌드를 확인하고, EMA 크로스오버는 엔트리의 기회를 식별합니다. 이 간단하지만 유연한 쇼트 전략은 수익에 매우 효과적입니다.

II. 전략 논리

이 전략은 ATR 밴드, 이중 RSI 지표 및 EMA 라인을 결합하여 엔트리 신호를 생성합니다. 가격이 과소매 수준을 나타내는 상부 ATR 밴드 이상으로 열리고 더 빠른 RSI가 느린 RSI 아래로 넘어가면서 상승에서 하락으로 트렌드 반전을 나타냅니다. 약화 트렌드를 제안하는 EMA에서 발생하는 죽음의 십자가와 함께, 우리는 짧은 진입을위한 강력한 신호를 가지고 있습니다.

특히, 개시 가격이 ATR 상위 범위를 넘으면, 즉open > upper_band, 자산이 과잉 매입될 수 있습니다. 그러면 빠른 RSI가 느린 RSI보다 낮는지 확인합니다.rsi1 < rsi2결국 우리는 EMAs에서 죽음의 교차가 발생하면ta.crossover(longSMA, shortSMA)이 세 가지 조건이 모두 충족되면 짧은 입력 신호가 발사됩니다.

반대로, 가격이 낮은 ATR 밴드 아래로 열리고, 빠른 RSI가 느린 RSI를 넘어서고, EMA에서 황금색 십자가가 형성되면 긴 엔트리 신호가 생성됩니다.

이 전략의 주요 혁신은 더 나은 트렌드 식별을 위해 이중 RSI 지표의 도입이다. 단일 RSI와 비교하면 신뢰도가 높습니다. ATR 대역과 EMA 필터와 함께 입구 신호가 더 정확하고 신뢰할 수 있습니다. 이것은 전략의 핵심 강점입니다.

III. 장점

이 전략의 장점은 다음과 같습니다.

  1. 더 정확한 트렌드 식별, 이중 RSI 지표
  2. ATR 대역은 과잉 구매/ 과잉 판매 수준을 결정함으로써 거짓 파장을 방지합니다.
  3. EMA 라인의 황금/죽음 십자가에 입력하여 높은 신호 정확성
  4. 여러 지표를 조합하여 신뢰성을 높이는 것
  5. 간단한 논리, 쉽게 구현
  6. 긴 편과 짧은 편의 이익
  7. 다양한 시장에 대한 매개 변수를 조정할 수 있는 유연성

IV. 위험

주의해야 할 몇 가지 위험 요소:

  1. EMA 라인은 윙사 (whipsaws) 에 민감하며, 매끄러운 MA는 더 안정적일 수 있습니다.
  2. 다양한 시장에서 자주 중단 될 수 있습니다.
  3. 부적절한 매개 변수 설정은 잘못된 신호를 증가시킬 수 있습니다.
  4. 조기 ATR 밴드 파업은 거짓으로 밝혀질 수 있습니다.

위험은 다음과 같이 해결 될 수 있습니다.

  1. EMA 대신 Smoothed MA를 이용한 테스트
  2. 조기 중단되는 것을 피하기 위해 손해를 멈추는 것을 느리게하십시오.
  3. 엄격한 백테스팅을 통해 최적의 매개 변수 균형을 찾습니다.
  4. ATR 밴드 브레이크를 확인하기 위해 더 많은 지표를 추가합니다.

V. 발전 기회

이 전략은 다음과 같이 더 향상될 수 있습니다.

  1. 잘못된 신호를 줄이기 위해 EMA에 대한 평형 MA를 테스트합니다.
  2. 가짜 브레이크를 피하기 위해 켈트너 채널과 같은 변동성 척도를 추가하십시오.
  3. 전체 시장 방향에 대한 ADX와 같은 트렌드 필터를 포함합니다.
  4. 자산 특성에 따라 매개 변수를 조정합니다.
  5. 다른 시간 프레임에서 테스트 성능
  6. 매개 변수를 자동으로 최적화하기 위해 기계 학습을 활용

이러한 기회는 전략을 더 안정적이고 유연하고 수익성있게 만들 수 있습니다.

VI 결론

전체적으로, RSI 골든 크로스 쇼트 전략은 매우 효과적인 단기 단기 전략이다. 그것은 엔트리 신호를 생성하기 위해 여러 지표를 결합하고 자산과 시장에서 조정할 수 있다. 그것의 새로움은 ATR 대역과 EMA 크로스오버에 의해 검증된 트렌드 식별에 대한 이중 RSI를 사용하는 데 있다. 이것은 고정도의 엔트리 신호를 생산한다. 이 전략은 위험을 모니터링하고 매개 변수를 지속적으로 테스트를 통해 최적화하면 투자자들에게 엄청난 실용적인 유용성을 가지고 있다. 그것은 트레이더의 무기에 강력한 수익 엔진이 될 가능성이 있다.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Revision: Updated script to pine script version 5
//added Double RSI for Long/Short prosition trend confirmation instead of single RSI
strategy("Super Scalper - 5 Min 15 Min", overlay=true)
source = close
atrlen = input.int(14, "ATR Period")
mult = input.float(1, "ATR Multi", step=0.1)
smoothing = input.string(title="ATR Smoothing", defval="WMA", options=["RMA", "SMA", "EMA", "WMA"])

ma_function(source, atrlen) =>
    if smoothing == "RMA"
        ta.rma(source, atrlen)
    else
        if smoothing == "SMA"
            ta.sma(source, atrlen)
        else
            if smoothing == "EMA"
                ta.ema(source, atrlen)
            else
                ta.wma(source, atrlen)

atr_slen = ma_function(ta.tr(true), atrlen)
upper_band = atr_slen * mult + close
lower_band = close - atr_slen * mult

// Create Indicator's
ShortEMAlen = input.int(5, "Fast EMA")
LongEMAlen = input.int(21, "Slow EMA")
shortSMA = ta.ema(close, ShortEMAlen)
longSMA = ta.ema(close, LongEMAlen)
RSILen1 = input.int(40, "Fast RSI Length")
RSILen2 = input.int(60, "Slow RSI Length")
rsi1 = ta.rsi(close, RSILen1)
rsi2 = ta.rsi(close, RSILen2)
atr = ta.atr(atrlen)

//RSI Cross condition
RSILong = rsi1 > rsi2
RSIShort = rsi1 < rsi2

// Specify conditions
longCondition = open < lower_band
shortCondition = open > upper_band
GoldenLong = ta.crossover(shortSMA, longSMA)
Goldenshort = ta.crossover(longSMA, shortSMA)

plotshape(shortCondition, title="Sell Label", text="S", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.white)
plotshape(longCondition, title="Buy Label", text="B", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.white)
plotshape(Goldenshort, title="Golden Sell Label", text="Golden Crossover Short", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.blue, 0), textcolor=color.white)
plotshape(GoldenLong, title="Golden Buy Label", text="Golden Crossover Long", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.yellow, 0), textcolor=color.white)

// Execute trade if condition is True
if (longCondition)
    stopLoss = low - atr * 1
    takeProfit = high + atr * 4
    if (RSILong)
        strategy.entry("long", strategy.long)

if (shortCondition)
    stopLoss = high + atr * 1
    takeProfit = low - atr * 4
    if (RSIShort)
        strategy.entry("short", strategy.short)

// Plot ATR bands to chart

////ATR Up/Low Bands
plot(upper_band)
plot(lower_band)

// Plot Moving Averages
plot(shortSMA, color=color.red)
plot(longSMA, color=color.yellow)


더 많은