Стратегия пересечения скользящих средних с несколькими индексами в сочетании со стратегией оптимизации динамического стоп-лосса по объему ATR

EMA ATR
Дата создания: 2024-11-29 17:06:37 Последнее изменение: 2024-11-29 17:06:37
Копировать: 0 Количество просмотров: 502
1
Подписаться
1617
Подписчики

Стратегия пересечения скользящих средних с несколькими индексами в сочетании со стратегией оптимизации динамического стоп-лосса по объему ATR

Обзор

Эта стратегия является торговой системой, основанной на перекрестных сигналах многоиндексальных скользящих средних (EMA), в сочетании с динамическими стоп-механизмами EMA различных циклов и ATR. Стратегия использует 10 циклов, 39 циклов, 73 циклов EMA в качестве основных сигнальных индикаторов, а также вводит 143 циклов высоких временных циклов EMA в качестве трендовых фильтров, и использует динамические показатели ATR для установки стоп-убытков и целей получения прибыли.

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

Центральная логика стратегии основана на перекрестных сигналах и подтверждении тренда множественных ЭМА. Система генерирует многосигналы, когда краткосрочные ЭМА (10 циклов) пересекают средние ЭМА (39 циклов) вверх, а цена находится выше долгосрочных ЭМА (73 циклов) и более высоких временных циклов ЭМА (143 циклов). Наоборот, когда краткосрочные ЭМА пересекают средние ЭМА вниз, а цена находится ниже долгосрочных ЭМА и более высоких временных ЭМА, система генерирует пустые сигналы.

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

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

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

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Enhanced EMA Crossover Strategy", overlay=true)

// Define the EMA lengths
ema_short_length = 10
ema_long_length = 39
ema_filter_length = 73
ema_higher_tf_length = 143

// Calculate the EMAs
ema_short = ta.ema(close, ema_short_length)
ema_long = ta.ema(close, ema_long_length)
ema_filter = ta.ema(close, ema_filter_length)
ema_higher_tf = request.security(syminfo.tickerid, "D", ta.ema(close, ema_higher_tf_length))

// Calculate ATR for volatility-based stop loss and take profit
atr_length = 14
atr = ta.atr(atr_length)

// Plot the EMAs
plot(ema_short, title="EMA 10", color=color.blue)
plot(ema_long, title="EMA 35", color=color.red)
plot(ema_filter, title="EMA 75", color=color.orange)
plot(ema_higher_tf, title="EMA Higher TF", color=color.purple)

// EMA crossover conditions with EMA 75 and higher timeframe EMA filter
longCondition = ta.crossover(ema_short, ema_long) and close > ema_filter and close > ema_higher_tf
shortCondition = ta.crossunder(ema_short, ema_long) and close < ema_filter and close < ema_higher_tf

// Execute long trade with dynamic stop loss and take profit
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Long", limit=close + 2 * atr, stop=close - 1 * atr)

// Execute short trade with dynamic stop loss and take profit
if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Short", limit=close - 2 * atr, stop=close + 1 * atr)

// Plot signals on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")