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


Дата создания: 2023-12-20 15:00:44 Последнее изменение: 2023-12-20 15:00:44
Копировать: 0 Количество просмотров: 800
1
Подписаться
1621
Подписчики

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

Обзор

Тройная стратегия EMA - это стратегия, которая отлично подходит для отслеживания рыночных тенденций. Она использует три различных цикла EMA в качестве сигнала для создания позиции, создавая лишние или пустые позиции при полном подтверждении тенденции.

Преимущество этой стратегии заключается в том, что она позволяет уменьшить ложные сигналы и гарантирует, что тренд будет достаточно сильным, чтобы войти. В то же время, она имеет адаптивную систему остановки убытков, которая может следовать за остановкой убытков в зависимости от волатильности рынка, что позволяет достичь лучшего эффекта управления рисками.

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

Логика создания складов

Стратегия использует три EMA 7, 14 и 21 циклов в качестве индикатора для создания позиции. Конкретная логика заключается в том, чтобы делать больше, когда цена одновременно проходит все три EMA; делать больше, когда цена одновременно проходит все три EMA.

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

Стойкость

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

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

Прибыль

Эта стратегия использует фиксированный пропорциональный стоп-модель. После открытия позиции устанавливается стоп-линия, которая на определенной пропорции выше цены входа. Когда цена достигает стоп-линии, начинается активная ликвидация позиции.

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

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

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

Анализ рисков

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

Можно объединить показатели с тенденциями, чтобы избежать слепого позиционирования в условиях шока; можно также использовать такие методы, как мобильный стоп или убыточный коэффициент, чтобы сделать стоп более гибким. В целом, для использования стратегии все еще требуется искусственное суждение.

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

Эта стратегия также может быть оптимизирована в следующих аспектах:

  1. Для того, чтобы не попасть в ловушку, используйте дополнительные показатели, такие как MACD, KD и т. д.

  2. Попробуйте переместить тормоз, чтобы сделать тормоз более гибким.

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

  4. Применение параметров цикла EMA в зависимости от характеристик разных сортов, оптимизация оценки тенденций.

  5. Добавлен модуль управления позициями, позволяющий корректировать одноразовые позиции в зависимости от пропорции использования средств.

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

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

Исходный код стратегии
/*backtest
start: 2023-01-01 00:00:00
end: 2023-06-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(shorttitle='Three EMAs Trend-following Strategy',title='Three EMAs Trend-following Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)


//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

ema_1 = ema(close, input(7))
ema_2 = ema(close, input(12))
ema_3 = ema(close, input(21))

Take_profit= ((input (4))/100)

longTakeProfit = strategy.position_avg_price * (1 + Take_profit)


length = input(20, "Length", minval = 2)
src = input(close, "Source")
factor = input(3.0, "Multiplier", minval = 0.25, step = 0.25)
volStop(src, atrlen, atrfactor) =>
    var max     = src
    var min     = src
    var uptrend = true
    var stop    = 0.0
    atrM        = nz(atr(atrlen) * atrfactor, tr)
    max         := max(max, src)
    min         := min(min, src)
    stop        := nz(uptrend ? max(stop, max - atrM) : min(stop, min + atrM), src)
    uptrend     := src - stop >= 0.0
    if uptrend != nz(uptrend[1], true)
        max    := src
        min    := src
        stop   := uptrend ? max - atrM : min + atrM
    [stop, uptrend]

[vStop, uptrend] = volStop(src, length, factor)

go_long = crossover(close, ema_1) and crossover(close, ema_2) and crossover(close, ema_3)



closeLong = close > longTakeProfit or crossunder(close, vStop)



//Entry 
strategy.entry(id="long", long = true, when = go_long and window())



//Exit
strategy.close("long", when = closeLong and window())

plot(vStop,"Vstop", color.black, linewidth=2)
plot(ema_1,"EMA Short", color.green, linewidth=1)
plot(ema_2,"EMA Mid", color.purple, linewidth=1)
plot(ema_3,"EMA Long", color.red, linewidth=1)