
EMA-следящая стратегия - это стратегия, которая использует индикатор EMA для отслеживания тренда. Эта стратегия определяет ценовой тренд и генерирует торговый сигнал, рассчитывая значение EMA цены в сочетании с установленной пропорциональной лентой.
Основным показателем стратегии является EMA. EMA представляет собой индексную подвижную среднюю, которая является индикатором, отслеживающим тенденции. EMA рассчитывает текущую среднюю цену на основе исторических цен и установленного периода времени.
Эта стратегия сначала рассчитывает 50-циклическое значение EMA цены в качестве основного показателя. Затем, в соответствии с определенной пропорцией значения EMA, устанавливается повышение и понижение. Здесь оно устанавливается как отрицательное 0,3% значения EMA.
EMA отслеживает стратегию с четкой концепцией, определяет ценовые тенденции с помощью показателей EMA и устанавливает диапазон для получения торговых сигналов. Преимущество заключается в том, что правила просты и легко понятны, можно избежать некоторых шумов. Но также существует ограниченное пространство для корректировки параметров, проблемы с задержкой сигнала, отступной контрольной разницей и т. Д. Следующий шаг может быть улучшен с помощью объединения нескольких показателей, оптимизации убытков и т. Д., Чтобы сделать стратегию более практичной и стабильной.
/*backtest
start: 2023-01-17 00:00:00
end: 2024-01-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="PingEMA50V.3 Piw", shorttitle="EMA50 Piw", overlay=true)
// input
src = input(title="Data Array",defval=close)
ema_period = input(title="EMA period", defval=50)
percent = input(title="Band %", type=float,defval=0.003)
// ema
ema50 = ema(src, ema_period)
plot(ema50, color=green)
// upper lower
upper = ema50 + (ema50*percent)
lower = ema50 - (ema50*percent)
plot(upper, color=blue)
plot(lower, color=blue)
// signal
buy = src > upper
sell = src < lower
// bar color
bcolor = buy ? lime : red
barcolor(color=bcolor)
// trade
if (buy)
strategy.entry("long", strategy.long)
if (sell)
strategy.close("long")