확률적 RSI와 EMA 크로스오버를 기반으로 한 암호화폐 풀백 트레이딩 전략


생성 날짜: 2024-03-08 16:44:51 마지막으로 수정됨: 2024-03-08 16:44:51
복사: 4 클릭수: 672
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

확률적 RSI와 EMA 크로스오버를 기반으로 한 암호화폐 풀백 트레이딩 전략

전략 개요

이 전략은 무작위 RSI와 EMA를 결합하여 트렌드를 탐지하고 거래 신호를 확인합니다. 가격이 EMA20 상단에서 EMA9와 EMA14 사이에 회수되는 동안 무작위 RSI가 초과 판매 수준보다 낮을 때 여러 신호가 발생하며, 가격이 EMA20 아래에서 EMA9와 EMA14 사이에 회수되는 동안 무작위 RSI가 초과 구매 수준보다 높을 때 빈 신호가 발생합니다.

전략 원칙

  1. ta.ema 함수를 사용하여 3개의 다른 주기의 EMA 라인, 각각 EMA9, EMA14 및 EMA20를 계산하여 가격의 경향 상태를 판단한다.
  2. ta.rsi 함수를 사용하여 RSI 지표를 계산하고, ta.stoch 함수를 사용하여 RSI를 무작위 RSI 지표로 변환하여 가격이 과매매되는지 판단합니다.
  3. 클로즈 가격이> EMA20이고 클로즈 가격이< EMA9 및 EMA14, 동시에 무작위 RSI < 초매도 수준>일 때, 여러 신호를 트리거하고, 구매 작업을 수행한다.
  4. 마감 가격이 EMA9와 EMA14이며, 동시에 무작위 RSI>가 매매 수준을 초과할 때, 하위 신호를 유발하여 판매 작업을 수행한다.

이 전략의 핵심 아이디어는 주 트렌드 (EMA20에 의해 표시된) 에서의 가격 회전이 적절한 초매 초매 영역에 도달했는지 여부를 판단하기 위해 무작위 RSI를 사용하는 것이며, 빠른 EMA와 중간 EMA를 사용하여 회정의 강도를 검증하는 것입니다. 가격이 빠른 EMA와 중간 EMA를 뚫면 회전이 종료 될 수 있으며, 트렌드는 역전될 수 있습니다. 이 시기는 입장에 적합하지 않으며, 가격이 EMA9과 EMA14 사이에 회전하면만 순차 입장을 고려합니다.

전략적 이점

  1. 트렌드 지표 (EMA) 와 변동 지표 (RSI) 를 결합하여 트렌드와 오버 바이 오버 세이 시기를 더 잘 파악할 수 있습니다.
  2. 무작위 RSI를 사용하면 원래의 RSI 지표에 비해 두 가지 장점이 있습니다. 하나는 지표의 부드러움이 증가하고, 두 번째는 지표가 극한 영역에 오랫동안 머무르지 않도록합니다.
  3. 다중 조건 검증은 많은 가짜 신호를 효과적으로 필터링하여 신호의 신뢰도를 높일 수 있습니다.
  4. 코드의 논리는 명확하고 간단하며, 이해하기 쉽고 수정할 수 있으며, 초보자 학습을 위한 템플릿으로 사용할 수 있다.

전략적 위험

  1. 위기 시장에는 적용되지 않습니다. 이 시점에는 EMA가 자주 교차하여 많은 가짜 신호를 생성할 수 있기 때문입니다.
  2. 이 전략은 유동성이 강하고, 가격이 한쪽으로 상승하거나 하락하는 경우, 회전이 미세하기 때문에 많은 기회를 놓치게 됩니다.
  3. EMA 매개 변수의 선택은 전략에 큰 영향을 미치며, 다른 품종의 다른 주기에는 개별적으로调试해야 한다.
  4. 무작위 RSI 파라미터는 실제 상황에 따라 조정될 필요가 있으며, 현재 기본값은 일부 품종에서 바람직하지 않을 수 있다.

최적화 방향

  1. ATR 지표의 도입을 고려하여 다양한 변동률에 적응하기 위해 과매매 수준을 동적으로 조정할 수 있습니다.
  2. 더 많은 다른 주기의 EMA를 추가하여 가격 회귀의 위치를 더 자세히 설명 할 수 있습니다.
  3. 스톱 로드와 스톱 스도 고려해야 합니다. 퍼센티지 스톱 로드 또는 ATR 스톱 로드, 모바일 스톱 로드 등이 있습니다.
  4. K선 형태를 사용하여 바늘 구멍, 흡수 등과 같은 추세 전환을 보조적으로 판단할 수 있으며, 추가 조건으로 정확도를 높일 수 있다.

요약하다

이 전략은 무작위 RSI와 EMA를 결합한 다중 조건 검증을 사용하여 트렌드 회전을 파악하면서 위험을 효과적으로 제어하고, 전체적인 아이디어는 간단하고 이해하기 쉽고, 초보자 학습에 적합합니다. 그러나 전략 자체에는 약간의 제한이 있습니다.

전략 소스 코드
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Crypto-EMA_Pullback=-", overlay=true,initial_capital = 10000000,default_qty_type=strategy.percent_of_equity, default_qty_value=10.0, pyramiding = 10)

// Inputs
lengthRsi = input(14, title="RSI Length")
k = input(3, title="Stoch %K")
d = input(3, title="Stoch %D")
lengthStoch = input(14, title="Stochastic RSI Length")
overSold = input(25, title="Oversold Level")
overBought = input(85, title="Overbought Level")
emaFastLength = input(9, title="Fast EMA Length")
emaMediumLength = input(14, title="Medium EMA Length")
emaSlowLength = input(20, title="Slow EMA Length")

// Calculating EMAs
emaFast = ta.ema(close, emaFastLength)
emaMedium = ta.ema(close, emaMediumLength)
emaSlow = ta.ema(close, emaSlowLength)

// Calculating the RSI and Stoch RSI
rsi = ta.rsi(close, lengthRsi)
stochRsiK = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), k)
stochRsiD = ta.sma(stochRsiK, d)

// Entry Conditions
bullishCondition = close > emaSlow and close < emaFast and close < emaMedium and stochRsiK < overSold
bearishCondition = close < emaSlow and close > emaFast and close > emaMedium and stochRsiK > overBought

// Strategy Execution
if (bullishCondition)
    strategy.entry("Long", strategy.long)

if (bearishCondition)
    strategy.entry("Short", strategy.short)

// Plotting
plot(emaFast, color=color.blue, title="Fast EMA")
plot(emaMedium, color=color.orange, title="Medium EMA")
plot(emaSlow, color=color.red, title="Slow EMA")
hline(overSold, "Oversold", color=color.green)
hline(overBought, "Overbought", color=color.red)