
이것은 무작위 RSI, EMA, 그리고 VMACD를 결합한 전략으로, 시장의 반전점을 식별하기 위해 사용되며, 하향 추세가 반전될 때 가장 잘 작동한다.
이 전략은 주로 다음과 같은 몇 가지 지표의 조합을 기반으로 합니다.
무작위 RSI가 oversold 영역에서 반등하고, EM 단선에서 느린 선을 통과하고, VMACD도 상승하기 시작하면, 구매 신호가 생성됩니다. 또한, 단기 가격이 10주기의 SMA를 돌파하면, 보조 신호로 구매가 생성됩니다.
이 전략은 실시간으로 이러한 지표의 변화를 추적하고, 일정 길이 이후의 SMA, EMA 등의 정보를 계산한다. 구매 조건이 유발되면, 고정된 수의 계약을 사용하여 구매 포지션을 개시한다. 이후 5%의 회수 또는 SMA 라인 아래에 위치하는 경우, 상쇄 상쇄된다.
이 전략은 여러 지표를 결합하여 시장의 역전 기회를 효과적으로 식별할 수 있습니다. 주요 장점은 다음과 같습니다:
종합적으로, 이 전략은 반전 신호를 효과적으로 잡을 수 있으며, 일정 수준으로 떨어지면 다단위 포지션을 구축하여 수익을 올릴 수 있다.
이 전략은 장점이 있지만, 위험도 있습니다.
위와 같은 위험들을 위해, 다음과 같은 방법으로 더 많은 최적화를 할 수 있습니다:
이 전략은 다음과 같은 방향으로 더 개선될 수 있습니다.
VRSI-EMA 교차와 VMACD 융합의 파동찾기 전략은 전체적으로 하락 반전 기회를 식별하는 좋은 전략이다. 그것은 여러 지표가 구매 신호를 형성하여 반전 시기를 효과적으로 판단 할 수 있다. 그러나 또한 최적화해야 할 방향이 있으며, 추가 개선으로 이 전략의 실전 성능은 더 뛰어나다. 그것은 여러 지표 융합이 범주화 된 전략의 전형적인 모범을 나타낸다.
/*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)