평형 RSI 백테스팅 전략 V2

저자:차오장, 날짜: 2023-09-21 15:02:06
태그:

전반적인 설명

이 전략은 존 에일러스가 개발한 RSI 지표의 향상된 버전입니다. 주요 장점은 지각을 최소화하면서 RSI 곡선을 매끄럽게하는 것입니다.

어떻게 작동 합니까?

  1. 6개의 바를 사용하여 가격 평균 xValue를 계산합니다.

  2. xValue를 기준으로 CU23의 상향 합과 CD23의 하향 합을 계산합니다.

  3. 정규화된 RES 값 nRes를 CU23/(CU23 + CD23로 계산합니다.

  4. nRes와 임계값을 비교하여 긴/단 신호를 생성합니다.

  5. 신호를 반전할 수 있습니다.

  6. 신호에 따라 장/단 입력하세요.

장점

  • 매끄러운 RSI 곡선은 잘못된 신호를 감소시킵니다.
  • 최적값을 찾기 위한 조절 가능한 매개 변수
  • 다양한 시장 조건에 적응할 수 있는 리버스 거래
  • 단순하고 직관적인 논리

위험성

  • 열악한 매개 변수 최적화는 과도한 잘못된 신호를 일으킬 수 있습니다.
  • 약간의 지연이 남아 있고 짧은 반전을 놓칠 수 있습니다.
  • 역거래는 거래 빈도와 비용을 증가시킵니다.

최적화 방향

  • 가장 좋은 조합을 찾기 위해 매개 변수를 최적화
  • 추가 표시가 있는 필터 신호
  • 단일 손실을 제어하기 위해 스톱 손실 논리를 추가
  • 최적의 유지 기간을 찾기 위한 백테스트
  • 매개 변수 최적화를 위해 기계 학습을 탐구

결론

이 전략은 계산을 강화하여 잘못된 신호를 어느 정도 줄임으로써 RSI 곡선을 효과적으로 부드럽게합니다. 추가 필터링 및 매개 변수 최적화는 성능을 향상시킬 수 있습니다. 그러나 일부 지연은 모멘텀 시스템으로 지속됩니다. 전반적으로 간단하고 신뢰할 수있는 브레이크아웃 시스템은 추가 연구와 최적화에 가치가 있습니다.


/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-19 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/11/2017
// This is new version of RSI oscillator indicator, developed by John Ehlers. 
// The main advantage of his way of enhancing the RSI indicator is smoothing 
// with minimum of lag penalty. 
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Smoothed RSI Backtest ver.2")
Length = input(10, minval=1)
TopBand = input(0.8, step=0.01)
LowBand = input(0.2, step=0.01)
reverse = input(false, title="Trade reverse")
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xValue = (close + 2 * close[1] + 2 * close[2] + close[3] ) / 6
CU23 = sum(iff(xValue > xValue[1], xValue - xValue[1], 0), Length)
CD23 = sum(iff(xValue < xValue[1], xValue[1] - xValue, 0), Length)
nRes = iff(CU23 + CD23 != 0, CU23/(CU23 + CD23), 0)
pos = iff(nRes > TopBand, 1,
	   iff(nRes < LowBand, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )  
plot(nRes, color=blue, title="Smoothed RSI")

더 많은