Стратегия торговли по динамическому тренду EMA

EMA ATR
Дата создания: 2024-05-11 11:31:46 Последнее изменение: 2024-05-11 11:31:46
Копировать: 0 Количество просмотров: 627
1
Подписаться
1617
Подписчики

Стратегия торговли по динамическому тренду EMA

Обзор

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

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

  1. Расчет ATR, используемый для измерения рыночной волатильности, служит основой для построения динамического канала.
  2. Вычисление максимальных и минимальных цен в качестве основы для определения направления тренда.
  3. Вычислить EMA_HL, т.е. максимальную и минимальную цены EMA, как центральную ось динамического канала.
  4. Вычислить EMA_HIGHEST и EMA_LOWEST, то есть вычислить на основе EMA_HL вычисленный выше и ниже трассы, умноженный на ATR в определенной пропорции.
  5. Вычислить SELL_LINE, то есть динамическую точку сопротивления, полученную с помощью ATR, умноженную на определенную пропорцию на основе наивысшей цены.
  6. Судить о многоголовном сигнале: когда EMA_LOWEST нарушает минимальную цену вверх и закрывается ниже EMA_MID, создается сигнал купить.
  7. Определяет пустой сигнал: сигнал продажи генерируется, когда EMA_HIGHEST нарушает максимум вниз и закрывается выше EMA_MID, или когда максимум касается SELL_LINE.

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

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

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

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

Стратегия оптимизации направлений

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

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

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

Исходный код стратегии
/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
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/
// © Maboi_q

//@version=5
strategy("buy sell Trend", overlay=true)

atr_length = input.int(defval=14, title='atr length')
highest_length = input.int(defval=60, title='highest length')
highest_s_length = input.int(defval=60, title='sell highest length')
lowest_length = input.int(defval=30, title='lowest length')
sell_l_length = input.int(defval=55, title='sell line length')

f = 2.382
f2 = 5.618

atr = ta.atr(atr_length)
highest = ta.highest(highest_length)
lowest = ta.lowest(lowest_length)

f_atr = atr * f
ema_hl = ta.ema((highest[1] + lowest[1]) / 2, 14)
ema_highest = ema_hl + f_atr
ema_lowest = ema_hl - f_atr
ema_mid = (ema_highest + ema_lowest) / 2

bs_hi = ta.highest(highest_s_length)
f_atr2 = atr * f2
sell_line = ta.ema(bs_hi[1] + f_atr2, sell_l_length)

buy_cond = ta.crossover(ema_lowest, lowest) and close < ema_mid
sell_cond = (ta.crossunder(ema_highest, highest) and close > ema_mid) or high >= sell_line

if buy_cond
    strategy.entry('BUY', strategy.long)

if sell_cond
    strategy.entry('SELL', strategy.short)


plot(sell_line, color=color.new(color.maroon, 50))
plot(highest, color=color.new(color.red, 50))
plot(lowest, color=color.new(color.green, 50))
plot(ema_highest, color=color.new(color.blue, 50))
// plot(ema_mid, color=color.new(color.gray, 50))
plot(ema_lowest, color=color.new(color.blue, 50))

plotshape(buy_cond, title='buy', style=shape.triangleup, location=location.belowbar, 
 color=color.green, textcolor=color.green, size=size.tiny)

plotshape(sell_cond, title='sell', style=shape.triangledown, location=location.abovebar, 
 color=color.red, textcolor=color.red, size=size.tiny)