
Cette stratégie permet de suivre la courte ligne en combinant l’indicateur de régression linéaire et la moyenne mobile binaire. La stratégie est basée sur la création d’une position vide lorsque le prix franchit la trajectoire ascendante et descendante, et la suppression de la position lorsque le prix franchit à nouveau.
Cette stratégie utilise principalement une régression linéaire pour juger de la rupture des prix. La régression linéaire est une trajectoire ascendante et descendante calculée en fonction des prix les plus élevés et les plus bas d’une période donnée, en utilisant la méthode de la régression linéaire. Lorsque le prix se déplace en dessous de la trajectoire ascendante ou en dessous de la trajectoire descendante, nous considérons que c’est un signal de transaction.
En outre, la stratégie introduit également une moyenne mobile binaire pour juger de la tendance intermédiaire. La moyenne mobile binaire peut être plus rapide pour répondre aux changements de prix. Lorsque le prix passe sous la trajectoire supérieure, si la moyenne mobile binaire est déjà au-dessus du prix à ce moment-là, ce qui indique qu’il est actuellement en baisse, nous établissons une position ouverte.
Plus précisément, la stratégie comprend principalement les points suivants:
Cette stratégie présente les avantages suivants par rapport aux indicateurs traditionnels tels que les moyennes mobiles:
Cette stratégie comporte également des risques à prendre en compte:
Pour les risques ci-dessus, nous pouvons les résoudre par des méthodes telles que l’optimisation des paramètres, l’arrêt strict des pertes et l’assouplissement approprié de l’amplitude de rupture.
La stratégie peut également être optimisée dans les domaines suivants:
Cette stratégie combinant l’utilisation d’indicateurs de régression linéaire et de moyennes mobiles binaires présente des avantages en théorie et en pratique. La stabilité et l’efficacité de la stratégie peuvent être encore améliorées grâce à des ajustements constants et optimisés.
/*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))