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


Дата создания: 2023-12-21 11:21:49 Последнее изменение: 2023-12-21 11:21:49
Копировать: 1 Количество просмотров: 331
1
Подписаться
1166
Подписчики

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

Обзор

Эта стратегия является динамической обратной торговой стратегией, основанной на MACD-индикаторе. Она генерирует MACD-индикатор, рассчитывая разницу между быстрыми и медленными движущимися средними значениями. Когда MACD-индикатор переходит в положительное положение, он генерирует сигнал продажи; когда MACD-индикатор переходит в отрицательное положение, он генерирует сигнал покупки.

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

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

Для фильтрации шума в данной стратегии вводятся индикаторы сигнальной линии, для дополнительной гладкой обработки MACD. Параметр сигнальной линии устанавливается на 9-дневную EMA. Наконец, рассчитывается разница между MACD и сигнальной линией в качестве торгового сигнала.

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

Основные преимущества этой стратегии:

  1. Используйте MACD, чтобы определить точку переворота цен на акции, чтобы поймать возможность краткосрочного переворота цен на акции.

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

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

  4. Вычислительная логика проста и понятна, легко понять реализацию, подходит для начинающих в изучении исследований.

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

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

Однако есть и риски:

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

  2. MACD-индикатор может создавать ложные сигналы в процессе длительного одностороннего роста или падения цен на акции.

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

  4. Это довольно простая стратегия, которая снижает эффективность торговли в сложных рыночных условиях.

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

  1. Оптимизация параметров, снижающих частоту транзакций. Например, увеличение параметров цикличности сигнальной линии.

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

  3. Используйте лимитированные цены для отслеживания оптимальных цен.

  4. Это поможет нам оценить состояние рынка и избежать торговли на ненормальных рынках.

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

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

  1. Оптимизируйте MACD-параметры и параметры сигнальной линии, чтобы найти оптимальную комбинацию параметров.

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

  3. В сочетании с показателями объема торгов, такими как индикатор энергетического потока, избегайте ложных прорывов.

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

  5. Повышение цен на установление стоп-лосс и стоп-стоп, контроль за уровнем убытков и прибыли.

  6. Оценить качество акций, например, финансовые показатели, изменения в рейтинге и т. д., и выбрать качественный фондовый рынок.

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

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

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

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

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

//@version=4
//study(title="MACD Strategy by Sedkur", shorttitle="MACD Strategy by Sedkur")
strategy (title="MACD Strategy by Sedkur", shorttitle="MACD Strategy by Sedkur")


// Getting inputs
dyear = input(title="Year", type=input.integer, defval=2017, minval=1950, maxval=2500)
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
buyh = input(title="Buy histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1)
sellh = input(title="Sell histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal

plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)

strategy.entry("buy", strategy.long, comment="buy", when = hist[1] <= hist and buyh<=hist and year>=dyear)
strategy.entry("sell", strategy.short, comment="sell", when = hist[1] >= hist and sellh>=hist and year>=dyear)