
La stratégie de négociation de rupture vise à capturer les prix de rupture causés par une augmentation de la volatilité du marché. La stratégie utilise l’indicateur de la gamme moyenne de fluctuation réelle (ATR) pour mesurer la volatilité de l’actif au cours d’une période donnée.
La stratégie commence par calculer l’ATR au cours d’une période donnée. Elle calcule ensuite les hausses et les baisses en fonction de l’ATR. Elle génère des signaux d’arrêt lorsque le cours de clôture est en hausse et des signaux d’arrêt lorsque le cours de clôture est en baisse.
Lorsque le cours de clôture franchit la trajectoire ascendante et descendante, remplissez les espaces de rupture de couleur dans la direction de la rupture. Cette caractéristique aide à identifier rapidement la direction de la tendance actuelle.
Lorsque des signaux d’opposition sont générés et qu’aucune position n’est actuellement détenue, la stratégie d’ouverture de position est plus. Lorsque des signaux d’opposition sont générés et qu’aucune position n’est actuellement détenue, la stratégie d’ouverture de position est vide.
Les paramètres de longueur déterminent la longueur de la période de mesure de la volatilité. Une valeur de longueur plus élevée signifie une attention plus longue aux fluctuations de prix. Par exemple, lorsque Longueur est de 20, chaque transaction traverse environ 100 lignes K, comprenant plusieurs fluctuations.
La réduction de la longueur permet de se concentrer sur les fluctuations de prix plus courtes, augmentant la fréquence des transactions. Il n’y a pas de corrélation stricte entre la longueur et la longueur moyenne des transactions, il faut trouver la valeur optimale de la longueur par essais et erreurs.
Cette stratégie utilise le principe de la rupture pour saisir les grandes tendances liées aux fluctuations du marché. L’indicateur ATR calcule dynamiquement les points de rupture et évite d’utiliser des paramètres fixes.
Les signaux de confirmation utilisant des lignes K réelles peuvent être filtrés pour les fausses ruptures. Les couleurs de remplissage des espaces de rupture affichent intuitivement la direction de la tendance.
Les paramètres de longueur offrent la flexibilité d’ajuster les stratégies et d’optimiser les paramètres en fonction des ajustements spécifiques du marché.
Il existe un risque d’arbitrage dans les transactions de rupture. Un stop loss peut être mis en place pour contrôler les pertes individuelles.
Les signaux de rupture peuvent provoquer des signaux erronés qui peuvent conduire à des transactions sur courte ligne. Les paramètres de longueur peuvent être ajustés de manière appropriée pour éliminer les signaux erronés.
L’optimisation des paramètres nécessite l’accumulation de suffisamment de données de transaction. Une mauvaise sélection des paramètres initiaux peut entraîner une mauvaise performance des transactions.
Les bandes de broyage peuvent être introduites dans le cycle ATR comme nouvelle méthode de calcul des points de rupture. La rupture des bandes de broyage réduit le taux de fausses informations.
Il est possible de continuer à suivre la tendance après une rupture sans s’arrêter immédiatement. Par exemple, l’adhésion à la tendance entraîne une rupture.
On peut envisager d’utiliser des paramètres différents ou de ne pas négocier du tout en cas de choc, pour éviter d’être piégé.
La stratégie de rupture exploite la volatilité du marché pour entrer dans la tendance lorsque le prix produit une rupture plus importante. L’indicateur ATR détermine dynamiquement le point de rupture et le filtre de la ligne K de l’entité falsifie la rupture. Le paramètre Longueur offre la flexibilité d’ajuster le cycle de la stratégie.
/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
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/
//@version=5
strategy("Volatility Breakout Strategy [Angel Algo]", overlay = true)
// Inputs
length = input(title="Length", defval=20)
// Calculate the average true range (ATR)
atr = ta.atr(length)
// Plot the ATR on the chart
plot(atr, color=color.blue, linewidth=2, title="ATR")
// Calculate the upper and lower breakouts
upper_breakout = high + atr
lower_breakout = low - atr
// Plot the upper and lower breakouts on the chart
ul = plot(upper_breakout[1], color = color.new(color.green, 100), linewidth=2, title="Upper Breakout Level")
ll = plot(lower_breakout[1], color = color.new(color.red, 100), linewidth=2, title="Lower Breakout Level")
// Create the signals
long_entry = ta.crossover(close, upper_breakout[1]) and barstate.isconfirmed
short_entry = ta.crossunder(close, lower_breakout[1]) and barstate.isconfirmed
active_signal_color =ta.barssince(long_entry) < ta.barssince(short_entry) ?
color.new(color.green,85) : color.new(color.red,85)
// Plot the signals on the chart
plotshape(long_entry and ta.barssince(long_entry[1]) > ta.barssince(short_entry[1]), location=location.belowbar, style=shape.triangleup,
color=color.green, size=size.normal, text = "Bullish breakout", textcolor = color.green)
plotshape(short_entry and ta.barssince(long_entry[1]) < ta.barssince(short_entry[1]), location=location.abovebar, style=shape.triangledown,
color=color.red, size=size.normal,text = "Bearish breakout", textcolor = color.red)
// Fill the space between the upper and lower levels with the color that indicates the latest signal direction
fill(ul,ll, color=active_signal_color)
long_condition = long_entry and strategy.position_size <= 0 and barstate.isconfirmed
short_condition = short_entry and strategy.position_size >= 0 and barstate.isconfirmed
if long_condition
strategy.entry("Volatility Breakout Long", strategy.long)
if short_condition
strategy.entry("Volatility Breakout Short", strategy.short)