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

Автор:Чао Чжан, Дата: 2023-09-20 14:32:22
Тэги:

Обзор

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

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

  1. Вычислить 3 группы EMA - быстрые, средние и медленные.

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

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

  4. Идите длинным, когда цена пересекает медленную EMA, и коротким, когда цена пересекает медленную EMA.

  5. Отношения наклона EMA отражают изменения тренда.

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

  1. Многократные EMA улучшают точность оценки тренда.

  2. Быстрые, средние и медленные EMA разумно различают тенденцию и консолидацию.

  3. Изменения наклона EMA дают ранние намеки на изменения тренда.

  4. Кроссоверы цен еще больше подтверждают, чтобы избежать ложных прорывов.

  5. Всегда держать позицию полностью захватывает трендовые возможности.

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

  1. Опираясь исключительно на EMA, вы несете большие риски позиций в периоды с ограниченным диапазоном.

  2. Неправильные параметры EMA могут пропустить поворотные моменты.

  3. Невозможность определить силу тренда, рискует преждевременными обратными входами.

  4. Не существует эффективного контроля за потерями на одной сделке.

Направления к улучшению

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

  2. Добавьте другие индикаторы, такие как MACD, чтобы определить силу.

  3. Добавить механизмы стоп-лосса для контроля риска.

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

  5. Оптимизировать размер позиций для управления капиталом.

  6. Временно прекращайте торговлю, когда тренд становится нестабильным.

Резюме

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


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("EMA Slope + EMA Cross Strategy (by ChartArt)", shorttitle="CA_-_EMA_slope_cross", overlay=true)

// ChartArt's EMA Slope + EMA Cross Strategy
//
// Version 1.0
// Idea by ChartArt on March 10, 2018.
//
// This strategy uses divergences between
// three moving averages and their slope
// directions as well as crosses between
// the price and the moving averages
// to switch between long/short positions.
//
// The strategy is non-stop in the market
// and always either long or short.
// 
// In addition the moving averages are colored
// depending if they are trending up or down.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/

// Input
price = input(close)
MA1_Length = input(2,step=1, title="EMA 1 Length")
MA2_Length = input(4,step=1, title="EMA 2 Length")
MA3_Length = input(20,step=1, title="EMA 3 Length")

switch1=input(true, title="Show Bar Color?")
switch2=input(true, title="Show Moving Averages?")

// Calculation
MA1 = ema(price, MA1_Length)
MA2 = ema(price, MA2_Length)
MA3 = ema(price, MA3_Length)

// Strategy
long = crossunder(price, MA3) or ( change(price)<0 and change(MA1)<0 and crossunder(price,MA1) and change(MA2)>0 )
short = crossover(price, MA3) or ( change(price)>0 and change(MA1)>0 and crossover(price,MA1)  and change(MA2)<0 ) 

if long
    strategy.entry("Long", strategy.long, comment="Long")

if short
    strategy.entry("Short", strategy.short, comment="Short")

// Strategy Alert
alertcondition(long, title='EMA Slope + EMA Cross Strategy, Long Alert', message='Go Long!')
alertcondition(short, title='EMA Slope + EMA Cross Strategy, Short Alert', message='Go Short!')

// MA trend bar color
up =  change(MA2)>0 and change(MA3)>0
dn =  change(MA2)<0 and change(MA3)<0
bar_color = up?green:dn?red:blue
barcolor(switch1?bar_color:na)

// MA trend output color
MA2_color = change(MA2)>0?lime:change(MA2)<0?red:blue
MA3_color = change(MA3)>0?lime:change(MA3)<0?red:blue

// MA output
EMA2 = plot(switch2?MA2:na, title="EMA 2", style=linebr, linewidth=2, color=MA2_color)
EMA3 = plot(switch2?MA3:na, title="EMA 3", style=linebr, linewidth=4, color=MA3_color)
fill(EMA2, EMA3, color=silver, transp=50)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Больше