Стратегия линейного регрессионного канала - это краткосрочная стратегия торговли, основанная на линейном регрессионном анализе и показателях скользящей средней.
Стратегия линейного регрессионного канала основывается на двух показателях:
Линейный регрессионный канал: диапазон канала, рассчитанный с помощью линейного регрессионного анализа. Стратегия устанавливает 55-дневную линейную регрессионную линию для представления долгосрочной тенденции цен. В то же время она рассчитывает верхнюю границу канала, представляющую более высокую температурную область цен.
Движущаяся средняя Hull: Движущийся средний индикатор отслеживания тренда длительностью 400 дней используется для определения общей тенденции и направления цен.
Конкретная логика торговли:
Когда цена находится ниже верхней границы канала и ниже 400-дневной скользящей средней по Хуллу, займите длинную позицию; когда цена поднимается выше средней точки линейной регрессии, закрывайте позицию, чтобы получить прибыль.
Это позволяет вам покупать минимумы во время консолидации и получать прибыль, когда цены вновь входят в канал восходящего тренда.
Эта стратегия имеет следующие преимущества:
Линейный регрессионный канал может более точно оценить ценовую температуру и направление долгосрочного тренда, избегая слепого входа на нестабильные рынки.
Движущаяся средняя Hull отфильтровывает краткосрочный рыночный шум, что делает сроки входа более ясными.
Стратегия имеет относительно низкую частоту операций и меньший риск вывода средств.
Точки прибыли ясны, и приличные доходы часто могут быть зафиксированы в среднесрочных и краткосрочных тенденциях.
Стратегия линейного регрессионного канала также представляет некоторые риски:
На бычьем рынке линейный регрессивный канал может сглаживаться или слегка снижаться, упуская возможности для покупки.
В случае крупного переворота, вызванного неожиданным событием, стоп-лосс может быть достигнут, что повлечет за собой большие потери.
Если откат идет слишком глубоко и нарушает линию Hull MA, он может не принести прибыли на выходе. Параметры Hull MA или стоп-лосс могут быть настроены.
Частота торговли может быть слишком низкой. Сократить цикл линейной регрессии для увеличения частоты торговли.
Стратегия линейного регрессионного канала может быть оптимизирована в следующих аспектах:
Динамически регулируйте параметры линейного регрессионного канала, чтобы сделать канал ближе к фактическим колебаниям цен.
Оптимизировать параметры Hull MA для лучшего определения точек переворота тренда.
Установите точки остановки потерь в канале для эффективного контроля риска единичных потерь.
Добавить показатели волатильности, чтобы избежать открытия позиций на волатильных рынках.
Объединяйте показатели объема торговли, чтобы определить реальные прорывы.
В целом, стратегия линейного регрессионного канала является относительно надежной стратегией, следующей за трендом. Она избегает шума рынка и входит в правильное направление, когда начинаются тенденции. Оптимизируя параметры и комбинируя индикаторы, торговые риски могут быть еще больше снижены и повышена рентабельность. Эта стратегия подходит для средне- и долгосрочного держания без необходимости частой торговли.
/*backtest start: 2023-01-10 00:00:00 end: 2024-01-16 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/ // © TradingAmmo //@version=4 strategy("Linear Channel", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD') startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0) end = timestamp(input(9999, "End Year"), 1, 1, 0, 0) _testPeriod() => true //linreg length = input(55) linreg = linreg(close, length, 0) plot(linreg, color=color.white) //calc band Value = input(-2) sub = (Value/100)+1 Band2 = linreg*sub plot(Band2, color=color.red) //HMA as a filter HMA = input(400, minval=1) plot(hma(close, HMA), color=color.purple) long_condition = close < Band2 and hma(close, HMA) < close and _testPeriod() strategy.entry('BUY', strategy.long, when=long_condition) short_condition = close > linreg strategy.close('BUY', when=short_condition)