EMA, Hull 및 RSI 기회 추적 전략

저자:차오장, 날짜: 2024-01-18 15:46:35
태그:

img

전반적인 설명

이 전략은 이동 평균, 홀 이동 평균 및 상대적 강도 지수 (RSI) 를 기반으로 거래 신호를 구축합니다. 자동으로 시장 기회를 식별하고 장기 및 단위 포지션을 전환 할 수있는 전형적인 기회 추적 전략에 속합니다. 중장기 및 단기 거래에 적합합니다.

전략 논리

  1. 트렌드를 판단하기 위한 지표로 50주기 기하급수적인 이동평균 (EMA) 을 계산합니다.
  2. 7일 Hull Moving Average를 더 민감하고 선도적인 평균 지표로 계산하여 EMA를 가로질러 황금 십자가와 죽은 십자가를 형성합니다.
  3. RSI의 과잉 구매 라인과 과잉 판매 라인을 각각 60 및 45로 설정하십시오. 60 이상의 RSI는 과잉 구매 신호이며 45 이하의 RSI는 과잉 판매 영역입니다.
  4. EMA의 상향 침투와 동시에 과잉 구매가 발생하면, 그것은 짧은 신호입니다.
  5. 만약 EMA가 하향으로 침투하는 것과 동시에 과잉 판매가 발생한다면, 그것은 긴 신호입니다.

전략 의 장점

  1. EMA, Hull 및 RSI의 조합을 사용하여 시장 추세, 추진력 및 과잉 구매 / 과잉 판매 영역을 포괄적으로 판단하여 신호 정확도를 향상시킵니다.
  2. EMA는 중장기 트렌드를 판단하고, 허일은 단기 움직임을 주도하고, RSI는 과반 구매/ 과반 판매 수준을 식별합니다. 서로 다른 기간 지표가 함께 작동하여 시간 프레임에 걸쳐 거래 기회를 포착합니다.
  3. 진입 신호는 동시다발적으로 트렌드, 모멘텀 및 과잉 구매/ 과잉 판매 영역의 기준을 충족시켜야 하며, 거짓 신호를 효과적으로 필터링합니다.

전략 의 위험

  1. 3가지 지표를 이용하면 거래 기회를 놓칠 수 있습니다.
  2. EMA와 허ల్ 기간은 지속적인 테스트와 최적화가 필요하며, 잘못된 매개 변수 선택은 신호 품질에 영향을 줄 수 있습니다.
  3. 또한 RSI 매개 변수들은 다른 주식과 통화에 대한 조정도 필요하며 이는 다른 과잉 구매/ 과잉 판매 기준을 가질 수 있습니다.

개선 영역

  1. 더 많은 보조 지표를 도입할 수 있습니다. 예를 들어 볼린저 밴드, KC 라인 등을 통해 다중 공명 의사결정을 만들 수 있습니다.
  2. 매개 변수는 다양한 제품에 최적화 될 수 있습니다.
  3. 더 높은 시간 프레임 분석을 통합 할 수 있습니다. 단기 가짜에 의해 오해되는 것을 피하기 위해.
  4. 스톱 로스 전략은 위험을 관리하기 위해 적용될 수 있습니다.

요약

이 전략은 중장기 및 단기 거래 기회를 포착하기 위해 EMA, Hull 및 RSI의 조합을 시간 프레임에 걸쳐 사용합니다. 입력 신호는 잘못된 신호를 필터링하기 위해 동시다발적으로 트렌드, 모멘텀 및 과잉 구매 / 과잉 판매 차원의 기준을 충족해야합니다. 전략은 매개 변수 최적화 및 안정성과 거래 성과를 향상시키기 위해 더 많은 보조 지표를 도입함으로써 더욱 향상 될 수 있습니다.


/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Bitduke

//@version=4
strategy(shorttitle="EHR", title="Simple EMA_Hull_RSI", overlay=false, 
     calc_on_every_tick=false, pyramiding=0, default_qty_type=strategy.cash, 
     default_qty_value=1000, currency=currency.USD, initial_capital=1000,
     commission_type=strategy.commission.percent, commission_value=0.075)

// EMA
len = input(minval=1, title="EMA Length", defval=50)
src = input(close, title="EMA Source")
final_ema = ema(src, len)
plot(final_ema, color=color.red, title="EMA")

overbought = input(60, title="overbought value")
oversold = input(45, title="oversold value")

overbought_signal = rsi(close, 14) > overbought
oversold_signal = rsi(close, 14) < oversold
barcolor(overbought_signal ? color.black : na)
barcolor(oversold_signal ? color.blue : na)
// Hull MA
n = input(title="Hull Length", defval=7)
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))

n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))

n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?color.green:color.red
ma=plot(n1,color=c)

// Strategy Logic
longCondition =  overbought_signal and crossover(n1,final_ema) 
shortCondition = oversold_signal and crossover(final_ema,n1) 

strategy.entry("EHR_Long", strategy.long, when=longCondition)
strategy.entry("EHR_Short", strategy.short, when=shortCondition)


더 많은