Стратегия обратного отслеживания наивысшего/нижнего центра

Автор:Чао Чжан, Дата: 2023-12-28 15:42:10
Тэги:

img

Обзор

Стратегия Highest/Lowest Center Lookback - это стратегия, следующая за трендом. Ее основная идея заключается в расчете средней цены самых высоких и самых низких цен за определенный период в прошлом как эталонной цены, а затем расчете зоны входа и зоны выхода на основе этой эталонной цены в сочетании с волатильностью.

Логика стратегии

Стратегия в основном реализуется в следующих шагах:

  1. Вычислить самую высокую цену h и самую низкую цену l за прошлые периоды lookback_length и сгладить их с помощью EMA
  2. Вычислить среднюю цену h и l как цену центра
  3. Расчет волатильности волы на основе ATR и мультипликатора ATR
  4. Расчет зоны входа верхней и зоны выхода нижней на основе центра и волы
  5. Когда цена превышает верхний уровень, выходите на длинный; когда цена превышает нижний, закрывайте позицию

Таким образом, он может отслеживать тенденцию во времени, когда цена входит в состояние тренда; в то же время риск может контролироваться через волатильность.

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

  1. Может эффективно отслеживать тенденции и фиксировать изменения цены во времени
  2. Использование средней цены наивысшей и самой низкой цены может уменьшить вероятность ложных прорывов
  3. Волатильность может быть автоматически скорректирована для контроля риска
  4. Время хранения позиции короткое, что позволяет чаще торговать
  5. Просто внедрять и легко понять и оптимизировать

Анализ рисков

Стратегия также сопряжена с некоторыми рисками:

  1. На рынках с ограниченным диапазоном может произойти больше ненужных сделок
  2. Настройки размера и множителя ATR будут влиять на эффективность стратегии, требующей тщательного тестирования и оптимизации
  3. Снижение после прорыва средней цены может привести к остановке потерь
  4. Если скорость изменения тренда слишком высока, это приведет к большим потерям.

Чтобы контролировать эти риски, оптимизация может быть сделана в следующих аспектах:

  1. Регулировать параметры ATR для снижения волатильности и фильтрации
  2. Добавьте фильтры, чтобы избежать ненужных сделок
  3. Используйте перемещение стоп-лосса для блокировки прибыли
  4. Сочетание индикаторов тренда для оценки начала и окончания реального тренда

Руководство по оптимизации

Стратегия также имеет возможность дальнейшей оптимизации:

  1. Эффективность параметров испытаний на разных рынках и в разные периоды времени
  2. Автоматическая оптимизация параметров с помощью алгоритмов машинного обучения
  3. Включить больше показателей для оценки начала и конца тренда
  4. Подумайте о динамическом регулировании размеров позиций
  5. Включите показатели настроения, чтобы избежать предвзятости от чрезмерных эмоций

Благодаря этим оптимизациям можно ожидать дальнейшего улучшения стабильности стратегии и рентабельности.

Заключение

Стратегия 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)

Больше