이중 리버션 RSI 히스토 알렛 전략은 123 리버션 전략과 RSI 히스토 알렛 전략을 결합하여 더 정확한 거래 신호를 생성합니다. 123 리버션 전략은 가격 반전 지점을 판단하고 RSI 히스토 알렛 전략은 과잉 구매 및 과잉 판매 지점을 판단합니다. 두 전략의 통합 신호는 더 신뢰할 수있는 거래 신호를 생성 할 수 있습니다.
123 리버션 전략은 다음과 같은 가설에 기초합니다: 가격 반전 신호는 실제 가격 반전보다 2 일 전에 종종 나타납니다.
구체적인 규칙은 다음과 같습니다.
역전 전 2일 가격 관계를 사용하여 역전 포인트를 판단합니다. K-라인 지표는 일부 노이즈 신호를 필터합니다.
RSI HistoAlert 전략은 RSI 지표를 수정합니다.
절대적인 RSI 값을 사용하여 과잉 구매/ 과잉 판매 상태를 표시하고 신호를 트리거합니다.
이 전략은 두 가지 다른 전략 아이디어를 결합하여 강점을 보완하고 더 신뢰할 수있는 신호를 생성합니다.
주요 위험은 다음과 같습니다.
해결책은 다음과 같습니다.
이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
듀얼 리버션 RSI 히스토 알레트 전략은 단일 전략 사용에 비해 더 신뢰할 수있는 거래 신호를 위해 가격 역전 및 과잉 구매 / 과잉 판매 판단 전략을 결합합니다. 이는 잘못된 신호 확률이 낮고 더 포괄적인 판단을 제공합니다. 또한 파라미터 튜닝, 멀티 팩터 검증, 포지션 홀딩 스키마 등을 통해 최적화 할 수있는 넓은 공간이 있습니다. 안정성과 수익성을 더욱 향상시키기 위해.
/*backtest start: 2022-12-28 00:00:00 end: 2024-01-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 28/06/2021 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // This simple indicator modified RSI // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos RSI_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify) => pos = 0.0 xPrice = close RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify pos:= iff(RSIMain > BuyAlertLevel, 1, iff(RSIMain < SellAlertLevel, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & RSI HistoAlert", shorttitle="Combo", overlay = true) line1 = input(true, "---- 123 Reversal ----") Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- line2 = input(true, "---- RSI HistoAlert ----") RSIPeriod = input(13, minval=1) BuyAlertLevel = input(-10) SellAlertLevel = input(10) RSIHistoModify = input(1.5) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posRSI_Hist = RSI_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify) pos = iff(posReversal123 == 1 and posRSI_Hist == 1 , 1, iff(posReversal123 == -1 and posRSI_Hist == -1, -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) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )