
Aperçu
La “stratégie de rupture en arrière de la courbe de la courbe” est une stratégie de négociation couramment utilisée dans l’analyse technique. Cette stratégie combine deux indicateurs de moyenne mobile simple (SMA) et d’amplitude réelle moyenne (ATR) de différentes périodes, afin de capturer les points de basculement des tendances du marché et de réaliser des transactions à faible risque et à haut rendement.
Principe de stratégie
Les principaux principes de cette stratégie sont les suivants:
- Calculer une moyenne mobile simple (SMA) de deux périodes différentes, dont les périodes par défaut sont respectivement 14 et 50.
- Calculer l’indicateur ATR, utilisé pour mesurer la volatilité du marché, avec une période par défaut de 14 ◦
- Tracez l’ATR en haut et en bas, comme une zone de référence pour les fluctuations des prix. L’ATR en haut est obtenu par le prix le plus élevé multiplié par l’ATR (par défaut 1.5) et l’ATR en bas est obtenu par le prix le plus bas moins l’ATR multiplié par le multiple.
- Un signal de multiplication est généré lorsque le prix de clôture traverse la courte moyenne et que la courte moyenne est au-dessus de la moyenne à long terme, et une flèche ascendante est dessinée en dessous de la ligne K.
- Un signal de coupe est généré lorsque le prix de clôture traverse la courte moyenne en dessous et la courte moyenne en dessous de la longue moyenne, et une flèche descendante est tracée au-dessus de la ligne K.
- Le stop loss et le stop loss sont définis, le stop loss est le prix minimum moins l’ATR multiplié par le multiplicateur, le stop loss est le prix d’ouverture plus le prix d’ouverture - le stop loss multiplié par le multiplicateur 2.
Il ressort de ce qui précède que cette stratégie, qui combine le jugement de la tendance par un système linéaire équilibré et la mesure de la volatilité de l’indicateur ATR, est une stratégie tendancieuse, axée sur le suivi de la tendance tout en contrôlant le risque de rétractation.
Analyse des avantages
Les avantages de la stratégie de rupture de la double ligne de parité sont les suivants:
- Suivi des tendances: déterminer la direction des tendances à l’aide d’un système linéaire, capturer les grandes tendances du marché et les suivre.
- Contrôle des risques: utilisez l’indicateur ATR pour mesurer la volatilité du marché, définissez des points d’arrêt raisonnables et maintenez les retraits dans des limites acceptables.
- La flexibilité des paramètres: les paramètres tels que le cycle de la moyenne, le cycle ATR et le multiplicateur peuvent être optimisés et ajustés en fonction des différents marchés et variétés, avec une certaine universalité.
- L’intuition est claire: les signaux de transaction sont simples et clairs et conviennent à tous les niveaux d’investisseurs.
Analyse des risques
Bien que cette stratégie présente certains avantages, elle comporte les risques suivants:
- La stratégie peut générer des signaux de transaction fréquents, augmentant les coûts de transaction, lorsque le marché est très volatil et que la tendance n’est pas évidente.
- Rarité: le système linéaire a une certaine latitude par nature, et il peut y avoir un certain recul au début d’un retournement de marché.
- Optimisation des paramètres: les paramètres différents ont un impact significatif sur la performance de la stratégie et nécessitent une optimisation des paramètres pour différents marchés et variétés, ce qui augmente la difficulté de mise en œuvre.
Les risques ci-dessus peuvent être optimisés et améliorés dans les domaines suivants:
- Introduction d’un filtre de tendance: avant de générer un signal de transaction, il faut déterminer la direction de la tendance du grand cycle et ne négocier que lorsque la tendance du grand cycle est claire, ce qui réduit la fréquence des transactions.
- Optimisation des arrêts de perte: il est possible d’envisager d’introduire des arrêts dynamiques tels que les arrêts mobiles, les arrêts de volatilité et l’ajustement des arrêts en fonction de la dynamique de la volatilité du marché, ce qui améliore la flexibilité de la stratégie.
- Optimisation de la combinaison: la combinaison de la stratégie avec d’autres indicateurs techniques ou fondamentaux améliore la robustesse de la stratégie.
Direction d’optimisation
Cette stratégie peut être optimisée dans les domaines suivants:
- Optimisation de l’adaptation des paramètres: recherche automatique de la combinaison optimale de paramètres pour différentes variétés et cycles, réduction du travail de débogage manuel des paramètres. L’optimisation peut être effectuée à l’aide d’algorithmes génétiques, de recherche de grille, etc.
- Filtrage des signaux: après la génération d’un signal de transaction, il est possible d’introduire d’autres indicateurs techniques ou des facteurs fondamentaux pour une deuxième confirmation du signal, améliorant ainsi la qualité du signal. Par exemple, l’ajout d’un indicateur de volume de transactions, pour déterminer la force de la tendance; l’ajout de données macroéconomiques, pour déterminer si le contexte général est favorable à la poursuite de la tendance.
- Gestion de position: lors de l’ouverture d’une position, la taille de la position peut être ajustée dynamiquement en fonction de facteurs tels que la volatilité du marché, le risque du compte, etc., afin de contrôler le risque d’une seule transaction. Par exemple, la méthode de gestion de position utilisant la formule de Kelly, la méthode des proportions fixes, etc.
- Stop-loss mobile: le stop-loss initial est fixe, et lorsque le prix se déplace dans la direction favorable, il est possible d’envisager de déplacer le stop-loss dans la direction favorable, de réduire les retraits et d’améliorer l’efficacité de l’utilisation des fonds.
Les optimisations ci-dessus peuvent améliorer l’adaptabilité, la stabilité et la rentabilité de la stratégie, mais il convient de noter que l’optimisation excessive peut entraîner une mauvaise adéquation de la courbe de stratégie et une mauvaise performance en dehors de l’échantillon, ce qui nécessite une vérification complète des retours d’expérience à l’intérieur et à l’extérieur de l’échantillon.
Résumer
La “stratégie de rupture de retard de double ligne” est une stratégie classique de suivi de la tendance, qui permet de déterminer la direction de la tendance par le système de ligne égale, de contrôler les risques en utilisant les indicateurs ATR et de gérer les risques tout en capturant la tendance. Malgré certains problèmes de retard et de fréquence des transactions, la performance de la stratégie peut être encore améliorée en optimisant les arrêts de perte, en introduisant des filtres de signal, en adaptant les paramètres, en optimisant la gestion des positions, etc.
Code source de la stratégie
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="2 Moving Averages", shorttitle="2MA", overlay=true)
// Moving Averages
len = input(14, minval=1, title="Length MA1")
src = input(close, title="Source MA1")
ma1 = sma(src, len)
len2 = input(50, minval=1, title="Length MA2")
src2 = input(close, title="Source MA2")
ma2 = sma(src2, len2)
// Plotting Moving Averages
plot(ma1, color=#0b6ce5, title="MA1")
plot(ma2, color=#00ff80, linewidth=2, title="MA2")
// ATR Bands
atrLength = input(14, title="ATR Length")
atrMultiplier = input(1.5, title="ATR Multiplier")
upperBand = high + atr(atrLength) * atrMultiplier
lowerBand = low - atr(atrLength) * atrMultiplier
u =plot(upperBand, color=color.rgb(217, 220, 223, 84), title="ATR Upper Band")
l = plot(lowerBand, color=color.rgb(217, 220, 223, 84), title="ATR Lower Band")
fill(u, l, color=#471eb821, title="ATR Background")
// Conditions for plotting arrows
upArrowCondition = ma1 > ma2 and crossover(close, ma1)
downArrowCondition = ma1 < ma2 and crossunder(close, ma1)
// Plotting arrows
plotshape(upArrowCondition, style=shape.arrowup, color=color.rgb(66, 45, 255), size=size.normal, location=location.belowbar, title="Up Arrow")
plotshape(downArrowCondition, style=shape.arrowdown, color=color.red, size=size.normal, location=location.abovebar, title="Down Arrow")
// Checkbox for trade execution
showTrades = input(true, title="Hiển thị giao dịch")
// Buy Condition
if (upArrowCondition and showTrades)
strategy.entry("Buy", strategy.long)
// Sell Condition
if (downArrowCondition and showTrades)
strategy.entry("Sell", strategy.short)
// Stop Loss and Take Profit
stopLossBuy = low - atr(14) * atrMultiplier
takeProfitBuy = close + (close - stopLossBuy) * 2
stopLossSell = high + atr(14) * atrMultiplier
takeProfitSell = close - (stopLossSell - close) * 2
strategy.exit("Exit Buy", "Buy", stop=stopLossBuy, limit=takeProfitBuy)
strategy.exit("Exit Sell", "Sell", stop=stopLossSell, limit=takeProfitSell)