역 Fisher RSI 이동 평균 다 시간 프레임 전략

저자:차오장, 날짜: 2023-11-21 14:45:28
태그:

img

전반적인 설명

리버스 피셔 RSI 이동 평균 다중 시간 프레임 전략은 더 높은 시간 프레임에서 역으로 조정된 RSI 지표의 이동 평균을 계산하여 잠재적인 시장 전환점을 식별하려고 노력하는 양적 거래 전략입니다.

전략 논리

전략은 먼저 일반 RSI 지표를 계산하고, RSI_pm 매개 변수는 RSI 계산 기간을 나타냅니다. 원래 RSI는 수학 함수 IF ((input)=>(exp(2를 통해 역으로 조정됩니다.입력) -1) / (exp) 2조정된 RSI는 IF_RSI 변수에 전달됩니다.

너무 많은 잡음을 필터링하기 위해 전략은 RSI_ps 기간 동안 IF_RSI의 이동 평균을 계산하여 구매 및 판매 신호를 결정하는 데 사용되는 최종 지표 wma_RSI를 얻습니다. 이 지표는 0-100 범위로 매핑됩니다.

마지막으로, 전략은 이 지표를 더 높은 시간 프레임에 그래프화하고 0.8 및 -0.8로 임계선을 설정한다. 지표 라인이 아래에서 0.8보다 낮을 때 구매 신호가 생성된다. 지표 라인이 위에서 -0.8보다 낮을 때 판매 신호가 생성된다.

장점

이 전략은 이중 평형화를 통해 RSI 트렌드를 처리하여 너무 많은 소음을 효과적으로 필터링하고 비교적 명확한 반전 신호를 잠금 할 수 있습니다. 이중 평형화는 각각 원래 RSI 지표와 절대적으로 조정된 RSI 지표에 적용됩니다. 이 방법은 지표의 평균 반전 특성을 향상시키고 비교적 신뢰할 수있는 거래 신호를 생산 할 수 있습니다.

또한, 전략에 의해 채택된 다중 시간 프레임 분석 방법은 더 높은 수준의 시간 프레임에 대한 지표의 브레이크를 식별하여 장기적 역전 기회를 포착하고 과도한 단기 시장 소음의 간섭을 피할 수 있습니다.

위험성

이 전략은 구매 및 판매 지점을 결정하기 위해 이동 평균 지표에 의존하고 있으며, 이는 약간의 지연을 가지고 있습니다. 장기적인 황소 시장에서 조정된 지표의 상승 공간이 제한 될 수 있으며, 트렌드 기회를 완전히 포착하지 못합니다.

한편, 조정은 또한 단기적 수정 후 회복 기회를 놓칠 수 있습니다. 지표 매개 변수가 적절히 최적화되지 않으면 특정 전략 위험이 발생할 수 있습니다.

최적화

시장 조건에 더 잘 적응하기 위해 지표 매개 변수를 적절히 조정하십시오. 예를 들어, 최적의 매개 변수 조합을 찾기 위해 다른 RSI 계산 주기와 평형 기간 매개 변수를 테스트 할 수 있습니다.

또한 신호를 검증하고 전략 안정성을 향상시키기 위해 다른 보조 지표를 결합하는 것도 고려할 가치가 있습니다. 예를 들어, 거래량 지표, 볼링거 밴드 등을 추가하여 트렌드 신호의 강도를 판단 할 수 있습니다.

결론

역 피셔 RSI 이동 평균 다중 시간 프레임 전략은 전반적으로 강력한 논리를 가지고 있지만 더 넓은 시장 상황에 적응하기 위해 최적화가 필요합니다. 신뢰할 수있는 양적 거래 전략으로 만들기 위해 추가 테스트 및 개선 가치가 있습니다.


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

//@version=4
strategy(title = "Inverse Fisher RSI-MTF2", shorttitle="INRSIM2",overlay=true)
//Inputs
RSI_pm = input(5, title="RSI Main Period",minval=2)
RSI_ps = input(1, title="RSI Smooth Period",minval=0)

//Functions
IF(input)=>(exp(2*input)-1)/(exp(2*input)+1)

//RSI Calculation
raw_RSI=0.1*(rsi(close,RSI_pm)-50)
wma_RSI=wma(raw_RSI,RSI_ps)*100
IF_RSI = IF(wma_RSI)

resCustom = input(title="Timeframe", defval="1440" )
v=request.security(syminfo.tickerid, resCustom,IF_RSI)
a=v>0.8
b=v<-0.8

z=0.8
buy = crossover(v,z)
sell=crossunder(v,b)
 
plotshape(sell, title="sell", style=shape.triangledown,location=location.abovebar, color=red, transp=0, size=size.small)
plotshape(buy,  title="buy", style=shape.triangleup,location=location.belowbar, color=green, transp=0, size=size.small)


//Strategy
golong =  crossover(v,z)
goshort =  crossunder(v,b)

strategy.entry("Buy",strategy.long,when = golong)
strategy.entry("Sell",strategy.short,when = goshort)





더 많은