Стратегия торговли с пересечением скользящей средней генерирует сигналы покупки и продажи, когда пересекаются краткосрочные и долгосрочные скользящие средние.
Эта стратегия рассчитывает экспоненциальную скользящую среднюю (EMA) 20 и 50 периодов. Она запускает длинную позицию, когда 20 EMA пересекает 50 EMA. Она запускает короткую позицию, когда 20 EMA пересекает 50 EMA.
EMA придает большее значение последним данным.
EMA сегодня = (Цена сегодня * k) + EMAвчера * (1-k)
где k = 2/(количество периодов + 1)
Когда краткосрочная EMA пересекает долгосрочную EMA, это указывает на рост цен в сторону LONG. Когда она пересекается ниже, это указывает на понижение цен в сторону SHORT.
Преимущества этой стратегии:
К рискам относятся:
Улучшения:
Стратегия пересечения скользящей средней является простой, но эффективной технической стратегией, которая доказана рынком. Дальнейшее улучшение контроля риска и надежности может быть достигнуто путем настройки параметров, добавления фильтров и т. Д. Она служит основным строительным блоком для количественной торговли.
/*backtest start: 2022-11-20 00:00:00 end: 2023-11-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © brandlabng //@version=5 //study(title="Holly Grail", overlay = true) strategy('HG|E15m', overlay=true) src = input(close, title='Source') price = request.security(syminfo.tickerid, timeframe.period, src) ma1 = input(20, title='1st MA Length') type1 = input.string('EMA', '1st MA Type', options=['EMA']) ma2 = input(50, title='2nd MA Length') type2 = input.string('EMA', '2nd MA Type', options=['EMA']) price1 = if type1 == 'EMA' ta.ema(price, ma1) price2 = if type2 == 'EMA' ta.ema(price, ma2) //plot(series=price, style=line, title="Price", color=black, linewidth=1, transp=0) plot(series=price1, style=plot.style_line, title='1st MA', color=color.new(#219ff3, 0), linewidth=2) plot(series=price2, style=plot.style_line, title='2nd MA', color=color.new(color.purple, 0), linewidth=2) longCondition = ta.crossover(price1, price2) if longCondition strategy.entry('Long', strategy.long) shortCondition = ta.crossunder(price1, price2) if shortCondition strategy.entry('Short', strategy.short)