Автор:Чао Чжан, Дата: 2024-01-23 12:00:04
Тэги:

img

Обзор

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

Основная логика этой стратегии основана на каналах ATR. Индикатор ATR может эффективно отражать волатильность рынка и движения цен и обычно используется для определения уровней стоп-лосса и прибыли. Стратегия сначала рассчитывает линию SMA за n периодов (по умолчанию 150), затем использует значение и коэффициент ATR для определения верхних и нижних диапазонов канала. Конкретные формулы:

Когда цена прорывается выше верхней полосы, это указывает на начало трендового канала и восходящего импульса, поэтому занимается длинная позиция. Когда цена прорывается ниже нижней полосы, это сигнализирует о начале переворота, поэтому принимается короткая позиция. Выходы происходят, когда цена пересекает обратно ниже линии SMA, закрывая все длинные, или пересекает обратно выше линии SMA, закрывая все короткие.

Преимущества

  1. Параметры могут быть оптимизированы для максимального захвата движений цен вверх и вниз для получения прибыли от трендовой торговли.

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

  1. Торги с прорывом в канале склонны к потерям в ключевых точках переворота, если прорыв окажется ложным.

  2. У SMA есть системный риск отставания рыночных поворотов.

  3. Постоянные короткие потери в бычьих рыночных тенденциях и долгосрочные потери в понижающих тенденциях медвежьих рынков.

Возможные решения:

  1. Регулируйте частоту торговли или добавляйте фильтры, чтобы избежать потерь от ложных прорывов.

  2. Добавьте перекрестное подтверждение с MACD, KDJ, чтобы избежать риска системного отставания SMA.

  3. Оптимизировать период и коэффициент ATR для обеспечения разумного диапазона каналов.

  4. Определить общий рыночный режим для тенденции предвзятости.

Возможности для расширения

Некоторые способы улучшения этой стратегии:

  1. Добавить дополнительные индикаторные фильтры для уменьшения ложных вырывов, используя MACD, KDJ и т.д. для подтверждения сигналов.

  2. Оптимизировать период ATR и коэффициент канала, чтобы соответствовать текущим условиям волатильности рынка посредством обширного обратного тестирования.

  3. Быстро сокращайте убытки, когда цена отклоняется от базовой линии SMA.

  4. Включите анализ тенденции более высоких временных рамок для определения тенденции быка / медведя для направления прорыва. Например, используйте еженедельный для определения общей тенденции для ежедневных записей прорыва.

Резюме


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © omererkan

//@version=5
strategy(title="ATR Channel Breakout")

smaLength = input.int(150, title="SMA Length")
atrLength = input.int(30, title="ATR Length")

ubOffset = input.float(4, title="Upperband Offset", step=0.50)
lbOffset = input.float(4, title="Lowerband Offset", step=0.50)


smaValue = ta.sma(close, smaLength)
atrValue = ta.atr(atrLength)

upperBand = smaValue + (ubOffset * atrValue)
lowerBand = smaValue - (lbOffset * atrValue)


plot(smaValue, title="SMA", color=color.orange)
plot(upperBand, title="UB", color=color.green, linewidth=2)
plot(lowerBand, title="LB", color=color.red, linewidth=2)


enterLong = ta.crossover(close, upperBand)
exitLong  = ta.crossunder(close, smaValue)


enterShort = ta.crossunder(close, lowerBand)
exitShort  = ta.crossover(close, smaValue)


if enterLong
    strategy.entry("Long", strategy.long)

if enterShort
    strategy.entry("Short", strategy.short)


if exitLong
    strategy.close("Long", "Close Long")

if exitShort
    strategy.close("Short", "Close Short")

Больше