La stratégie de momentum breakout est basée sur le concept proposé par Richard Bookstaber en 1984 selon lequel une fois qu'il y a un grand mouvement volatil, le marché a tendance à le suivre. Ainsi, il utilise l'ATR pour mesurer la volatilité et émet des ordres lorsque la variation actuelle du prix de clôture dépasse le seuil calculé en multipliant l'ATR par une constante configurable.
La stratégie calcule d'abord l'indicateur ATR pour mesurer la volatilité du marché. Ensuite, elle calcule la valeur absolue de la variation quotidienne du prix de clôture. Lorsque la variation du prix de clôture dépasse la valeur ATR de plusieurs multiples, des signaux de trading sont générés. Plus précisément, si le prix de clôture augmente plus que le rail supérieur ATR, allez long; si le prix de clôture tombe plus que le rail supérieur ATR, allez court.
La stratégie utilise l'indicateur ATR pour déterminer dynamiquement le seuil de rupture. Lorsque la volatilité du marché augmente, le seuil augmentera pour réduire les transactions erronées. Lorsque la volatilité du marché diminue, le seuil diminuera pour saisir les opportunités de rupture en temps opportun.
Considérez la combinaison d'autres indicateurs pour sélectionner des opportunités de trading afin d'améliorer l'efficacité. Sélectionnez également des paramètres optimaux basés sur les caractéristiques du produit. Utilisez des techniques comme Martingale pour contrôler la fréquence de trading.
La stratégie de rupture d'élan est simple et directe, générant des signaux de trading à partir de ruptures. L'ATR stop loss lui permet de s'adapter à la volatilité du marché. La stratégie repose sur l'optimisation des paramètres pour des résultats décents. Mais il y a aussi des problèmes comme les ruptures initiales manquantes, le trading fréquent, etc. Des améliorations supplémentaires en les combinant avec d'autres techniques sont nécessaires pour des profits stables sur des marchés complexes.
/*backtest start: 2022-10-26 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h 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/ // © EduardoMattje //@version=5 strategy("Volatility System", overlay=false, margin_long=0, margin_short=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, process_orders_on_close=true, initial_capital=20000) // Inputs var averageLength = input.int(14, "Average length", 2) var multiplier = input.float(2.0, "Multiplier", 0.0, step=0.1) // Calculations atr = ta.atr(averageLength) * multiplier closingChange = ta.change(close, 1) atrPenetration(int signal) => res = closingChange * signal > atr[1] longCondition = atrPenetration(1) shortCondition = atrPenetration(-1) // Order calls if (longCondition) strategy.entry(strategy.direction.long, strategy.long) if (shortCondition) strategy.entry(strategy.direction.short, strategy.short) // Visuals plot(atr, "ATR", color.white, 2) plot(math.abs(closingChange), "Absolute close change", color.red)