В процессе загрузки ресурсов... загрузка...

Последование стратегии с фильтром 200 EMA - только длинный

Автор:Чао Чжан, Дата: 2024-05-23 18:07:50
Тэги:ЕМА

img

Обзор

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

Стратегия использует три временных рамы: 5-минутный, 15-минутный и 30-минутный, рассчитывая быстрые и медленные EMA для каждого из них. Сравнивая быстрые и медленные EMA для каждого временного рама, можно определить направление тренда. Сигналы тренда из трех временных рамок затем суммируются для получения комбинированного сигнала тренда. Когда комбинированный сигнал тренда равен 3 (что указывает на восходящий тренд во всех временных рамах) и текущая цена закрытия выше 200-периодного EMA на 5-минутном временном раме, стратегия входит в длинную позицию. Позиция закрывается, когда комбинированный сигнал тренда падает ниже 3 или цена падает ниже 5-минутного 200-периодного EMA.

Принципы стратегии

  1. Вычислить быструю EMA (продолжительность 9 периодов) и медленную EMA (продолжительность 21 период) для 5-минутных, 15-минутных и 30-минутных временных рамок.
  2. Вычислить 200-периодную EMA на 5-минутном временном диапазоне в качестве трендового фильтра.
  3. Для каждого периода времени сравнивайте быстрые и медленные EMA.
  4. Сумма сигналов тренда из трех временных рамок дает комбинированный сигнал тренда в диапазоне [-3, 3].
  5. Ввести длинную позицию, когда комбинированный сигнал тренда равен 3 (сильный восходящий тренд) и текущая цена закрытия выше 5-минутной 200-периодной EMA.
  6. Закрыть позицию, когда комбинированный сигнал тренда опустится ниже 3 (слабый восходящий тренд) или цена опустится ниже 5-минутной 200-периодной EMA.
  7. Установите стоп-лосс на 1% ниже входной цены и прибыль на 3% выше входной цены.

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

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

Риски

  1. Стратегия может медленно реагировать на поворотные моменты тренда, упуская оптимальные возможности для входа.
  2. Частые входы и выходы могут увеличивать торговые издержки.
  3. Фиксированные уровни стоп-лосса могут привести к преждевременному выходу на сильно волатильных рынках.
  4. Определение тренда основывается на исторических данных и может не реагировать быстро на внезапные изменения цен, вызванные неожиданными событиями.

Руководство по оптимизации

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

Резюме

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


/*backtest
start: 2023-05-17 00:00:00
end: 2024-05-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Multi-Timeframe Trend Following with 200 EMA Filter - Longs Only", shorttitle="MTF_TF_200EMA_Longs", overlay=true, initial_capital=1000, default_qty_type=strategy.fixed, default_qty_value=1)

// Inputs
fast_length = input.int(9, title="Fast EMA Length", minval=1)
slow_length = input.int(21, title="Slow EMA Length", minval=1)
filter_length_200 = input.int(200, title="200 EMA Length", minval=1)
stop_loss_perc = input.float(1.0, title="Stop Loss Percentage", minval=0.1) / 100
take_profit_perc = input.float(3.0, title="Take Profit Percentage", minval=0.1) / 100

// Calculate EMAs for 5-minute, 15-minute, and 30-minute timeframes
ema_fast_5min = request.security(syminfo.tickerid, "5", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_5min = request.security(syminfo.tickerid, "5", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_15min = request.security(syminfo.tickerid, "15", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_15min = request.security(syminfo.tickerid, "15", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

ema_fast_30min = request.security(syminfo.tickerid, "30", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on)
ema_slow_30min = request.security(syminfo.tickerid, "30", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on)

// Calculate 200 EMA for the 5-minute timeframe
ema_200_5min = ta.ema(close, filter_length_200)

// Determine the trend for each timeframe
trend_5min = ema_fast_5min > ema_slow_5min ? 1 : -1
trend_15min = ema_fast_15min > ema_slow_15min ? 1 : -1
trend_30min = ema_fast_30min > ema_slow_30min ? 1 : -1

// Combine trend signals
combined_trend = trend_5min + trend_15min + trend_30min

// Define entry and exit conditions with 200 EMA filter
enter_long = combined_trend == 3 and close > ema_200_5min
exit_long = combined_trend < 3 or close < ema_200_5min

// Plot EMAs for the 5-minute timeframe
plot(ema_fast_5min, color=color.blue, linewidth=2, title="Fast EMA 5min")
plot(ema_slow_5min, color=color.red, linewidth=2, title="Slow EMA 5min")
plot(ema_200_5min, color=color.green, linewidth=2, title="200 EMA 5min")

// Strategy execution
if (enter_long)
    strategy.entry("Long", strategy.long, stop=close * (1 - stop_loss_perc), limit=close * (1 + take_profit_perc))
if (exit_long)
    strategy.close("Long")


Связанные

Больше