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

Динамическая тенденция EMA вследствие стратегии торговли

Автор:Чао Чжан, Дата: 2024-05-11 11:31:46
Тэги:ЕМАATR

img

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

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

  1. Расчет ATR для измерения волатильности рынка и предоставления основы для построения динамических каналов.
  2. Вычислить самые высокие и самые низкие цены как основу для определения направления тренда.
  3. Вычислить EMA_HL, который является EMA самых высоких и самых низких цен, как центральную линию динамического канала.
  4. Вычислить EMA_HIGHEST и EMA_LOWEST путем сложения и вычитания определенного кратного ATR от EMA_HL для получения верхней и нижней полос.
  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)

Связанные

Больше