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

Автор:Чао Чжан, Дата: 2023-09-12 18:06:26
Тэги:

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

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

  1. Вычислять быстрые и медленные EMA, как правило, 13 и 48 периодов.

  2. Введите длинный, когда быстрая EMA пересекает медленную EMA.

  3. Выход длинный, когда цена пересекает ниже быстрой EMA.

  4. Возможность добавления коротких правил для двусторонней торговли.

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

  1. Быстрая/медленная комбинация EMA эффективно определяет промежуточные тенденции.

  2. Брейк-трейдинг позволяет вовремя вводить тренд.

  3. Простой механизм стоп-лосса контролирует потери по сделке.

Риски:

  1. Отставание по ЭМА приводит к пропущенным лучшим точкам входа.

  2. Опустите стопы, чтобы избежать чрезмерных ударов.

  3. Трудно определить направление тренда в диапазоне.

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


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

//@version=3

// strategy("EMA Strategy 13 48", shorttitle = "EMA Strategy 13 48", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 1000)


// === Inputs ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 13, title = "Fast MA Period", minval = 1)

// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 48, title = "Slow MA Period", minval = 1)


// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)

plot(fastMA, color=blue)
plot(slowMA, color=purple)

goLong() => crossover(fastMA, slowMA)
killLong() => crossunder(close, fastMA)
strategy.entry("Buy", strategy.long, when = goLong())
strategy.close("Buy", when = killLong())

// Shorting if using
goShort() => crossunder (fastMA, slowMA)
killShort() => crossover(fastMA, slowMA)
//strategy.entry("Sell", strategy.short, when = goShort())
//strategy.close("Sell", when = killShort())


 

Больше