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

Автор:Чао Чжан, Дата: 2023-10-09 14:56:37
Тэги:

Обзор

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

Принцип

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

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

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

Преимущества

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

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

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

  4. Принимает анализ в разные временные рамки, чтобы определить направление тренда в более широкой степени.

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

Риски

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

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

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

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

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

Направления к улучшению

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

  2. Попробуйте различные наборы параметров MACD, чтобы найти комбинацию, которая наиболее рано отражает точку изменения тренда.

  3. Добавьте индикатор тренда в качестве фильтра, приостановить торговлю, когда тренд неясен, чтобы избежать випса.

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

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

  6. Попробуйте арбитраж между продуктами, чтобы сформировать портфель по коррелирующим продуктам, диверсифицируя рыночные системные риски.

Заключение

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


/*backtest
start: 2023-09-08 00:00:00
end: 2023-10-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

// To enable alerts: Change 'Strategy' to read 'Study' below  and you also need to comment out lines 43 and 47 - Strategy code

// strategy(title="Riz Coloured MACD", shorttitle="Riz MACD" , initial_capital=5000, default_qty_value=3  )
//study(title="Riz Coloured MACD", shorttitle="Riz MACD")

source = close
fastLength = input(21, minval=1), slowLength=input(55,minval=1)
signalLength=input(9,minval=1)
MACDCandlesCheckedBack=input(6,minval=1)
MACDTolerance=input(4,minval=1)

fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
signal = ema(macd, signalLength)
hist = macd - signal

// ====== BASIC COLOURING - IF HISTOGRAM IS HIGHER THAN PREVIOUS 2 CANDLES THEN WE ARE TICKING UP and VISA VERSA ============//

isTickingUp = hist > hist[1] and hist > hist[2] //and hist > hist[3]
isTickingDown = hist < hist[1] and hist < hist[2] // and hist < hist[3]


// ======= MACD STRATEGY CODE ========== //

// Check if MACD is ticking in the right direction to take a trade - adding 1 at the end means it starts at -1 so not to include the current candle
MACDHistHighestHigh= highest(hist, MACDCandlesCheckedBack)[1]
MACDHistLowestLow = lowest(hist, MACDCandlesCheckedBack)[1]

MACDConfirmsLong() => (hist - MACDHistLowestLow) > MACDTolerance
MACDConfirmsShort() => (MACDHistHighestHigh - hist) > MACDTolerance


plot(macd,  title="MACD", color=blue, linewidth=3)
plot(signal,  title="SIGNAL", color=orange, linewidth=3)

// === SIMPLE COLOURING BASED ON LAST 2 CANDLES - EASY TO REFERENCE IN DAY TO DAY MACD USE ====//

plot(hist, title="HIST", color=isTickingDown ? fuchsia : isTickingUp ? lime : green, linewidth=3, style=histogram)

// ==== ALTERNATIVE COLOURING FOR PLOT BASED ON STRATEGY SETTINGS INSTEAD

//plot(hist, title="HIST", color=MACDConfirmsLong() ? lime : MACDConfirmsShort() ? fuchsia : green, linewidth=3, style=histogram)


// === STRATEGY - ENTER POSITIONS - COMMENT OUT TO ENABLE ALERTS === //

strategy.entry(id = "Long", long = true, when = MACDConfirmsLong()) // use function to decide when to go long

strategy.entry(id = "Short", long = false, when = MACDConfirmsShort())

// === CREATE ALERT CONDITIONS === // 

alertup = MACDConfirmsLong()
alertdown = MACDConfirmsShort()

alertcondition(alertup, title='MACD Long', message='Riz MACD says go LONG!')
alertcondition(alertdown, title='MACD Short', message='Riz MACD says go SHORT!')


Больше