기하급수적 이동 평균 및 상대적 강도 지수 조합 추세 전략에 따라

저자:차오장, 날짜: 2024-02-05 09:57:16
태그:

img

전반적인 설명

이 전략은 EMA와 RSI 지표를 결합하여 트렌드 방향을 파악하고 트렌드 확인 후 포지션을 입력하여 RSI 지표를 통합하여 과잉 구매 및 과잉 판매를 피합니다. 전략은 중장기 트렌드 거래를 위해 간단하고 실용적입니다.

전략 논리

이 전략은 5일 EMA, 13일 EMA 및 50일 EMA 이동평균을 활용한다. 5일 EMA가 13일 EMA를 넘을 때, 그것은 장기간에 걸리는 수익 기회로 간주된다. 5일 EMA가 13일 EMA를 넘을 때, 그것은 단위로 갈 Stop Loss 기회로 간주된다. 또한, 긴 포지션은 가격이 50일 EMA보다 높을 때만 열 수 있으며, 짧은 포지션은 가격이 50일 EMA보다 낮을 때만 열 수 있으며, 거래 방향이 주요 트렌드와 일치하는 것을 보장한다.

포지션에 진입한 후, RSI가 과소매 (70 이상) 가 되거나 5일 EMA가 13일 EMA 아래로 다시 넘어가면, 긴 포지션은 이윤을 취하기 위해 폐쇄됩니다. RSI가 과소매 (30 이하) 가 되거나 5일 EMA가 13일 EMA 위에 다시 넘어가면, 짧은 포지션은 이윤을 취하기 위해 폐쇄됩니다.

이점 분석

이 전략은 트렌드 다음 신호와 과잉 구매 / 과잉 판매 지표를 결합하여 주요 트렌드 방향으로 수익 기회를 효과적으로 포착 할 수 있으며 범위 제한 시장에 갇히지 않도록합니다. EMA의 부드러움은 잘못된 신호를 줄이는 데 도움이됩니다. 또한 RSI 설정은 트렌드 반전 전에 과도하게 이익을 추구하고 손실을 줄이는 것을 방지합니다.

위험 분석

이 전략은 주로 이동 평균에 의존하며, 이는 종전 통합 시장에서 더 많은 폐쇄 신호를 생성할 수 있으며, 장기 포지션을 보유하지 못합니다. 트렌드 반전이 발생하면 거래자가 새로운 기회를 즉시 따라갈 수 없을 수 있습니다. 또한 이동 평균 및 RSI의 매개 변수는 전략 성능에 영향을 줄 수 있습니다.

리스크는 보유 조건을 완화하고, 매개 변수 조합을 최적화하고, 더 많은 지표를 포함함으로써 감소할 수 있습니다.

최적화 방향

이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. 단일 거래 위험을 통제하기 위해 고정 비율과 같은 포지션 사이즈 메커니즘을 추가합니다.

  2. 가장 좋은 조합을 찾기 위해 EMA와 RSI 매개 변수를 최적화하고 더 많은 주기 길이를 테스트합니다.

  3. BO IntegerField와 같은 더 많은 지표를 포함하여 더 많은 요소를 기반으로 추세와 반전을 결정합니다.

  4. 자동 스톱 로스 가격 설정을 추가합니다.

결론

이 전략은 간단하고 실용적입니다. EMA와 RSI만 사용하면 매개 변수 최적화와 시장 판단이 덜 필요하므로 이해하기 쉽고 백테스트가 용이합니다. 그러나 유연성과 견고성은 약간 손상 될 수 있으며 더 복잡한 시장 환경에 적응하기 위해 추가 개선이 필요합니다. 여전히 중장기 트렌드 거래에 대한 건전한 접근 방식을 제공합니다.


/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA, RSI, and Price Crossover Strategy", overlay=true, default_qty_value = 1)

// Define the EMA lengths
ema5 = ta.ema(close, 5)
ema13 = ta.ema(close, 13)
ema50 = ta.ema(close, 50)

// Define the RSI length
rsiLength = input(14, title="RSI Length")
rsi = ta.rsi(close, rsiLength)

// Define the conditions for long and short positions
longCondition = ta.crossover(ema5, ema13) and close > ema50
shortCondition = ta.crossunder(ema5, ema13) and close < ema50

// Execute long and short positions
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Define the exit conditions
exitLongCondition = rsi > 70 or ta.crossunder(ema5, ema13)
exitShortCondition = rsi < 30 or ta.crossover(ema5, ema13)

// Exit long and short positions
if (exitLongCondition)
    strategy.close("Long")
if (exitShortCondition)
    strategy.close("Short")

// Plot EMAs on the chart
plot(ema5, color=color.blue, title="EMA 5")
plot(ema13, color=color.orange, title="EMA 13")
plot(ema50, color=color.red, title="EMA 50")

// Create a separate panel for RSI
rsiPanel = plot(rsi, color=color.green, title="RSI")



더 많은