Chiến lược Chỉ số Động lực Chuyển ngược kép kết hợp chiến lược 123 Reversal và chiến lược Chỉ số Động lực Tương đối (RMI). Nó nhằm cải thiện độ chính xác của các quyết định giao dịch bằng cách sử dụng các tín hiệu kép.
Chiến lược bao gồm hai phần:
123 Chiến lược đảo ngược
Chiến lược chỉ số động lực tương đối (RMI)
Chiến lược này chỉ tạo ra tín hiệu giao dịch khi 123 Reversal và RMI cung cấp các tín hiệu kép phù hợp. Điều này có thể làm giảm hiệu quả khả năng giao dịch sai.
Những lợi thế của chiến lược này bao gồm:
Ngoài ra còn có một số rủi ro:
Những rủi ro này có thể được giảm bằng cách điều chỉnh các tham số, tối ưu hóa tính toán chỉ số.
Chiến lược có thể được tối ưu hóa hơn nữa thông qua:
Chiến lược chỉ số động lực đảo ngược kép có thể cải thiện hiệu quả độ chính xác của các quyết định giao dịch và giảm nguy cơ tín hiệu sai thông qua lọc tín hiệu kép và tối ưu hóa tham số. Nó phù hợp với các thị trường giới hạn phạm vi để phát hiện các cơ hội đảo ngược. Chiến lược có thể được tăng cường hơn nữa bằng cách điều chỉnh các tham số và tối ưu hóa tính toán chỉ số để giảm rủi ro.
/*backtest start: 2024-01-06 00:00:00 end: 2024-02-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 07/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 // The Relative Momentum Index (RMI) was developed by Roger Altman. Impressed // with the Relative Strength Index's sensitivity to the number of look-back // periods, yet frustrated with it's inconsistent oscillation between defined // overbought and oversold levels, Mr. Altman added a momentum component to the RSI. // As mentioned, the RMI is a variation of the RSI indicator. Instead of counting // up and down days from close to close as the RSI does, the RMI counts up and down // days from the close relative to the close x-days ago where x is not necessarily // 1 as required by the RSI). So as the name of the indicator reflects, "momentum" is // substituted for "strength". // // 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 RMI(Length,BuyZone, SellZone) => pos = 0.0 xMU = 0.0 xMD = 0.0 xPrice = close xMom = xPrice - xPrice[Length] xMU := iff(xMom >= 0, nz(xMU[1], 1) - (nz(xMU[1],1) / Length) + xMom, nz(xMU[1], 1)) xMD := iff(xMom <= 0, nz(xMD[1], 1) - (nz(xMD[1],1) / Length) + abs(xMom), nz(xMD[1], 0)) RM = xMU / xMD nRes = 100 * (RM / (1+RM)) pos:= iff(nRes < BuyZone, 1, iff(nRes > SellZone, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Relative Momentum Index", 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, "---- Relative Momentum Index ----") LengthRMI = input(20, minval=1) BuyZone = input(40, minval=1) SellZone = input(70, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posRMI = RMI(LengthRMI,BuyZone, SellZone) pos = iff(posReversal123 == 1 and posRMI == 1 , 1, iff(posReversal123 == -1 and posRMI == -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 )