
La stratégie de suivi des tendances est un système de suivi des tendances qui combine deux périodes de temps, la ligne du jour et la ligne de l’heure. La stratégie utilise principalement les moyennes mobiles indicielles (EMA) de différentes périodes de temps pour identifier la direction de la tendance globale du marché et générer des signaux de négociation précis. L’idée centrale de la conception de la stratégie est de déterminer la direction de la tendance globale en utilisant des périodes de temps plus longues (ligne du jour) pour déterminer la direction de la tendance globale, tout en utilisant des périodes de temps plus courtes (ligne de l’heure) pour trouver les meilleurs endroits d’entrée, et d’assurer le contrôle des risques avec un filtrage des pertes sur les fluctuations et un mécanisme d’arrêt fixe.
Le principe de base de cette stratégie est basé sur l’analyse de plusieurs périodes et des signaux croisés de l’EMA. Le principe de fonctionnement est le suivant:
Détection des tendances (niveau de ligne solaire):
Génération de signaux de transaction (niveau de ligne horaire):
Le mécanisme de déclenchement de la volatilité:
Calcul des pertes:
Exécution de la transaction:
Sur la mise en œuvre du code de base, la stratégie utilise la fonction request.security pour obtenir les valeurs EMA de différentes périodes de temps, puis utilise les fonctions de jugement croisé ta.crossover et ta.crossunder pour détecter les croisements EMA. En combinant la tendance de la ligne solaire avec le signal de la ligne horaire, la qualité des transactions est améliorée en éliminant efficacement les transactions contraires.
Après une analyse approfondie du code stratégique, le système de trading quantitatif présente les avantages suivants:
Analyse de plusieurs périodesLa combinaison de deux périodes de temps, le jour et l’heure, permet à la fois de saisir la direction des grandes tendances et de saisir avec précision le moment d’entrée, ce qui équilibre efficacement la fréquence des transactions et le taux de réussite.
Mécanisme de reconnaissance des tendances: Le filtrage de la contrepartie a été réduit en exigeant que les signaux de négociation en ligne horaire soient alignés avec la direction de la tendance en ligne solaire, réduisant ainsi les signaux erronés.
Conditions de déclenchement multidimensionnelEn plus des signaux de croisement EMA classiques, des déclencheurs basés sur la volatilité ont été ajoutés, capables de capturer les fortes fluctuations de prix soudaines, ce qui améliore l’adaptabilité de la stratégie.
Paramètres d’arrêt dynamiqueLes points de rupture sont des points de rupture automatiques basés sur les fluctuations récentes du marché. Les points de rupture sont des points de rupture automatiques basés sur les fluctuations récentes du marché. Les points de rupture sont des points de rupture automatiques basés sur les fluctuations récentes du marché.
Capacité de négociation bidirectionnelleLes échanges d’actifs et d’actifs non-actifs sont des échanges de titres et de titres non-actifs, qui permettent de générer des opportunités de profit dans différents environnements de marché.
Commentaires visuels: La stratégie est fournie avec des graphiques de lignes EMA de quatre couleurs différentes pour aider les traders à juger intuitivement de l’état actuel du marché et des signaux de stratégie.
Paramètres clairs et concis: Utilisation de seulement quatre paramètres principaux ((deux longueurs d’EMA pour deux périodes de temps), réduit le risque de suradaptation, tout en facilitant l’optimisation et l’ajustement.
Malgré cette stratégie bien conçue, les risques potentiels sont les suivants:
Les marchés oscillants ne sont pas performantsEn tant que stratégie de suivi de la tendance, il est possible de générer plus de faux signaux dans un environnement de marché horizontal ou fréquemment volatile, entraînant des arrêts continus.
Les fluctuations fixes déclenchent des limites de margeLe seuil de volatilité fixe de 5% peut être trop élevé ou trop bas selon les variétés ou les conditions du marché.
Les paramètres de stop-loss sont peut-être trop lâches: l’utilisation de la limite des 10 dernières lignes K comme arrêt peut, dans certains cas, conduire à un arrêt trop élevé, augmentant le risque d’une seule transaction.
Paramètre EMA fixe: Les paramètres EMA utilisés dans la stratégie sont fixes et peuvent ne pas s’appliquer à tous les environnements de marché.
Manque de mécanisme de profitLa stratégie définit clairement les conditions d’entrée et d’arrêt, mais le manque de mécanismes permettant d’obtenir des bénéfices peut entraîner un retour de profit.
Sur la base de l’analyse stratégique, voici quelques pistes d’optimisation possibles:
Filtrage d’intensité de la tendance à la hausse:
Déclin du taux de volatilité dynamique:
Amélioration des mécanismes de prévention des pertes:
Ajout de conditions de clôture:
Confirmation de la quantité ajoutée:
Optimisation et adaptation des paramètres:
Augmentation de la catégorisation des environnements de marché:
La mise en œuvre de ces orientations d’optimisation contribuera à améliorer la robustesse et l’adaptabilité des stratégies, leur permettant de bien performer dans un plus grand nombre de contextes de marché.
La stratégie de quantification des déclencheurs de tendance et des EMA à double cadre temporel est un système de négociation intégré qui combine le suivi des tendances et la dynamique des concepts de négociation. Les EMA de ligne solaire déterminent la direction de la tendance globale, les EMA de ligne horaire produisent des signaux d’entrée précis, tout en combinant les conditions de déclenchement de la volatilité et le mécanisme de stop-loss dynamique, pour construire un cadre de négociation relativement complet.
Les principaux avantages de la stratégie résident dans sa capacité d’analyse sur plusieurs périodes et son mécanisme de confirmation de tendances, qui permet de filtrer efficacement les transactions contraires et de réduire les signaux erronés. De plus, sa conception paramétrique concise et sa capacité de négociation bidirectionnelle lui confèrent une grande praticité et adaptabilité.
Cependant, la stratégie peut être sous-performante dans des marchés instables, et il y a de la place pour l’optimisation des marges de volatilité fixes et des mécanismes de stop-loss. Les performances de la stratégie devraient être encore améliorées par des mesures d’optimisation telles que le filtrage de l’intensité de la tendance, la marge de volatilité dynamique, l’amélioration des mécanismes de stop-loss et l’augmentation de la classification des environnements de marché.
Il s’agit d’un cadre stratégique de base qui mérite d’être considéré par les traders qui cherchent à combiner les grandes tendances et une entrée précise, et qui peut être personnalisé et optimisé davantage en fonction de leur style de trading et de leurs caractéristiques de marché.
/*backtest
start: 2024-03-03 00:00:00
end: 2024-12-17 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Trend & Trigger Strategy", overlay=true)
// Define EMA lengths for 1D timeframe
shortEmaLength1D = 5
longEmaLength1D = 30
// Define EMA lengths for 1H timeframe
shortEmaLength1H = 12
longEmaLength1H = 26
// Get EMAs for 1D timeframe (trend identification)
emashort1D = request.security(syminfo.tickerid, "1D", ta.ema(close, shortEmaLength1D))
emalong1D = request.security(syminfo.tickerid, "1D", ta.ema(close, longEmaLength1D))
// Get EMAs for 1H timeframe (trade triggers)
emashort1H = request.security(syminfo.tickerid, "60", ta.ema(close, shortEmaLength1H))
emalong1H = request.security(syminfo.tickerid, "60", ta.ema(close, longEmaLength1H))
// Determine trend based on 1D EMAs
uptrend = emashort1D > emalong1D
downtrend = emashort1D < emalong1D
// Define crossover conditions for 1H timeframe
buySignal = ta.crossover(emashort1H, emalong1H) and uptrend
sellSignal = ta.crossunder(emashort1H, emalong1H) and downtrend
// Volatility-based trigger (5% bar change)
priceChange = (close - open) / open * 100
highVolatilityUp = priceChange > 5 and uptrend
highVolatilityDown = priceChange < -5 and downtrend
// Stop Loss Calculation (based on local bottom/peak)
localBottom = ta.lowest(low, 10) // Last 10 bars lowest point
localPeak = ta.highest(high, 10) // Last 10 bars highest point
// Execute Trades with Stop Loss
if (buySignal or highVolatilityUp)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", from_entry="Long", stop=localBottom)
if (sellSignal or highVolatilityDown)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", from_entry="Short", stop=localPeak)
// Plot EMAs on the chart
plot(emashort1D, title="Short EMA (1D)", color=color.blue)
plot(emalong1D, title="Long EMA (1D)", color=color.red)
plot(emashort1H, title="Short EMA (1H)", color=color.green)
plot(emalong1H, title="Long EMA (1H)", color=color.orange)