Стратегия следования за трендом на основе стоп-лосса EMA и ATR


Дата создания: 2023-12-11 16:00:09 Последнее изменение: 2023-12-11 16:00:09
Копировать: 0 Количество просмотров: 794
1
Подписаться
1621
Подписчики

Стратегия следования за трендом на основе стоп-лосса EMA и ATR

Обзор

Эта стратегия использует EMA равнолинейный золотой крест для создания торгового сигнала, то есть быстрый EMA линия, когда он пересекает медленную EMA линию, создает сигнал покупки, а быстрая EMA линия, когда она пересекает медленную EMA линию, создает сигнал продажи. Эта стратегия относится к типичной стратегии отслеживания тенденций. В то же время, стратегия использует показатель ATR, чтобы установить динамическую остановку, чтобы одновременно контролировать риск и гарантировать прибыль.

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

  1. Определено, что средний цикл быстрого EMA составляет 13, а средний цикл медленного EMA - 48.
  2. Когда быстрая линия EMA пересекает медленную линию EMA, генерируется сигнал покупки; когда быстрая линия EMA пересекает медленную линию EMA, генерируется сигнал продажи.
  3. С помощью функций ta.crossover и ta.crossunder определяется равномерная линейная крестообразовательная спираль.
  4. Динамический стоп-бит рассчитывается с использованием показателя ATR, а стоп-бит - в 1,5 раза ближе к ATR.
  5. Интуитивное отображение торговых сигналов и стоп-стопов с помощью изменения цвета, знаков купли-продажи и стоп-линий.

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

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

Анализ стратегических рисков

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

Решение проблемы:

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 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/
// © byee322

/// This strategy uses the EMA to generate buy and sell signals with a 1.5x ATR stop loss
//@version=5
strategy("EMA Strategy with ATR Stop Loss", overlay=true)

// Define the EMA lengths as input parameters
emaLength1 = input(13, "EMA Length 1")
emaLength2 = input(48, "EMA Length 2")

// Define the moving averages
ema1 = ta.ema(close, emaLength1)
ema2 = ta.ema(close, emaLength2)

// Buy signal: EMA 1 crosses above EMA 2
buy = ta.crossover(ema1, ema2)

// Sell signal: EMA 1 crosses below EMA 2
sell = ta.crossunder(ema1, ema2)

// Define the state variable
state = 0
state := buy ? 1 : sell ? -1 : nz(state[1])

// Change the color of the candles
color = state == 1 ? color.green : state == -1 ? color.red : na

// Plot the colored candles
plotcandle(open, high, low, close, color=color)

// Plot the signals on the chart with text labels
plotshape(buy, style=shape.triangleup, color=color.new(color.green, 50), location=location.belowbar, text="Buy")
plotshape(sell, style=shape.triangledown, color=color.new(color.red, 50), location=location.abovebar, text="Sell")

// Calculate the ATR
atrVal = ta.atr(14)

// Calculate the stop loss level for buy
stopLossBuy = buy ? close[1] - 1.5 * atrVal : na

// Calculate the stop loss level for sell
stopLossSell = sell ? close[1] + 1.5 * atrVal : na

// Plot the stop loss level for buy
plot(stopLossBuy,  color=color.new(color.green, 50), linewidth=3)

// Plot the stop loss level for sell
plot(stopLossSell, color=color.new(color.red, 50), linewidth=3)

if buy
    strategy.entry("Enter Long", strategy.long)
else if sell
    strategy.entry("Enter Short", strategy.short)