Stratégie de trading à double différence de moyenne mobile


Date de création: 2023-10-17 13:54:05 Dernière modification: 2023-10-17 13:54:05
Copier: 0 Nombre de clics: 706
1
Suivre
1617
Abonnés

Stratégie de trading à double différence de moyenne mobile

Aperçu

Cette stratégie est basée sur la différence de la moyenne mobile entre les deux courbes. Elle calcule deux courbes moyennes à cycle rapide et à cycle lent. Elle génère un signal d’achat lorsque la courbe rapide franchit la courbe lente en descendant; elle génère un signal de vente lorsque la courbe rapide franchit la courbe lente en descendant.

Définition

La logique centrale de cette stratégie est de calculer deux moyennes mobiles SMA ((len1) et SMA ((len2)), et leur différentiel. Le len1 représente la période de la moyenne courte, le len2 la période de la moyenne longue. La moyenne courte répond plus rapidement aux variations de prix et la moyenne longue reflète mieux les tendances à long terme.

Lorsque la courte moyenne passe en dessous de la moyenne à long terme, cela signifie que le prix à court terme commence à monter au-dessus de la tendance à long terme et que vous pouvez acheter; lorsque la courte moyenne passe en dessous de la moyenne à long terme, cela signifie que le prix à court terme commence à baisser au-dessous de la tendance à long terme et que vous pouvez vendre.

Afin de filtrer les erreurs, la stratégie introduit également out3 comme ligne de signal de transaction. Out3 est le résultat d’un traitement lisse de la différence entre la moyenne à court terme et la valeur moyenne des prix.

Plus précisément, la variable long est positive lorsque out3 traverse diff vers le haut, comme un signal d’achat; la variable short est négative lorsque out3 traverse diff vers le bas, comme un signal de vente.

Analyse des avantages

Il s’agit d’une stratégie de suivi de tendance très simple et intuitive. Elle utilise des cycles bi-mesurés qui créent des croisements de mesures différents pour capturer les points de conversion de tendance, ce qui est plus fiable que les systèmes monométriques.

Contrairement aux méthodes telles que le stop-loss mobile, il utilise le principe de suivi de la tendance, ce qui permet de maximiser les profits et de ne pas être stoppé lorsque la tendance est plus longue. En même temps, il contrôle les pertes et annule les positions en temps opportun lorsque la tendance est inversée.

La stratégie est moins paramétrable, facile à maîtriser et à ajuster, et convient aux débutants qui souhaitent apprendre à trader avec des algorithmes.

Risques et améliorations

Le plus grand risque de cette stratégie réside dans le fait que les paramètres périodiques de la courbe binaire sont inappropriés et entraînent des erreurs de signal de négociation. Si la courbe moyenne à court terme est trop longue, l’occasion de commencer la phase de tendance est manquée; si elle est trop courte, la probabilité de faux signaux augmente.

Il est possible d’obtenir la meilleure combinaison en ajustant les paramètres de len1 et len2, ou d’essayer d’introduire des cycles d’ajustement dynamique en ligne d’équilibre auto-adaptative. En outre, il est possible de réduire les faux signaux en optimisant les paramètres du filtre.

Les stratégies de suivi des tendances doivent également prêter attention à la maîtrise de la taille des pertes individuelles, qui peuvent être optimisées par la définition d’un point d’arrêt ou l’introduction d’une gestion de position.

Résumer

La stratégie de décalage bi-équilibré est une stratégie de suivi de tendance très typique. Son simple système de croisement bi-équilibré apporte une source de signal stable, associée à des filtres qui permettent d’éviter efficacement d’être perturbés par les fluctuations du marché. Une meilleure performance de la stratégie peut être obtenue en optimisant les paramètres de la période équilibrée.

Code source de la stratégie
/*backtest
start: 2022-10-10 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//by afrazium
//@version=3
strategy(title="SMA Diff strat", shorttitle="SMAD STR", overlay=false, initial_capital=1, precision=8, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, calc_on_order_fills= false, calc_on_every_tick=false, pyramiding=0)
len1 = input(50, minval=1, title="Length1"), len2 = input(100, minval=1, title="Length2"), smo = input(1, minval=1, title="Smoothing")
src = input(ohlc4, title="Source")

mid = src
expr1 = sma(src, len1), expr2 = sma(src, len2)
dif = (expr1 - expr2), out1 = (mid - expr1), out2 = (mid - expr2), out3 = sma(out1, smo)

long = crossover(out3, dif) ? out3 : na, short = crossunder(out3, dif) ? out3 : na

plot(out3, color=black, linewidth=2), hline(0)
clr = out2 >= out1 ? lime : red, plot(dif, color=clr, linewidth=2)
plot(long, title = 'Crossover', color = green, style = circles, linewidth=4), plot(short, title = 'Crossunder', color = red, style = circles, linewidth=4)

strategy.entry("buy", strategy.long, when=crossover(out1, dif))
strategy.close("buy", when=crossunder(out1, dif))

//plot(out2, color=blue, linewidth=2)
//A = plot(mid/10, color=red, linewidth=1, transp=100), B = plot(mid/20, color=red, linewidth=1, transp=100)
//C = plot(-mid/10, color=green, linewidth=1, transp=100), D = plot(-mid/20, color=green, linewidth=1, transp=100)
//fill(A, B, color=red), fill(C, D, color=green)