Стратегия определяет направление тренда с помощью направления наклонности и перекрестных связей с несколькими группами ЭМА, что позволяет осуществлять непрекращающуюся трендовую торговлю. Она может всегда держать позиции, которые являются позиционными или нисходящими.
Вычислить 3 группы различных циклов ЭМА, соответственно, быстрые, средние и медленные ЭМА.
Когда быстрая EMA пересекает среднескоростную EMA, а среднескоростная EMA поворачивает наклон, образуется полисигнал.
Когда быстрая EMA пересекает среднескоростную EMA, а среднескоростная EMA имеет отрицательный уклон, создается сигнал заикания.
Когда цена растет медленно, она увеличивается, а когда падает, она уменьшается.
Склонение EMA отражает изменение тренда.
По мнению экспертов, это может быть более точным, чем если бы EMA работала в нескольких группах.
В этом случае EMA будет иметь возможность выделить тенденции и колебания.
Изменение среднелинейного скольжения указывает на изменение тренда.
В этом случае, как отмечается в сообщении, “все цены на криптовалюту будут перемещены в сторону криптовалюты”.
Всегда держите позицию, чтобы максимально использовать трендовые возможности.
По данным EMA, держать позиции в условиях шока рискованно.
Параметры EMA неправильно установлены, возможно, мы пропустили поворотный момент.
По мнению экспертов, в этом случае, как и в случае с другими рынками, рыночная активность может снизиться.
Невозможно эффективно контролировать индивидуальные убытки.
Тестируйте различные комбинации параметров EMA, чтобы найти наиболее эффективные.
Добавить другие показатели, чтобы оценить сильные и слабые стороны, такие как MACD.
Добавление механизмов контроля риска.
По оценкам, тенденция сильна или слабая, поэтому не стоит открывать позиции слишком рано.
Оптимизация управления капиталом и корректировка размеров позиций.
Применение метода “задержки” при колебаниях тренда.
Стратегия использует множественное сочетание суждений о тенденциях в 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)