Cette stratégie combine la moyenne mobile simple (SMA) et la ligne de tendance de régression linéaire tournante. Elle définit la condition d'entrée longue lorsque le prix de clôture est au-dessus de la ligne de tendance et de la ligne de tendance, et la condition de sortie lorsque le prix de clôture est en dessous.
Les éléments clés de cette stratégie sont les suivants:
SMA: moyenne mobile simple, calculant le prix de clôture moyen sur une période (smaPeriod) sous forme de ligne de signal.
Rolling Trendline: Adaptation de la meilleure ligne de régression linéaire sur une fenêtre (fenêtre) comme signal de tendance. Calculé par la méthode ordinaire du moindre carré.
Condition d'entrée: long lorsque le prix de clôture est supérieur à la SMA et à la tendance.
Condition de sortie: position fermée lorsque le prix de clôture est < SMA et ligne de tendance.
Ainsi, la stratégie repose principalement sur la rupture du signal SMA pour l'entrée et la rupture du canal pour la sortie.
Cette stratégie intègre un double filtre de MA et de ligne de tendance, ce qui peut réduire efficacement les faux écarts commerciaux.
Cette stratégie comporte également certains risques:
Quelques orientations d'optimisation pour ces risques:
Cette stratégie peut être optimisée dans les aspects suivants:
Ajouter des fonctions d'ajustement dynamique pour la période SMA, des paramètres de glissement basés sur les régimes de marché.
Développer un mécanisme d'arrêt de perte élastique.
Ajouter un filtre à partir d'autres indicateurs, par exemple le volume, le RSI pour améliorer la précision des décisions.
Développez une version inverse. Allez long lorsque le prix atteint le bas et rompt le canal à la baisse.
Cette stratégie intègre les signaux de trading de la moyenne mobile et du support de canal de la ligne de tendance en rotation pour mettre en œuvre les opérations suivant la tendance. Le double filtre réduit la probabilité de fausse rupture et améliore la qualité des décisions. Il a des paramètres simples et une logique claire, ce qui est facile à mettre en œuvre et à optimiser. En résumé, cette stratégie constitue un système de trading de rupture de tendance fiable, simple et intuitif.
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("SMA Strategy with Rolling Trendline", overlay=true) // Input parameters smaPeriod = input(14, title="SMA Period") window = input(20, title="Trendline Window") startDate = input(timestamp("2023-01-01"), title="Start Date") endDate = input(timestamp("2023-12-31"), title="End Date") // Calculating SMA sma = sma(close, smaPeriod) // Function to calculate linear regression trendline for a window linreg_trendline(window) => sumX = 0.0 sumY = 0.0 sumXY = 0.0 sumX2 = 0.0 for i = 0 to window - 1 sumX := sumX + i sumY := sumY + close[i] sumXY := sumXY + i * close[i] sumX2 := sumX2 + i * i slope = (window * sumXY - sumX * sumY) / (window * sumX2 - sumX * sumX) intercept = (sumY - slope * sumX) / window slope * (window - 1) + intercept // Calculating the trendline trendline = linreg_trendline(window) // Entry and Exit Conditions longCondition = close > sma and close < trendline exitLongCondition = close < sma and close > trendline // Strategy logic if (true) if (longCondition) strategy.entry("Long", strategy.long) if (exitLongCondition) strategy.close("Long") // Plotting plot(sma, title="Simple Moving Average", color=color.blue) plot(trendline, title="Rolling Trendline", color=color.red) plotshape(series=longCondition, title="Enter Trade", location=location.belowbar, color=color.green, style=shape.triangleup) plotshape(series=exitLongCondition, title="Exit Trade", location=location.abovebar, color=color.red, style=shape.triangledown)