Стратегия перекрестного использования скользящей средней

Автор:Чао Чжан, Дата: 2023-09-28 15:15:54
Тэги:

Обзор

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

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

Стратегия использует две скользящие средние с различными временными рамками. Первый MA имеет более короткий временной промежуток, установленный на 20 дней, для захвата краткосрочных движений цен. Второй MA имеет более длительный временной промежуток, установленный на 120 дней, для измерения долгосрочной тенденции.

Когда более быстрый MA пересекает более медленный MA, происходит золотой крест, сигнализирующий о тенденции к росту в краткосрочной перспективе, и генерируется сигнал покупки.

Стратегия использует ta.crossover и ta.crossunder для обнаружения перекрестного действия МА. После выявления перекрестного действия запускается соответствующий сигнал купли или продажи.

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

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

По сравнению с более сложными показателями, MAs относительно просты в реализации в стратегии.

Кроме того, стратегия MA предлагает гибкость: параметры могут быть скорректированы для разных продуктов и временных рамок, от долгосрочных до краткосрочных.

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

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

Еще один потенциальный риск заключается в том, что МА отстают, что требует времени, чтобы они отражали новые тенденции, что может привести к сдвигу.

Кроме того, в стратегии не учитывается влияние внезапных событий, таких как крупные новости.

Руководство по оптимизации

Стратегия может быть еще более совершенствована путем:

  1. Добавление фильтров типа объема, чтобы избежать ложных сигналов на рынках с ограниченным диапазоном.

  2. Использование адаптивных МА, которые корректируют периоды на основе волатильности.

  3. Сочетание других индикаторов, таких как MACD и Stochastics, для подтверждения сигналов.

  4. Установление ценовых каналов и рассмотрение только сигналов о прорывах.

  5. Внедрение стоп-лосса и прибыли для повышения надежности.

Заключение

В целом, стратегия MA-кроссовера генерирует сигналы, пересекая быстрые и медленные MAs. Она проста в использовании и идентифицирует тенденции, но также несет в себе риски ложных сигналов и задержек. С оптимизированными параметрами, добавленными фильтрами и комбинациями индикаторов она может значительно улучшить жизнеспособность. В целом, стратегия MA является практической системой, которая стоит изучения и применения для трейдеров.


/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 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 FX", overlay = true)
strategy('HG|E30m', 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(120, 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)

Больше