Оциллирующая стратегия перекрестного перехода движущегося среднего

Автор:Чао ЧжанДата: 21-12-2023 11:21:49
Тэги:

img

Обзор

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

Принцип стратегии

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

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

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

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

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

  2. Включение сглаживания линии сигнала фильтрует некоторые шумные торговые сигналы и уменьшает ложные сигналы.

  3. Гибкие настройки параметров позволяют трейдерам корректировать параметры в соответствии с фактическими рыночными условиями.

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

  5. Различные комбинации индикаторов и сигналов обеспечивают большое пространство для оптимизации стратегии и сильную масштабируемость.

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

В этой стратегии также есть некоторые риски:

  1. Отслеживание краткосрочных реверсий может увеличить частоту торговли и затраты на транзакции.

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

  3. Задержка генерации сигнала из-за неправильного настройки параметров может пропустить лучшую точку входа.

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

Для смягчения вышеупомянутых рисков могут быть предприняты следующие улучшения:

  1. Оптимизировать параметры для уменьшения частоты торговли, например, увеличить цикл линии сигнала.

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

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

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

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

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

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

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

  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)


Больше