Это простая торговая стратегия, основанная на перекрестке между быстрыми и медленными скользящими средними. Она использует золотой крест и мертвый крест скользящих средних для генерации сигналов покупки и продажи. Когда быстрый скользящий средний пересекает поверх медленного скользящего среднего, идти длинный; когда быстрый скользящий средний пересекает ниже медленного скользящего среднего, идти короткий. Цель состоит в том, чтобы захватить обратные тенденции, наблюдая взаимодействие между скользящими средними различных периодов.
Стратегия в основном опирается на перекресток между быстрой экспоненциальной скользящей средней (EMA) и медленной простой скользящей средней (SMA) для генерации торговых сигналов. Сначала она вычисляет быструю EMA и медленную SMA, с периодами, установленными на 13 и 30 соответственно. Затем, когда быстрая EMA пересекает медленную SMA, генерируется длинный сигнал; когда быстрая EMA пересекает медленную SMA, запускается короткий сигнал.
В частности, стратегия рассчитывает быструю EMA и медленную SMA с использованием maFast и maSlow. Затем она определяет переменные enterLong и exitLong для определения точек входа и выхода. Когда maFast>maSlow, т.е. быстрая EMA пересекает более медленной SMA, она устанавливает enterLong=true для запуска длинного входа; когда maSlow>maFast, т.е. быстрая EMA пересекает ниже медленной SMA, она устанавливает exitLong=true для закрытия позиций. Наконец, стратегия отправляет заказы через strategy.entry при выполнении условий.
Таким образом, когда краткосрочный подъемный импульс превышает долгосрочные тенденции, быстрая EMA пересекает более медленную SMA, генерируя сигнал покупки; когда краткосрочный нисходящий импульс превышает долгосрочные тенденции, быстрая EMA пересекает ниже медленной SMA, производя сигнал продажи. Захватывая обратные тенденции в разные временные рамки, она направлена на покупку низкого и продажу высокого.
Стратегия перекрестного использования скользящей средней имеет следующие преимущества:
Простые и понятные. Движущиеся средние часто используются и являются эффективными индикаторами. Логика кроссовера проста. Это делает стратегию легкой для понимания и реализации трейдерами.
Стратегия позволяет настраивать периоды для быстрой EMA и медленной SMA, которые можно настроить для разных рынков, улучшая адаптивность.
Надежные торговые сигналы. Движущиеся средние эффективно фильтруют рыночный шум. Их перекрестки производят достаточно надежные сигналы. Кроссовер между быстрыми и медленными МА может улавливать повороты в более широком тренде.
Применяется в различных рыночных условиях. Стратегия работает для рынков с тенденциями и диапазоном. Параметры могут быть настроены в соответствии с различными условиями.
Легко комбинируется с другими индикаторами. Стратегия может быть гибко комбинирована с такими индикаторами, как RSI, чтобы создать более мощные системы.
Стратегия также сопряжена с некоторыми рисками:
Во время неопределенных тенденций, MAs могут часто пересекаться, вызывая чрезмерные торговые и сдвижные затраты.
На рынках с ограниченным диапазоном, MAs могут генерировать неоднозначные перекрестные сигналы, что приводит к ложным сигналам.
Трудность в оптимизации параметров. Периоды MA значительно влияют на эффективность стратегии и требуют обширных испытаний.
Сигналы с отставанием. МА по своей сути отстают, поэтому сигналы с перекрестным перекрестком, как правило, опаздывают и могут пропустить идеальные точки входа.
Отсутствие управления рисками. Стратегия не имеет логики стоп-лосса и может повлечь за собой большие убытки.
Некоторые способы оптимизации стратегии перекрестного использования скользящей средней:
Добавьте такие фильтры, как RSI, чтобы уменьшить ложные сигналы. Избегайте длинных, когда RSI высокий, и избегайте коротких, когда RSI низкий.
Для подтверждения сигналов, таких как 50-дневный MA, необходимо включить дополнительные MA.
Используйте методы стоп-лосса, такие как параболический SAR, чтобы контролировать риски.
Оптимизировать параметры с использованием таких методов, как анализ ходьбы вперед и машинное обучение для улучшения производительности на меняющихся рынках.
Используйте диаграммы с более низкими временными рамками и шаблоны свечей, чтобы улучшить качество сигнала и избежать преждевременных перемен.
Включайте индикаторы объема, чтобы избежать ложных прорывов.
Стратегия пересечения скользящей средней является простой, но практичной количественной торговой стратегией. Она использует быструю EMA и медленные пересечения SMA для генерации торговых сигналов. Стратегия легко реализуется и комбинируется с другими индикаторами, но также имеет недостатки, такие как чрезмерная торговля и випса. При надлежащем улучшении параметров и управления рисками стратегия может стать более надежной и прибыльной. В целом подход пересечения скользящей средней стоит изучить и применить для количественных трейдеров.
/*backtest start: 2023-08-26 00:00:00 end: 2023-09-12 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Moving Average Cross EMA SMA", overlay=true, initial_capital=10000, currency='USD',default_qty_type=strategy.percent_of_equity,default_qty_value=100) // Based on strategy by lsills @ https://www.tradingview.com/script/oI8loEZ8-Moving-Average-Cross-Strategy/ // Strategy has several logic alternatives - comment out the undesired logic sections below, only 1 logic section can be active // === GENERAL INPUTS === // short Ema maFastSource = input(defval = close, title = "Fast EMA Source") maFastLength = input(defval = 13, title = "Fast EMA Period", minval = 1) // long Sma maSlowSource = input(defval = close, title = "Slow SMA Source") maSlowLength = input(defval = 30, title = "Slow SMA Period", minval = 1) // longer Sma maSlowerSource = input(defval = close, title = "Slower SMA Source") maSlowerLength = input(defval = 30, title = "Slower SMA Period", minval = 1) // === SERIES SETUP === /// a couple of ma's.. maFast = ema(maFastSource, maFastLength) maSlow = sma(maSlowSource, maSlowLength) maSlower = vwma(maSlowerSource, maSlowerLength) rsi = rsi(maSlowerSource, maSlowerLength) // === PLOTTING === fast = plot(maFast, title = "Fast MA", color = red, linewidth = 2, style = line, transp = 30) slow = plot(maSlow, title = "Slow MA", color = green, linewidth = 2, style = line, transp = 30) slower = plot(maSlower, title = "Slower MA", color = teal, linewidth = 2, style = line, transp = 30) // === LOGIC === Basic - simply switches from long to short and vice-versa with each fast-slow MA cross enterLong = maFast> maSlow exitLong = maSlow> maFast // === LOGIC === Complex 1 - switches from long to short and vice-versa with each fast-slow MA cross but additional conditions must be met //enterLong = variance(maFast,maSlowLength) < 0.6 and close[0] > maFast and crossover(maFast, maSlow) and 1.1* maSlow > maSlower and rsi>rsi[2] //exitLong = variance(maFast,maSlowLength) < 0.6 and close[0] < maSlow and crossover(maSlow, maFast) and maSlow/1.1 < maSlower and rsi<rsi[2] // === LOGIC === Complex 2- switches from long to short and vice-versa with each fast-slow MA cross but additional conditions must be met //enterLong = maFast> maSlow and 1.1* maSlow > maSlower and rsi>rsi[1] and close > close[3] //and close > close[2] //exitLong = maSlow> maFast and maSlow/1.1 < maSlower and rsi<rsi[1] and close < close[3] // and close < close[2] // Entry // strategy.entry(id="Long Entry", long=true, when=enterLong) strategy.entry(id="Short Entry", long=false, when=exitLong) // === FILL ==== fill(fast, slow, color = maFast > maSlow ? green : red)