Стратегия следования за трендом с использованием пересечения двойных скользящих средних


Дата создания: 2024-01-04 15:03:14 Последнее изменение: 2024-01-04 15:03:14
Копировать: 0 Количество просмотров: 540
1
Подписаться
1621
Подписчики

Стратегия следования за трендом с использованием пересечения двойных скользящих средних

Обзор

Эта стратегия использует простой среднелинейный пересечение и средний реальный диапазон для получения сигналов покупки и продажи. Это относится к стратегии, основанной на отслеживании тренда. Основное использование 50-дневного среднелинейного и 100-дневного среднелинейного пересечения для определения тренда, использование показателя ATR для установления стоп-стоп для контроля риска.

Стратегический принцип

  1. Вычислите 50-дневную простую скользящую среднюю SMA1 и 100-дневную простую скользящую среднюю SMA2
  2. Когда SMA1 проходит через SMA2, подается сигнал купить; когда SMA1 проходит через SMA2, подается сигнал продать
  3. Расчет 14-дневного ATR
  4. ATR умножить на множитель, установленный в качестве точки остановки
  5. При выпуске сигнала “купить” - “продать” за вычетом остановки по цене закрытия; при выпуске сигнала “продать” - “купить” за вычетом остановки по цене закрытия и за вычетом остановки

Как видно, эта стратегия в основном зависит от способности распознавать тенденции в равной линии, а также от способности управлять рисками показателя ATR. Основные принципы просты, ясны, легко понятны и реализуемы.

Стратегические преимущества

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

Стратегический риск

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

Способы управления рисками:

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

Направление оптимизации стратегии

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

Подвести итог

Эта стратегия относится к типичной стратегии отслеживания тенденций, использует равномерную оценку направления тенденции, ATR-установку для контроля риска, принцип прост, ясен и прост в освоении. Однако существует определенный риск задержки и ложного сигнала, который может быть улучшен методом корректировки параметров, оптимизации показателей и сочетания других факторов, чтобы стратегия была более приспособлена к изменяющейся рыночной среде.

Исходный код стратегии
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMA and ATR Strategy", overlay=true)

// Step 1. Define strategy settings
lengthSMA1 = input.int(50, title="50 SMA Length")
lengthSMA2 = input.int(100, title="100 SMA Length")
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.int(4, title="ATR Multiplier")

// Step 2. Calculate strategy values
sma1 = ta.sma(close, lengthSMA1)
sma2 = ta.sma(close, lengthSMA2)
atr = ta.atr(atrLength)

// Step 3. Output strategy data
plot(sma1, color=color.blue, title="50 SMA")
plot(sma2, color=color.red, title="100 SMA")

// Step 4. Determine trading conditions
longCondition = ta.crossover(sma1, sma2)
shortCondition = ta.crossunder(sma1, sma2)

longStopLoss = close - (atr * atrMultiplier)
shortStopLoss = close + (atr * atrMultiplier)

// Step 5. Execute trades based on conditions
if (longCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=longStopLoss)

if (shortCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Buy", "Sell", stop=shortStopLoss)