Стратегия Highest/Lowest Center Lookback - это стратегия, следующая за трендом. Ее основная идея заключается в расчете средней цены самых высоких и самых низких цен за определенный период в прошлом как эталонной цены, а затем расчете зоны входа и зоны выхода на основе этой эталонной цены в сочетании с волатильностью.
Стратегия в основном реализуется в следующих шагах:
Таким образом, он может отслеживать тенденцию во времени, когда цена входит в состояние тренда; в то же время риск может контролироваться через волатильность.
Эта стратегия имеет следующие преимущества:
Стратегия также сопряжена с некоторыми рисками:
Чтобы контролировать эти риски, оптимизация может быть сделана в следующих аспектах:
Стратегия также имеет возможность дальнейшей оптимизации:
Благодаря этим оптимизациям можно ожидать дальнейшего улучшения стабильности стратегии и рентабельности.
Стратегия Highest/Lowest Center Lookback - это простая и практичная стратегия, следующая за трендом. Она может отслеживать изменения цены во времени, отслеживать тенденции, контролируя риск через волатильность. Стратегия проста в реализации, подходит для обучения и практики новичков количественного трейдинга. Оптимизируя параметры и правила, можно еще больше улучшить эффективность стратегии.
/*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)