Стратегия пересечения MACD


Дата создания: 2023-12-13 16:58:15 Последнее изменение: 2023-12-13 16:58:15
Копировать: 0 Количество просмотров: 744
1
Подписаться
1621
Подписчики

Стратегия пересечения MACD

Обзор

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

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

Эта стратегия сначала вычисляет быстрое скользящее среднее (fastMA) и медленное скользящее среднее (slowMA). Параметры быстрого скользящего среднего составляют 12 дней, а медленного скользящего среднего - 26 дней. Затем вычисляется разница между двумя скользящими средними, образуя MACD.

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

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

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

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

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

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

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

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

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

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

  1. Увеличение показателей фильтрации ликвидности и волатильности, снижение частоты открытия позиций, предотвращение неэффективных сделок. Например, увеличение объема сделок, динамическая корректировка параметров движущейся средней и т. Д.

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

  3. Добавление алгоритмов машинного обучения, обучение параметрам и вниманию к порогу, более соответствующим текущей рыночной среде, уменьшение вмешательства человека.

  4. В сочетании с паническими индексами, такими как VIX, прогнозирующими движение и волатильность рынка в предстоящем периоде, динамические параметры корректировки позволяют лучше использовать возможности MACD.

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

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

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

//@author : SudeepBisht
//@version=2
strategy(title="MACD with Signal", shorttitle="MACD_with_Signal")
source = close
useCurrentRes = input(true, title="Use Current Chart Resolution?")
resCustom = input(title="Use Different Timeframe? Uncheck Box Above", defval="60")
smd = input(true, title="Show MacD & Signal Line? Also Turn Off Dots Below")
sd = input(true, title="Show Dots When MacD Crosses Signal Line?")
sh = input(true, title="Show Histogram?")
macd_colorChange = input(true,title="Change MacD Line Color-Signal Line Cross?")
hist_colorChange = input(true,title="MacD Histogram 4 Colors?")

res = useCurrentRes ? timeframe.period : resCustom

fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(9,minval=1)

fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)

macd = fastMA - slowMA
signal = sma(macd, signalLength)
hist = macd - signal

outMacD = request.security(syminfo.tickerid, res, macd)
outSignal = request.security(syminfo.tickerid, res, signal)
outHist = request.security(syminfo.tickerid, res, hist)

histA_IsUp = outHist > outHist[1] and outHist > 0
histA_IsDown = outHist < outHist[1] and outHist > 0
histB_IsDown = outHist < outHist[1] and outHist <= 0
histB_IsUp = outHist > outHist[1] and outHist <= 0

//MacD Color Definitions
macd_IsAbove = outMacD >= outSignal
macd_IsBelow = outMacD < outSignal

plot_color = hist_colorChange ? histA_IsUp ? green : histA_IsDown ? lime : histB_IsDown ? red : histB_IsUp ? maroon :yellow :gray
macd_color = macd_colorChange ? macd_IsAbove ? green : red : red
signal_color = macd_colorChange ? macd_IsAbove ? yellow : yellow : lime

circleYPosition = outSignal
 
plot(smd and outMacD ? outMacD : na, title="MACD", color=macd_color, linewidth=3)
plot(smd and outSignal ? outSignal : na, title="Signal", color=blue, style=line ,linewidth=1)
plot(sh and outHist ? outHist : na, title="", color=plot_color, style=columns, linewidth=4)
//plot(sd and cross(outMacD, outSignal) ? circleYPosition : na, title="Cross", style=circles, linewidth=4, color=macd_color)
hline(0, '0 Line',  linewidth=2, color=white)

macd_chk=smd and outMacD ? outMacD : na
checker=smd and outSignal ? outSignal : na
if (crossover(macd_chk,checker))
    strategy.entry("BBandLE", strategy.long)

if (crossunder(macd_chk, checker))
    strategy.entry("BBandSE", strategy.short)