
La stratégie de suivi de tendance de régression bi-linéaire utilise la différence entre la régression linéaire rapide et la régression linéaire lente pour déterminer la tendance des prix et en faire un signal d’entrée. Lorsque la régression linéaire rapide fait plus lorsque la limite supérieure est franchie, la limite inférieure est franchie.
La stratégie commence par calculer deux courbes de régression linéaire de différentes périodes, l’une pour une régression linéaire rapide, avec des périodes plus courtes, et l’autre pour une régression linéaire lente, avec des périodes plus longues. Ensuite, la différence entre les deux courbes de régression linéaire est calculée, lorsque la régression linéaire rapide est supérieure à la régression linéaire lente, la différence est supérieure à 0, indiquant que le prix est en tendance à la hausse; lorsque la régression linéaire rapide est inférieure à la régression linéaire lente, la différence est inférieure à 0, indiquant que le prix est en tendance à la baisse.
La stratégie utilise le décalage de la ligne de traversée de la limite de la porte comme signal d’achat et le décalage de la ligne de traversée de la limite de la porte comme signal de placement. En même temps, la demande de cours supérieurs à 200 cycles EMA, c’est pour filtrer les événements hors tendance.
La régression bi-linéaire est utilisée pour capturer les tendances des prix et les repérer.
Le filtre EMA est ajouté pour filtrer les mouvements non tendanciels et éviter les faux signaux.
La logique de la stratégie est simple et claire, facile à comprendre et à mettre en œuvre.
Une mauvaise configuration du cycle de régression linéaire peut entraîner une quantité importante de signal de bruit.
Dans une tendance forte, le filtre EMA peut manquer certaines opportunités.
Les transactions fréquentes et les pertes sont susceptibles de se produire dans des conditions de choc.
La solution est simple:
Optimisation des paramètres du cycle de régression linéaire et réduction du bruit.
Le cycle EMA peut être ajusté en fonction de la dynamique du marché.
Augmenter le stop-loss pour contrôler les pertes.
Cette stratégie peut être optimisée dans les domaines suivants:
Optimiser les paramètres cycliques de la régression linéaire rapide et de la régression linéaire lente pour trouver la meilleure combinaison de paramètres.
Essayez d’autres indicateurs de filtrage au lieu de l’EMA, comme les bandes de Brin, le KDJ, etc. pour voir si cela peut améliorer l’efficacité de la stratégie.
Augmentation des stop-loss dynamiques pour maîtriser les risques et prévenir l’expansion des pertes.
Le système de sélection d’actions est combiné à un système de sélection d’actions qui sont plus susceptibles de tendance.
Les paramètres de développement sont auto-adaptés, en fonction de l’état du marché.
La stratégie de suivi de la tendance de régression binaire est généralement simple et directe. Elle utilise la différence de régression binaire pour déterminer la tendance des prix et peut suivre efficacement la tendance en utilisant l’EMA comme indicateur de filtrage. Cependant, la stratégie comporte également certains risques et nécessite une attention particulière à l’optimisation des paramètres, au contrôle des pertes, etc., afin de tirer le meilleur parti de la stratégie.
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TradingAmmo
//@version=4
strategy("Linear trend", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end = timestamp(input(9999, "End Year"), input(1, "Month"), input(1, "Day"), 0, 0)
_testPeriod() =>
iff(time >= startP and time <= end, true, false)
src = close
len1 = input(defval=13, minval=1, title="Fast LR")
len2 = input(defval=55, minval=1, title="Slow LR")
lag1 = input(0, title="Lag for fast")
lag2 = input(0, title="Lag for slow")
threshold = input(0,step=0.5, title="Threshold")
fast_lr = linreg(src, len1, lag1)
slow_lr = linreg(src, len2, lag2)
lr = fast_lr - slow_lr
plot_fast = plot(lr, color = lr > 0 ? color.green : color.red)
plot(threshold, color=color.purple)
long_condition = crossover(lr, threshold) and close > ema(close, 200) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)
short_condition = crossunder(lr, threshold)
strategy.close('BUY', when=short_condition)