Стратегия пересечения скользящих средних EMA


Дата создания: 2023-11-10 15:05:22 Последнее изменение: 2023-11-10 15:05:22
Копировать: 0 Количество просмотров: 730
1
Подписаться
1617
Подписчики

Стратегия пересечения скользящих средних EMA

Обзор

Эта стратегия использует как сигнал покупки и продажи перекрестки быстрой EMA-линии и медленной EMA-линии для автоматической торговли в соответствии с перекрестками равномерной линии. Быстрая EMA-линия сжимает ценовые изменения, а медленная EMA-линия сглаживает ценовые изменения.

Стратегический принцип

Стратегия создает торговые сигналы, в основном, путем вычисления быстрой и медленной линий EMA и сравнения отношений между двумя равномерными линиями.

Во-первых, в входных параметрах устанавливается цикл быстрого ЭМА emaFast на 1, таким образом, быстрое ЭМА может сдерживать изменения цены. В то же время устанавливается цикл медленного ЭМА, где EmaSlowBuy используется для генерации сигнала покупки, а EmaSlowSell - для генерации сигнала продажи.

Затем, в зависимости от цикла ввода, рассчитывается быстрая EMA и медленная EMA. Быстрая EMA имеет фиксированный цикл 1, чтобы следить за ценой; медленная EMA является регулируемым параметром, чтобы сгладить данные о цене.

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

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

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

  • Использование среднелинейного пересечения для определения точек купли-продажи является проверенным и надежным техническим показателем.
  • Постепенно регулируемые циклы EMA, которые могут быть скорректированы в зависимости от параметров рынка для поиска наилучших торговых возможностей
  • Идея покупки и продажи золотыми и мертвыми спичками понятна и понятна
  • Гибкость в настройке покупок и продаж с использованием различных параметров EMA, полностью настраиваемая торговая стратегия
  • Выбор только-оборот, только-облигация или двусторонняя торговля, гибкость при адаптации к различным рыночным условиям
  • Настраиваемый диапазон времени для отслеживания, оптимизированный для различных периодов времени

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

  • EMA имеет задержку и может упустить лучший момент для изменения цены
  • Сигналы, вызванные перекрестными ЭМА, могут быть частыми в условиях значительной волатильности рынка, что приводит к чрезмерной торговле.
  • Необходимо многократно тестировать параметры, чтобы найти оптимальную комбинацию EMA, иначе будет много ошибочных сигналов
  • Фиксированная быстрая EMA с 1 циклом, которая не может эффективно отфильтровывать шум при рыночных сбоях
  • Неспособность эффективно управлять рынком в период колебаний цен приводит к созданию множества ненужных торговых сигналов.

В зависимости от риска можно рассмотреть следующие меры оптимизации:

  1. В сочетании с другими показателями фильтрует перекрестный сигнал EMA, чтобы избежать ошибочного сигнала

  2. Настройка параметров EMA в соответствии с волатильностью рынка, снижение частоты торгов

  3. Повышение учета сбоев и остановок, контроль риска

  4. Оптимизация циклов быстрых ЭМА с использованием более подходящих параметров в конкретных рыночных условиях

  5. Повышение оценки тенденций, чтобы избежать чрезмерной торговли в условиях нестабильного рынка

Направление оптимизации

Эта стратегия может быть оптимизирована в следующих направлениях:

  1. Оптимизация параметров EMA, тестирование различных комбинаций циклов, выявление оптимальных параметров

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

  1. Проверка фильтрации сигнала в сочетании с другими показателями

Например, можно использовать MACD, KDJ, Brin Belt и другие индикаторы, чтобы избежать ошибочного сигнала при перекрестном EMA.

  1. Повышение оценки тенденций

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

  1. Оптимизация стратегии остановки потерь

Изучение оптимальных стоп-пойнтов для контроля риска потерь и определение разумных стоп-пойнтов для максимизации прибыли.

  1. Тестирование других комбинаций EMA

Можно тестировать не только комбинации быстрого и медленного EMA, но и комбинации двойного, трехкратного и даже многократного EMA, чтобы найти лучшие параметры.

  1. Параметры корректируются в зависимости от рыночных циклов

Для более тенденциозных рынков можно соответствующим образом ускорить цикл EMA, а для шокирующих рынков - замедлить его.

Подвести итог

Общая концепция EMA Cross Strategy ясна и понятна, используя проверенные технические показатели для определения времени покупки и продажи. Стратегия является настраиваемой и может быть оптимизирована путем корректировки параметров EMA, что позволяет разработать торговую стратегию для различных рыночных условий. Однако сигналы EMA являются отсталыми и требуют повторного тестирования, чтобы найти оптимальную комбинацию параметров. Кроме того, необходимо оптимизировать для риска, проводить проверку сигнала в сочетании с другими показателями и оптимизировать методы остановки убытков, что снижает отказ от отзывов и повышает прибыльность.

Исходный код стратегии
/*backtest
start: 2023-10-10 00:00:00
end: 2023-11-09 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(
     "EMA Cross Strategy with Custom Buy/Sell Conditions",
     overlay=true
     )

// INPUT:

// Options to enter fast Exponential Moving Average (EMA) value
emaFast = 1

// Options to enter slow EMAs for buy and sell signals
slowEMABuy = input(title="Slow EMA for Buy Signals",  defval=20, minval=1, maxval=9999)
slowEMASell = input(title="Slow EMA for Sell Signals",  defval=30, minval=1, maxval=9999)

// Option to select trade directions
tradeDirection = input(title="Trade Direction", options=["Long", "Short", "Both"], defval="Both")

// Options that configure the backtest date range
startDate = input(title="Start Date", type=input.time, defval=timestamp("01 Jan 2018 00:00"))
endDate = input(title="End Date", type=input.time, defval=timestamp("31 Dec 2025 23:59"))


// CALCULATIONS:

// Use a fixed fast EMA of 1 and calculate slow EMAs for buy and sell signals
fastEMA = ema(close, emaFast)
slowEMABuyValue = ema(close, slowEMABuy)
slowEMASellValue = ema(close, slowEMASell)


// PLOT:

// Draw the EMA lines on the chart
plot(series=fastEMA, color=color.orange, linewidth=2)
plot(series=slowEMABuyValue, color=color.blue, linewidth=2, title="Slow EMA for Buy Signals")
plot(series=slowEMASellValue, color=color.red, linewidth=2, title="Slow EMA for Sell Signals")


// CONDITIONS:

// Check if the close time of the current bar falls inside the date range
inDateRange = true

// Translate input into trading conditions for buy and sell signals
buyCondition = crossunder(slowEMABuyValue, fastEMA)
sellCondition = crossover(slowEMASellValue, fastEMA)

// Translate input into overall trading conditions
longOK  = (tradeDirection == "Long") or (tradeDirection == "Both")
shortOK = (tradeDirection == "Short") or (tradeDirection == "Both")


// ORDERS:

// Submit entry (or reverse) orders based on buy and sell conditions
if (buyCondition and inDateRange)
    strategy.entry("Buy", strategy.long)

if (sellCondition and inDateRange)
    strategy.close("Buy")

// Submit exit orders based on opposite trade conditions
if (strategy.position_size > 0 and sellCondition)
    strategy.close("Sell")
if (strategy.position_size < 0 and buyCondition)
    strategy.close("Sell")