VSTOCHASTIC RSI EMA CROSSOVER VMACD 웨이브파인더 전략과 결합

저자:차오장, 날짜: 2023-11-21 17:12:06
태그:

img

전반적인 설명

이 전략은 스토카스틱 RSI, EMA 크로스오버 및 VMACD를 통합하여 시장 반전 지점을 식별하며 하락 추세 반전이 임박 할 때 가장 잘 수행됩니다. 조건이 충족되면 구매 신호를 생성합니다.

전략 논리

이 전략은 주로 다음의 지표의 조합에 의존합니다.

  1. 스토카스틱 RSI: 과잉 구매 및 과잉 판매 조건을 식별하기 위해
  2. 빠른 EMA와 느린 EMA의 EMA 교차: 트렌드 방향과 잠재적 인 반전을 결정하기 위해
  3. VMACD: 반전 신호를 확인하기 위해

스토카스틱 RSI가 과판 지역에서 반등되면 빠른 EMA가 느린 EMA를 넘어서고 동시에 VMACD가 상승하기 시작하면 구매 신호가 생성됩니다. 또한 단기 가격이 10 기간 SMA를 넘으면 구매 보조 신호로 사용됩니다.

이 전략은 이러한 지표의 변화를 실시간으로 추적하고, 고정된 룩백 기간 동안 SMA, EMA 및 기타 정보를 계산합니다. 구매 조건이 활성화되면 고정된 수의 계약으로 구매 및 오픈 포지션을 수행합니다. 그 후 5% 마감 또는 SMA 라인 이하의 가격과 같은 스톱 로스 조건이 활성화되면 스톱 로스로 포지션은 종료됩니다.

이점 분석

이 전략은 여러 지표를 결합하고 시장 전환 기회를 효과적으로 식별 할 수 있습니다. 주요 장점은 다음과 같습니다.

  1. 스토카스틱 RSI는 과잉 구매 및 과잉 판매 조건을 파악하는 데 강력합니다.
  2. EMA 크로스오버는 반전 신호를 결정하는 데 높은 정확도를 가지고 있습니다.
  3. VMACD는 가짜 신호를 효과적으로 필터링하는 데 도움이됩니다.
  4. 여러 지표를 결합하면 신호 품질이 향상됩니다.
  5. 단기 SMA를 스톱 로스 방법으로 사용하는 것이 합리적입니다.

요약하자면, 이 전략은 반전 신호를 효과적으로 포착하고, 어느 정도 하락한 후 긴 포지션을 설정하고, 이로써 이익을 얻을 수 있습니다.

위험 분석

이 전략은 어느 정도 우위를 점하고 있음에도 불구하고 다음과 같은 위험 요소도 있습니다.

  1. 시장이 역전되지 않을 수도 있고 계속 감소할 수도 있습니다 - 체계적인 위험
  2. 여러 지표가 함께 구매를 유발할 확률은 높지 않습니다 - 몇 가지 신호
  3. SMA 스톱 로즈는 너무 주관적이고 적당한 마감 통제를 초래할 수 있습니다.
  4. 높은 변동성 시장 환경을 고려하지 않습니다.

위험 을 줄일 수 있는 몇 가지 방법:

  1. 더 나은 콤보 효과를 위해 더 많은 반전 지표를 추가
  2. 시간적 스톱 로스를 사용하거나 금액에 기반한 스톱 로스를 사용
  3. 시장 상황 을 판단 하고 불안 한 환경 에서 위치 를 취하는 것 을 피 하는 것
  4. 과도한 공격적인 스톱 손실이 중단되는 것을 방지하기 위해 스톱 손실 논리를 최적화하십시오.

최적화 방향

전략에 최적화 될 수 있는 주요 분야:

  1. 더 많은 지표를 추가하여 지표 클러스터를 형성하여 신호 품질을 향상시킵니다.
  2. 각종 자산 클래스의 특성에 따라 최적의 매개 변수를 선택
  3. 기계 학습 모델을 통합하여 역사적 데이터에 기초한 역전 확률을 추정합니다.
  4. 실시간 성능에 더 가까운 결과를 만들기 위해 백테스팅 때 미끄러짐을 추가
  5. 더 원활하고 합리적인 스톱 로스 방법론을 정비합니다.
  6. 맹목적으로 포지션을 입력하기 전에 범위와 트렌딩 환경을 구별하는 트렌드 조건을 감지

결론

전체적으로 VMACD 웨이브파이더 전략과 VRSI-EMA 크로스오버는 하락 추세 반전 기회를 잡을 수 있습니다. 반전을위한 최적의 타이밍을 결정하기 위해 여러 지표를 결합하여 효과적으로 구매 신호를 생성합니다. 그러나 개선해야 할 몇 가지 영역이 남아 있습니다. 더 이상 최적화되면 라이브 거래에서 전략의 성능이 더 좋을 수 있습니다. 여러 지표의 융합에 기반한 양적 전략의 전형적인 예입니다.


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

//@version=3
strategy("Wavefinder+", overlay=true)
length = input(20)
confirmBars = input(2)
price = close

slow = input(12, "Short period")
fast = input(26, "Long period")
signal = input(9, "Smoothing period")


maFast = ema( volume * close, fast ) / ema( volume, fast ) 
maSlow = ema( volume * close, slow ) / ema( volume, slow ) 
da = maSlow - maFast 
maSignal = ema( da, signal ) 
dm=da-maSignal


source = close
lengthRSI = input(14, minval=8), lengthStoch = input(14, minval=5)
smoothK = input(3,minval=3), smoothD = input(3,minval=3)
OverSold = input(25), OverBought = input(75)
rsi1 = rsi(source, lengthRSI)
rsi2= rsi(low, 20)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
k1= sma(stoch(rsi2, rsi2, rsi2, lengthStoch), smoothK)
d1= sma(k1, smoothD)
delta=k-d1
ma = ema(low, length)
ema5= ema(price,20)
sma= sma(price,10)
bcond = price < ma
lcond = price> ema5
bcount = 0
lcount= 0
bcount := bcond ? nz(bcount[1]) + 1 : 0
lcount := lcond ? nz(lcount[1]) + 1 : 0

if (lcount>1 and change(k)>3 and k>d and k<55 and rising(dm,1)) or ( k[1]-k[2]<-2 and k-k[1]>5 and k>35 and k<80) or (ma-sma>0.05*sma and rising(sma,3) and rising(dm,2)) 
    strategy.entry("Long", strategy.long, qty=10000/close)

if (bcount == confirmBars)
    strategy.close("Long")
if close<0.99*sma
    strategy.close("Long")

plot(0.99*sma)
plot(ma)

//hline(OverSold,color=blue)
//hline(OverBought,color=blue)

//plot(d, color=red)
//plot(k, color=green,title="k-line")
    
//(close-close[3]<-0.05*close[3]) or (close-close[2]<-0.05*close[2]) or (close-close[2]<-0.05*close[2]) or (close-close[4]<-0.05*close[4]) or
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

더 많은