La stratégie Highest/Lowest Center Lookback est une stratégie de suivi de tendance. Son idée principale est de calculer le prix moyen des prix les plus élevés et les plus bas sur une certaine période dans le passé en tant que prix de référence, puis de calculer la zone d'entrée et la zone de sortie en fonction de ce prix de référence combiné à la volatilité. Lorsque le prix entre dans la zone d'entrée, allez long; lorsque le prix entre dans la zone de sortie, fermez la position.
La mise en œuvre de la stratégie s'effectue principalement par les étapes suivantes:
De cette façon, il peut suivre la tendance dans le temps lorsque le prix entre dans un état de tendance; en même temps, le risque peut être contrôlé par la volatilité.
Cette stratégie présente les avantages suivants:
La stratégie comporte également certains risques:
Pour contrôler ces risques, l'optimisation peut être effectuée dans les aspects suivants:
La stratégie comporte également des possibilités d'optimisation:
Grâce à ces optimisations, on peut s'attendre à d'autres améliorations de la stabilité de la stratégie et de la rentabilité.
La stratégie Highest/Lowest Center Lookback est une stratégie simple et pratique de suivi des tendances. Elle peut capturer les changements de prix dans le temps, suivre les tendances, tout en contrôlant le risque par la volatilité. La stratégie est facile à mettre en œuvre, adaptée aux débutants du trading quantitatif à apprendre et à pratiquer. En optimisant les paramètres et les règles, la performance de la stratégie peut être encore améliorée.
/*backtest start: 2023-11-27 00:00:00 end: 2023-12-27 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Highest/Lowest Center Lookback Strategy", overlay=true) lookback_length = input(200, type=input.integer, minval=1, title="Lookback Length") smoother_length = input(5, type=input.integer, minval=1, title="Smoother Length") atr_length = input(10, type=input.integer, minval=1, title="ATR Length") atr_multiplier = input(1.5, type=input.float, minval=0.5, title="ATR Multiplier") vola = atr(atr_length) * atr_multiplier price = sma(close, 3) l = ema(lowest(low, lookback_length), smoother_length) h = ema(highest(high, lookback_length), smoother_length) center = (h + l) * 0.5 upper = center + vola lower = center - vola trend = price > upper ? true : (price < lower ? false : na) bull_cross = crossover(price, upper) bear_cross = crossunder(price, lower) strategy.entry("Buy", strategy.long, when=bull_cross) strategy.close("Buy", when=bear_cross) plot(h, title="High", color=color.red, transp=75, linewidth=2) plot(l, title="Low", color=color.green, transp=75, linewidth=2) pc = plot(center, title="Center", color=color.black, transp=25, linewidth=2) pu = plot(upper, title="Upper", color=color.green, transp=75, linewidth=2) pl = plot(lower, title="Lower", color=color.red, transp=75, linewidth=2) fill(pu, pc, color=color.green, transp=85) fill(pl, pc, color=color.red, transp=85) bgcolor(trend == true ? color.green : (trend == false ? color.red : color.gray), transp=85)