암호화폐 거래에 대한 스토카스틱 RSI 전략

저자:차오장, 날짜: 2023-12-15 10:08:14
태그:

img

I. 전략 개요

이 전략은 암호화폐 거래에 대한 스토카스틱 RSI 전략 (Stochastic RSI Strategy for Cryptocurrency Trading) 이라고 불립니다. 암호화폐를 위한 구매 및 판매 신호를 식별하기 위해 상대적 강도 지표 (RSI) 와 스토카스틱 RSI 지표를 결합합니다.

전략의 기본 아이디어는: 먼저 RSI 값을 계산하고, RSI를 기반으로 K와 D 값을 기준으로 스토카스틱 RSI 지표를 구성합니다. K 값이 D 값보다 높을 때 구매 신호가 생성됩니다. K 값이 D 값보다 낮을 때 판매 신호가 생성됩니다. 잘못된 신호를 필터링하기 위해 전략은 또한 변화율 지표 (RVI) 와 이동 평균선을 확인하기 위해 도입합니다.

II. 전략의 세부 원칙

  1. 14기 RSI 값을 계산합니다.

  2. K와 D 값을 얻기 위해 RSI에 기반한 14주기 스토카스틱 RSI 지표를 구성합니다 (D는 K의 3주기 이동 평균입니다).

  3. 5주기 RVI와 그 신호선 (RVI의 이동 평균) 을 계산합니다.

  4. K가 D 위에 넘어가면, RVI> 신호선과 마지막 항s RVI < 신호선, 구매 신호가 생성됩니다. K가 D 아래에 넘어가면, RVI < 신호선과 마지막 항s RVI > 신호선이 발생하면 판매 신호가 생성됩니다.

  5. 생성된 신호에 따라 긴 또는 짧은 포지션을 개설합니다.

III. 이점 분석

  1. 스토카스틱 RSI와 RVI의 이중 확인의 조합은 잘못된 신호를 효과적으로 필터링할 수 있습니다.

  2. RVI 지표는 단기적인 과반 구매/ 과반 판매 상황을 반영할 수 있으며 극단적인 시점에서 포지션을 개설하는 것을 피합니다.

  3. 스토카스틱 RSI 지표는 과잉 구매/ 과잉 판매 구역을 식별합니다. KDJ 지표의 황금/죽은 십자가를 사용하여 입구 지점을 결정합니다.

  4. 백테스트 결과는 이 전략이 일부 암호화폐 쌍 (FCT/BTC 등) 에서 좋은 성과를 거두었다는 것을 보여줍니다.

IV. 위험 분석

  1. 비슷한 트레일링 스톱 전략의 잘못된 스톱 손실 배치로 인해 조기 중단 될 수 있습니다.

  2. 높은 신호 주파수는 과도한 거래 수수료로 이어질 수 있어 고려해야 합니다.

  3. KDJ 및 RVI 표시기 모두 잘못된 신호를 생성하여 불필요한 손실을 초래할 수 있습니다.

  4. 전략 매개 변수는 다른 거래 쌍에 최적화되어야 합니다. 일반적인 적용 가능성은 평가되어야 합니다.

V. 최적화 방향

  1. 이윤을 잠금하기 위해 이동 스톱 손실을 추가하십시오. ATR는 스톱 손실 수준을 설정하는 데 참조 될 수 있습니다.

  2. 더 깨끗한 신호를 위해 RVI 매개 변수와 스토카스틱 RSI 매개 변수를 최적화합니다.

  3. 너무 큰 단일 주문을 피하기 위해 거래 크기의 통제를 추가하십시오.

  4. 불리한 수준에서 포지션을 개척하지 않도록 필터링 메커니즘을 추가합니다. 변동성 지표가 현재 시장이 불안정한 상태에 있는지 여부를 결정하기 위해 도입 될 수 있습니다.

  5. 다른 암호화폐 쌍을 테스트해서 가장 잘 어울리는 것을 찾습니다.

VI. 전략 요약

이 전략은 먼저 RSI 지표에 기반한 스토카스틱 RSI를 구성하고, RVI 지표를 확인하기 위해 사용하여 단기 과잉 구매/ 과잉 판매 조건 및 전환점에 열린 포지션을 감지합니다. 이점은 이중 확인이 잘못된 신호를 필터링할 수 있다는 것입니다. 단점은 과도한 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매개 매


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

//@version=4
strategy(title="Stochastic RSI", shorttitle="Stoch RSI", overlay = true)
Per = input(5, title="Length", minval=1)
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)


rvi = sum(swma(close-open), Per)/sum(swma(high-low),Per)
sig = swma(rvi)
//plot(rvi, color=green, title="RVI")
//plot(sig, color=red, title="Signal")

//plot(K,  title="K")
//plot(D,  title="D")
Dn = K <= D  and K > 70 and rvi <= sig  and rvi[1] >= sig[1]
Up= K >= D  and K < 30 and rvi >= sig  and rvi[1] <= sig[1]
ARROW =  Up - Dn
plotarrow(ARROW, title="Down Arrow",  colordown=red, transp=0, maxheight=10, minheight=10)
plotarrow(ARROW, title="Up Arrow", colorup=lime,  transp=0, maxheight=10, minheight=10)
long = crossover(Up, Dn)
short = crossunder(Up, Dn)
last_long = long ? time : nz(last_long[1])
last_short = short ? time : nz(last_short[1])
long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)

//plot(long_signal, "BUY", color=green)
//plot(short_signal, "SELL", color=red)
strategy.entry("BUY", strategy.long, when=long_signal)
strategy.entry("SELL", strategy.short, when=short_signal)


더 많은