Стратегия EMA в области ленты

Автор:Чао Чжан, Дата: 2024-01-22 12:21:47
Тэги:

img

Обзор

Стратегия EMA Ribbon генерирует торговые сигналы путем вычисления экспоненциальных скользящих средних (EMAs) различных периодов и определения перекрестных связей между ними. Эта стратегия строит ленту из 8 EMA с различными периодами и использует перекрестный связь между кратковременной EMA и долгосрочной EMA для определения тенденции рынка и генерации торговых сигналов.

Логика стратегии

Основа этой стратегии состоит из 8 EMA: 20-периодической, 25-периодической, 30-периодической, 35-периодической, 40-периодической, 45-периодической, 50-периодической и 55-периодической. Эти 8 EMA образуют ленту, складывающуюся снизу вверх. Когда короткопериодическая EMA пересекает длиннопериодическую EMA, генерируется сигнал покупки. Когда короткопериодическая EMA пересекает длиннопериодическую EMA, генерируется сигнал продажи.

Например, когда 20-периодическая EMA пересекает 55-периодическую EMA, запускается сигнал покупки; когда 20-периодическая EMA пересекает 55-периодическую EMA, запускается сигнал продажи. EMA могут очень хорошо указывать на рыночную тенденцию. Эта стратегия идентифицирует преобладающую тенденцию с использованием нескольких перекресток EMA и генерирует соответствующие торговые сигналы.

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

Стратегия EMA Ribbon имеет следующие преимущества:

  1. Использование нескольких EMA различных периодов позволяет более точно определить изменения рыночной тенденции.

  2. Создание ленты с несколькими EMA делает торговые сигналы более ясными.

  3. При включении как долгосрочных, так и краткосрочных ЭМА учитываются как долгосрочная тенденция, так и краткосрочные коррекции.

  4. Стратегия позволяет большое пространство для оптимизации параметров путем корректировки периодов EMA и других параметров.

  5. Логика стратегии проста и легко понять и реализовать.

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

Стратегия EMA Ribbon также сопряжена с некоторыми рисками:

  1. Он может генерировать ложные сигналы, когда общая тенденция рынка неясна.Должны использоваться дополнительные индикаторы для подтверждения сигнала.

  2. Высокая частота торгов увеличивает затраты на транзакции и сдвиги.

  3. Неправильное настройка параметров может привести к тому, что сигналы будут слишком чувствительными или отстающими.

  4. Неожиданные ценовые разрывы от событий могут отменить сигналы.

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

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

  1. Корректировать параметры периода EMA для поиска оптимальных комбинаций.

  2. Добавление других технических показателей для фильтрации и подтверждения сигналов для повышения точности.

  3. Включить показатели волатильности для сокращения частоты торговли в условиях низкой волатильности.

  4. Установите стратегии стоп-лосса, чтобы ограничить потери по сделке.

  5. Оптимизировать стратегии управления деньгами для улучшения факторов прибыли.

  6. Проверьте надежность параметров на различных продуктах и контрактах.

Резюме

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


/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="EMA Ribbon [Krypt] with Buy/Sell Signals", shorttitle="EMA Ribbon", overlay=true)

dropn(src, n) =>
    na(src[n]) ? na : src

length1 = input(20, title="MA-1 period", minval=1)
length2 = input(25, title="MA-2 period", minval=1)
length3 = input(30, title="MA-3 period", minval=1)
length4 = input(35, title="MA-4 period", minval=1)
length5 = input(40, title="MA-5 period", minval=1)
length6 = input(45, title="MA-6 period", minval=1)
length7 = input(50, title="MA-7 period", minval=1)
length8 = input(55, title="MA-8 period", minval=1)
source_input = input(close, title="Source")

price = dropn(source_input, 1)

ema1 = ema(price, length1)
ema2 = ema(price, length2)
ema3 = ema(price, length3)
ema4 = ema(price, length4)
ema5 = ema(price, length5)
ema6 = ema(price, length6)
ema7 = ema(price, length7)
ema8 = ema(price, length8)

plot(ema1, title="MA-1", color=#f5eb5d, transp=0, linewidth=2)
plot(ema2, title="MA-2", color=#f5b771, transp=0, linewidth=2)
plot(ema3, title="MA-3", color=#f5b056, transp=0, linewidth=2)
plot(ema4, title="MA-4", color=#f57b4e, transp=0, linewidth=2)
plot(ema5, title="MA-5", color=#f56d58, transp=0, linewidth=2)
plot(ema6, title="MA-6", color=#f57d51, transp=0, linewidth=2)
plot(ema7, title="MA-7", color=#f55151, transp=0, linewidth=2)
plot(ema8, title="MA-8", color=#aa2707, transp=0, linewidth=2)

// Buy and sell signals based on crossover and crossunder
buySignal = crossover(ema1, ema8)
sellSignal = crossunder(ema1, ema8)

plotshape(series=buySignal, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellSignal, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)

if buySignal
    strategy.entry("Enter Long", strategy.long)
else if sellSignal
    strategy.entry("Enter Short", strategy.short)

Больше