이 전략은 RSI 지표의 이중 교차 역전 원리에 기반한 트렌드 다음 전략입니다. 그것은 다른 기간의 RSI 라인 간의 교차를 구매 및 판매 신호로 사용하며, 또한 현재 상황이 과소매 또는 과소매인지에 대한 RSI 지표 판단을 통합하여 거래 신호의 유효성을 추가로 확인합니다.
이 전략은 주로 5일 및 11일 두 가지 RSI 지표 라인을 기반으로 합니다. 6일 RSI가 30 이하인 동시에 더 빠른 RSI (5일 라인) 가 더 느린 RSI (11일 라인) 를 상향으로 돌파하면 구매 신호가 생성됩니다. 6일 RSI가 70 이상인 동시에 더 빠른 RSI가 더 느린 RSI를 상향으로 돌파하면 판매 신호가 생성됩니다.
이 전략은 또한 30와 70개의 수평선을 그리며, 30은 과잉판매 영역을, 70은 과잉 구매 영역을 나타냅니다. RSI 지표의 기본 아이디어는 과잉판매/ 과잉판매 영역에 있을 때 자산이 과잉/ 과부가가치되어 있으며 수익/ 구매 기회를 고려해야 한다는 것을 의미합니다. 따라서 전략은 OBOS 영역에 있는 것을 확인하기 위해 6일 RSI에 대한 판단을 통합하여 일부 잘못된 신호를 필터링하고 신뢰성을 향상시킵니다.
구매 및 판매 신호가 생성되면 전략은 그에 따라 긴 및 짧은 주문을 할 것입니다. 따라서 상승 추세와 하락 추세를 모두 추적 할 수있는 이중 방향 거래 전략입니다.
이중 크로스 신호가 늦어지고 상승과 하락을 놓칠 수 있습니다.
솔루션: 신호를 더 민감하게 만들기 위해 더 빠른 RSI 기간 매개 변수를 단축
트렌딩 시장에서 더 많은 잘못된 신호가 발생할 수 있습니다.
솔루션: 트렌드에서 잘못된 신호를 피하기 위해 OBOS 매개 변수를 조정
RSI 지표의 오차 또는 실패 확률
해결책: 다른 지표와 결합하여 유일한 실패 확률을 피합니다.
기간 매개 변수 최적화: 더 빠르고 느린 RSI 기간을 조정하고 최상의 조합을 찾습니다.
OBOS 매개 변수 최적화: 신호 정확성을 향상시키기 위해 OBOS 매개 변수를 조정
다른 지표와 결합: MA, 변동성 지표 등을 통합하여 포괄적인 시스템을 형성합니다.
이 전략은 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)