
이 전략은 RSI 지표의 이중 포크 역전 원리에 기초한 트렌드 추적 전략이다. 이 전략은 구매 및 판매 신호로 서로 다른 주기의 RSI 선의 교차를 사용하며 RSI 지표와 결합하여 현재 과매매 또는 과매매 상태에 있는지 판단하여 거래 신호의 유효성을 추가로 확인한다.
이 전략은 주로 5일과 11일 두 개의 RSI 지표 라인을 기반으로 한다. 더 빠른 RSI ((5일 라인) 이 아래에서 위로 슬로어 RSI ((11일 라인) 을 돌파하고 동시에 6일 RSI가 30보다 낮으면 구매 신호를 생성한다. 더 빠른 RSI가 슬로어 RSI를 상향으로 내려가면서 동시에 6일 RSI가 70보다 높으면 판매 신호를 생성한다.
이 전략은 30과 70의 수평선을 동시에 그리는 것이다. 30은 과매도 영역을, 70은 과매도 영역을 나타낸다. RSI 지표의 기본 아이디어는 과매도 영역에 있을 때, 자산이 과대평가되어 수익을 얻거나 재조정 기회를 기다리는 것을 고려해야 한다는 것이다. RSI가 과매도 영역에 있을 때, 자산이 과대평가되어 구매를 고려하고 다중 포지션을 구축해야 한다는 것이다.
구매 및 판매 신호를 생성할 때, 이 전략은 각각 오버 및 오브를 주문한다. 따라서 이것은 상승 추세를 추적할 수 있는 양방향 거래 전략이며, 하락 추세를 추적할 수 있다.
이중 포크 신호가 늦어지고, 일부 폭락이 놓쳐질 수도 있다.
해결 방법: 더 빠른 RSI의 주기 변수를 적절히 줄여서 신호를 더 민감하게 만듭니다.
트렌드 시장에서 더 많은 잘못된 신호가 나타날 수 있습니다.
해결 방법: 오버 바이 오버 셀 판단 영역의 매개 변수를 조정하여 트렌드 시장의 잘못된 신호를 피하십시오.
RSI 지표가 분산되거나 실패할 확률
해결 방법: RSI 단독 실패의 확률을 피하기 위해 다른 지표 조합과 함께 사용
주기 변수 최적화: 더 빠르고 더 느린 RSI의 주기 변수를 조정하여 최적의 변수 조합을 찾습니다.
오버 바이 오버 셀 파라미터 최적화: 오버 바이 오버 셀 판단 영역의 파라미터를 조정하여 신호 정확도를 향상시킵니다.
다른 지표와 결합: 결합 이동 평균 또는 변동률 지표와 같은, 통합 거래 시스템을 형성
이 전략은 RSI 이중 포크 반전 사고방식을 기반으로하며, 좀 더 신뢰할 수 있는 트렌드 추적 전략이다. 이 전략은 다중 주기 RSI 판단을 사용하여, 특정 가짜 신호를 피할 수 있으며, 따라서 높은 실전 효과를 갖는다. 이 전략은 파라미터 최적화 및 지표 조합을 통해 더 뛰어난 성과를 얻을 수 있다.
/*backtest
start: 2022-11-15 00:00:00
end: 2023-11-21 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/
// © email_analysts
// This code gives indication on the chart to go long or short based on RSI crossover strategy.
//Default value has been taken as 5 and 11, with 6 being used to identify highs & lows.
//@version=4
strategy("RSITrendStrategy", overlay=false)
len1 = input(title="MA 1", defval = 5)
len2 = input(title="MA 1", defval = 11)
len3 = input(title="MA 1", defval = 6)
h1 = hline(30.)
h2 = hline(70.)
///fill(h1, h2, color = color.new(color.blue, 80))
sh = rsi(close, len1)
ln = rsi(close, len2)
rs = rsi(close, len3)
p1 = plot(sh, color = color.red)
p2 = plot(ln, color = color.green)
p3 = plot(rs, color = color.white)
mycol = sh > ln ? color.lime : color.red
fill(p1, p2, color = mycol)
buy = (sh[1] < ln[1] and sh > ln and rs[1] < 30)
if (buy)
strategy.entry("long", strategy.long)
sell = (sh[1] > ln[1] and sh < ln and rs[1] > 70)
if (sell)
strategy.entry("short", strategy.short)