
La stratégie de trading quantitatif bi-équivalent est un système de suivi de tendance basé sur l’analyse technique, dont le mécanisme central est de générer des signaux d’achat et de vente en utilisant la relation croisée entre les moyennes mobiles à court terme (MA7) et moyennes mobiles à moyen terme (MA10). La stratégie combine également les moyennes mobiles à long terme (MA100 et MA200) comme indicateur de référence de la tendance du marché, mais les principaux signaux de trading dépendent du comportement croisé des équivalents à court et moyen terme.
Le principe central de la stratégie est basé sur la transversalité des moyennes mobiles, et la logique de mise en œuvre est la suivante:
Les quatre moyennes mobiles sont calculées: moyenne mobile simple à 7 jours (MA7), moyenne mobile simple à 10 jours (MA10), moyenne mobile simple à 100 jours (MA100) et moyenne mobile simple à 200 jours (MA200).
Génération de signaux de négociation:
La logique d’exécution de la transaction:
Marquez les signaux de transaction sur le graphique: les signaux d’achat sont affichés en dessous de la ligne K et les signaux de vente sont affichés au-dessus de la ligne K, pour faciliter la reconnaissance visuelle.
La stratégie repose sur la croisée des courbes pour capturer les variations de la dynamique des prix. Dans une tendance haussière, la courbe courte est située au-dessus de la moyenne moyenne, indiquant une augmentation de la pression d’achat à court terme; dans une tendance baissière, la courbe courte est située au-dessous de la moyenne moyenne, indiquant une augmentation de la pression de vente à court terme.
Simple et compréhensible: la stratégie est basée sur les concepts classiques de l’analyse technique, la logique est claire, facile à comprendre et à mettre en œuvre, adaptée aux débutants.
Capture de tendance: le système de croisement bi-homogène capture efficacement les variations de tendance des prix à court et moyen terme, évitant ainsi les transactions fréquentes en cours de marché.
Autonomie élevée: la stratégie peut être exécutée automatiquement, sans jugement subjectif, et avec moins d’interférences émotionnelles.
Adaptabilité: en ajustant la périodicité des moyennes mobiles, la stratégie peut s’adapter à différents environnements de marché et types de transactions.
Intuitif visuel: marque clairement les signaux d’achat et de vente sur les graphiques, afin de faciliter l’analyse et la surveillance en temps réel des traders.
La gestion des risques est claire: il existe des règles claires d’entrée et de sortie, ce qui facilite la gestion des fonds et le contrôle des risques.
Calcul efficace: calcul à partir d’une moyenne mobile simple (SMA) avec une charge de calcul réduite, adaptée aux systèmes de négociation en temps réel.
Problèmes de retard: les moyennes mobiles sont essentiellement des indicateurs en retard, la génération de signaux peut avoir manqué le meilleur point d’entrée, ce qui peut entraîner des pertes dans un marché en évolution rapide.
Faux signaux sur les marchés oscillants: Dans les marchés oscillants, les croisements fréquents de la ligne moyenne génèrent de nombreux faux signaux, entraînant des transactions fréquentes et une érosion des commissions.
Manque de mécanisme d’arrêt des pertes: le code ne prévoit pas de stratégie d’arrêt des pertes claire, ce qui peut entraîner des pertes importantes en cas de forte reprise de la tendance.
Risque de paramètres fixes: les cycles de moyennes mobiles fixes (7, 10, 100, 200) peuvent ne pas être adaptés à tous les environnements de marché et manquent de capacité d’adaptation.
La dépendance à un seul indicateur: une dépendance à une seule intersection homogène peut manquer d’une vision globale du marché, ignorant les informations sur les fondamentaux et autres indicateurs techniques.
Aucune confirmation de volume: la stratégie n’est pas associée à une analyse de volume, ce qui peut entraîner de faux signaux de rupture en cas de faible volume de transactions.
Manque de gestion dynamique des positions: la stratégie utilise une entrée de position fixe, sans taille de position adaptée à la volatilité du marché.
Introduction d’un mécanisme de stop-loss: ajout d’un stop-loss fixe ou d’un stop-loss dynamique ATR pour protéger la sécurité des fonds, tels questrategy.exit("止损", "Buy", stop=close * 0.95)。
Ajout de conditions de filtrage de tendance: MA100 et MA200 peuvent être ajoutés comme filtres de tendance et ne peuvent être négociés que dans la direction de la tendance principale indiquée par la moyenne à long terme, par exemple en faisant plus que lorsque le prix est au-dessus de MA200.
Augmentation de la confirmation des transactions: la validation des signaux par un ensemble d’indicateurs de transaction est combinée afin d’éviter les fausses percées en cas de faibles volumes de transactions.
Optimiser les paramètres de la moyenne: vous pouvez trouver les paramètres optimaux dans un environnement de marché particulier en relançant différentes combinaisons de cycles de la moyenne, ou envisager d’utiliser une moyenne adaptative.
Ajout d’autres indicateurs techniques: en combinaison avec des indicateurs tels que RSI, MACD et autres, un système de confirmation multiple est créé pour améliorer la qualité du signal.
Gestion dynamique des positions: modification dynamique de la taille des positions en fonction de la volatilité (par exemple, ATR), diminution des positions lorsque la volatilité est élevée et augmentation des positions lorsque la volatilité est faible.
Adhérer au jugement du marché: distinguer les marchés tendance et les marchés chocs, en utilisant différentes stratégies de négociation ou paramètres dans différents environnements.
Amélioration de la logique de placement: il est possible de concevoir des conditions de placement plus précises, telles que des arrêts partiels ou des arrêts de suivi, afin d’optimiser la structure de profit.
La stratégie de trading quantifiée en croisement biunivoque est un système de suivi de tendance classique basé sur l’analyse technique, qui capture les changements de dynamique du marché et exécute les transactions par la relation croisée des MA7 et MA10. L’avantage de cette stratégie réside dans sa simplicité logique, sa facilité d’intelligence et de mise en œuvre, et sa capacité à capturer efficacement les changements de tendance à court et moyen terme. Cependant, elle est également exposée à des risques tels que le retard de la ligne de parité, la présence de faux signaux sur les marchés oscillants et le manque de mécanismes de freinage.
Afin d’améliorer la performance de la stratégie, nous pouvons l’améliorer en ajoutant des mécanismes de stop loss, des filtres de tendance, la confirmation du volume de transactions, l’optimisation des paramètres et la combinaison d’autres indicateurs techniques. De plus, la logique de négociation de la gestion de position dynamique et de la différenciation des environnements de marché est également une direction d’optimisation potentielle.
En résumé, la stratégie de croisement bi-homogène offre aux traders un bon point de départ pour le trading quantitatif, qui, grâce à une optimisation et une gestion des risques raisonnables, peut évoluer vers un système de trading plus stable et plus efficace. La première stratégie adaptée aux débutants pour le trading quantitatif peut également être utilisée comme partie d’un portefeuille de stratégies pour les traders expérimentés.
/*backtest
start: 2025-01-18 19:45:00
end: 2025-03-12 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"TRUMP_USDT"}]
*/
//@version=5
strategy("Backtest Buy and Sell Signals with MA 7 and MA 10", overlay=true)
// Calculate Moving Averages
ma7 = ta.sma(close, 7)
ma10 = ta.sma(close, 10)
ma100 = ta.sma(close, 100)
ma200 = ta.sma(close, 200)
// Plot MAs
plot(ma7, color=color.blue, title="MA 7")
plot(ma10, color=color.red, title="MA 10")
plot(ma100, color=#512ca8, title="MA 100")
plot(ma200, color=color.rgb(152, 139, 20), title="MA 200")
// Buy and Sell Signals
buySignal = ta.crossover(ma7, ma10)
sellSignal = ta.crossunder(ma7, ma10)
// Display signals on the chart
plotshape(buySignal, style=shape.labelup, location=location.belowbar, color=color.rgb(231, 241, 232), size=size.small, title="Buy Signal", text="buy")
plotshape(sellSignal, style=shape.labeldown, location=location.abovebar, color=color.rgb(237, 221, 221), size=size.small, title="Sell Signal", text="sell")
// Entry and Exit Logic
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("Buy")