Cette stratégie combine des indicateurs de régression linéaire et des moyennes mobiles exponentielles doubles pour mettre en œuvre des opérations de suivi à court terme. La stratégie établit des positions courtes lorsque les prix franchissent les rails supérieur et inférieur et ferme les positions lorsque les prix franchissent à nouveau.
Cette stratégie utilise principalement des indicateurs de régression linéaire pour déterminer les écarts de prix. L'indicateur de régression linéaire est calculé sur la base des prix les plus élevés et les plus bas au cours d'une certaine période en utilisant une régression linéaire pour obtenir des rails supérieurs et inférieurs. Lorsque les prix se détachent du rails supérieur ou du rails inférieur, nous pensons que c'est un signal de trading.
En outre, cette stratégie introduit également des moyennes mobiles exponentielles doubles pour déterminer la tendance intermédiaire. Les moyennes mobiles exponentielles doubles peuvent réagir plus rapidement aux changements de prix. Lorsque les prix se détachent du rail supérieur, si la moyenne mobile exponentielle double est déjà au-dessus du prix à ce moment-là, cela indique qu'elle est actuellement dans une tendance à la baisse. Nous établirons des positions courtes. Lorsque les prix franchiront à nouveau le rail supérieur ou franchiront la moyenne mobile exponentielle double, nous aplatirons les positions.
Plus précisément, les principaux points de la stratégie sont les suivants:
Comparée aux moyennes mobiles traditionnelles et à d'autres indicateurs, cette stratégie présente les avantages suivants:
Cette stratégie comporte également certains risques:
Pour les risques ci-dessus, nous pouvons les résoudre par optimisation des paramètres, stop loss strict, relaxation appropriée de l'amplitude de rupture, etc.
Cette stratégie peut également être optimisée dans les aspects suivants:
Cette stratégie utilise de manière complète des indicateurs de régression linéaire et des moyennes mobiles doubles exponentielles, ce qui présente certains avantages en théorie et en pratique. Des améliorations supplémentaires de la stabilité et des résultats de la stratégie peuvent être obtenues grâce à une optimisation et un ajustement continus. Cette stratégie convient aux opérations à court terme et peut apporter un bon alpha aux traders quantitatifs.
/*backtest start: 2023-12-26 00:00:00 end: 2024-01-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy('LR&SSL_Short', overlay=true) startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0) end = timestamp(9999,1,1,0,0) _testPeriod() => true len = input(title="Period", defval=89) smaHigh = linreg(high, len, 0) smaLow = linreg(low, len, -1) Hlv = 0.0 Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1] sslDown = Hlv < 0 ? smaHigh : smaLow sslUp = Hlv < 0 ? smaLow : smaHigh plot(sslDown, linewidth=2, color=color.red) plot(sslUp, linewidth=2, color=color.lime) length = input(200, title="DEMA") d1 = ema(close, length) d2 = 2 * d1 - ema(d1, length) trendColour = d2 > d1 ? #AAFFAA : #FFAAAA dema=sma(d2,length) turnGreen = d2 > d1 and d2[1] <= d1[1] turnRed = d2 <= d1 and d2[1] > d1[1] up =turnGreen down=turnRed plotshape(down, title="down", style=shape.triangledown,location=location.abovebar, color=color.red, transp=0, size=size.small) plotshape(up, title="up", style=shape.triangleup,location=location.belowbar, color=color.green, transp=0, size=size.small) plot(dema, color = trendColour,linewidth=3 ,transp = 0) bgcolor(close > dema ? color.green : color.red) strategy.entry("short", strategy.short, when= crossunder(sslUp, sslDown) and dema > close and _testPeriod()) strategy.close("short", when = crossover(sslUp, sslDown) or crossover(close, dema))