Il s'agit d'une stratégie de trading quantitative qui capture les ruptures de tendance à l'aide de l'indicateur ATR et des prix de clôture. La stratégie calcule dynamiquement les lignes de tendance supérieures et inférieures pour déterminer la direction de la tendance et génère des signaux de trading lorsque le prix de clôture dépasse les lignes de tendance. La stratégie définit également des niveaux de stop-loss et de prix cible et permet des arrêts de trailing basés sur la volatilité.
Les solutions:
L'analyse multi-temps aide à filtrer le bruit pour une identification de tendance plus stable. La confirmation du volume et du prix avant les ruptures peut éliminer les faux signaux. L'optimisation de la taille de la position améliore l'efficacité du capital. L'optimisation des paramètres stop-loss et de la récompense / risque peut améliorer les rendements ajustés au risque.
Cette stratégie utilise l'ATR comme un indicateur de volatilité pour ajuster dynamiquement les positions de la ligne de tendance et capturer les ruptures de tendance. Elle fixe des objectifs de stop-loss et de profit raisonnables, en utilisant des trailing stops pour verrouiller les gains. Les paramètres sont réglables pour une forte adaptabilité. Cependant, les stratégies de rupture de tendance sont sensibles aux pertes de fouet dans des conditions agitées et nécessitent une optimisation et un raffinement supplémentaires. La combinaison de plusieurs délais, le filtrage des signaux, l'optimisation de la taille de la position, l'optimisation des paramètres et d'autres techniques peuvent améliorer la performance et la robustesse de la stratégie.
/*backtest start: 2023-03-16 00:00:00 end: 2024-03-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title = "Claw-Pattern", overlay=true, calc_on_every_tick=true, default_qty_type= strategy.percent_of_equity,default_qty_value=10, currency="USD") //Developer: Trading Strategy Guides //Creator: Trading Strategy Guides //Date: 3/18/2024 //Description: A trend trading system strategy atr_period = input(title="ATR Period", defval=120, type=input.integer) atr_mult = input(title="ATR Multiplier", defval=2, type=input.integer) dir = input(title="Direction (Long=1, Short=-1, Both = 0)", defval=1, type=input.integer) factor = input(title="Stop Level Deviation (% Chan.)", defval=0.75, type=input.float) rr = input(title="Reward to Risk Multiplier", defval=2, type=input.integer) trail_bar_start = input(title="Trail Stop Bar Start", defval=20, type=input.integer) col_candles = input(title="Enable Colored Candles", defval=false, type=input.bool) atr_signal = atr(atr_period) lower_trend = low - atr_mult*atr_signal upper_trend = high + atr_mult*atr_signal upper_trend := upper_trend > upper_trend[1] and close < upper_trend[1] ? upper_trend[1] : upper_trend lower_trend := lower_trend < lower_trend[1] and close > lower_trend[1] ? lower_trend[1] : lower_trend upper_color = barssince(cross(close, upper_trend[1])) > barssince(cross(close, lower_trend[1])) ? color.red : na lower_color = barssince(cross(close, upper_trend[1])) > barssince(cross(close, lower_trend[1])) ? na : color.green trend_line = lower_trend plot(lower_trend, color=lower_color, title="Lower Trend Color") plot(upper_trend, color=upper_color, title="Upper Trend Color") is_buy = strategy.position_size == 0 and crossover(close, upper_trend[1]) and upper_color[1]==color.red and (dir == 1 or dir == 0) is_sell = strategy.position_size == 0 and crossover(close, lower_trend[1]) and lower_color[1]==color.green and (dir == -1 or dir == 0) if is_buy strategy.entry("Enter Long", strategy.long) else if is_sell strategy.entry("Enter Short", strategy.short)