RSI와 스토카스틱 RSI 조합 전략

저자:차오장, 날짜: 2023-12-07 15:44:21
태그:

img

전반적인 설명

이 전략은 RSI와 스토카스틱 RSI 조합 전략 (RSI and Stochastic RSI Combination Strategy) 이라고 불린다. 이 전략은 상대 강도 지수 (RSI) 와 스토카스틱 RSI의 장점을 결합하여 과소매와 과소매 기회를 식별한다. 이 전략은 모든 암호화폐에 적합하지 않은 EOS/BTC 및 BTC/USDT의 5분 차트에서 잘 작동한다.

전략 논리

이 전략은 RSI 지표와 스토카스틱 RSI 지표를 모두 사용합니다. RSI 매개 변수는 10 기간의 길이가 있으며, 60에서 과잉 구매 수준과 20에서 과잉 판매 수준입니다. 스토카스틱 RSI 매개 변수는 3에서 K 라인의 평면화 기간, 3에서 D 라인의 평면화 기간, 14의 RSI 계산 길이가 있으며, 스토카스틱 RSI K 및 D 값이 모두 20 이하일 때 과잉 판매를 식별하며, 스토카스틱 RSI K 및 D 값이 모두 80 이상일 때 과잉 구매를 나타냅니다. 거래 신호는 과잉 구매 및 과잉 판매 수준에서 생성됩니다.

이점 분석

이 전략은 RSI 지표와 스토카스틱 RSI 지표의 장점을 결합합니다. RSI는 과잉 구매 및 과잉 판매 상황을 식별하는 데 효과적입니다. 스토카스틱 RSI는 모멘텀을 통합하여 전환점을 더 일찍 감지 할 수 있습니다. 조합은 보다 신속한 거래 신호를 생성하기 위해 가격과 모멘텀 요인을 모두 고려하여 더 잘 작동합니다.

위험 분석

이 전략은 너무 많은 거래와 거래 당 적당한 이익 마진의 위험에 직면 할 수 있습니다. 해결책은 거래 빈도를 낮추는 데 매개 변수를 적절히 조정하고 더 큰 가격 변동이있는 제품을 선택하는 것을 포함합니다. 또한 거래 비용은 최종 이익에도 영향을 줄 수 있습니다. 낮은 수수료 또는 적절한 규모의 포지션 크기를 가진 거래 플랫폼을 선택하는 것이 좋습니다.

개선 방향

이 전략의 매개 변수들은 RSI 매개 변수, 스토카스틱 RSI 매개 변수, 과잉 구매/ 과잉 판매 임계 값 등을 조정하는 것과 같이 더 이상 최적화 될 수 있다. 또한, EMA와 같은 다른 지표들은 신호를 필터링하고 품질을 향상시키기 위해 결합될 수 있다. 다른 제품들 사이의 상관관계를 활용하기 위해 여러 제품 조합을 시도하는 것도 보다 안정적인 전체 수익을 얻는 데 도움이 될 수 있다.

결론

이 전략은 상대적으로 과반 구매 및 과반 판매 수준에서 거래 신호를 생성하기 위해 RSI 지표와 스토카스틱 RSI 지표의 장점을 통합합니다. 매개 변수는 추가로 조정하고 다른 제품에 대한 거래 규칙을 사용자 정의 할 수 있습니다. 다른 전략 또는 지표와의 조합도 탐구 할 수 있습니다. 전반적으로,이 전략은 단기 거래 기회를 식별하려는 양적 거래자에게 적합합니다.


/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-01 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("RSI+STOCHRSI", overlay=true)
length = input( 10)
overSold = input( 20 )
overBought = input( 60 )
price = close
vrsi = rsi(price, length)

smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
srsilow=input(20)
srsiup=input(80)

sourceup = high
sourcelow = low
source=close



yearfrom = input(2018)
yearuntil =input(2019)
monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  (d<srsilow) and (k<srsilow) and (vrsi<overSold)) 
    strategy.entry("MMAL", strategy.long, stop=close, oca_name="TREND", comment="AL")
else
    strategy.cancel(id="MMAL")


if ( (d> srsiup ) and (k>srsiup ) and (vrsi >overBought) )
    strategy.entry("MMSAT", strategy.short,stop=close, oca_name="TREND",  comment="SAT")
else
    strategy.cancel(id="MMSAT")
    
    
    

더 많은