Логарифмическая скользящая средняя конвергенция Дивергенция стратегия

Автор:Чао Чжан, Дата: 2023-09-21 15:38:05
Тэги:

Обзор

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

Логика стратегии

Главная логика такова:

  • Вычислить быструю логарифмическую МА (по умолчанию 12) и медленную логарифмическую МА (по умолчанию 26)

  • Логарифмический MACD - это их разница, выражающая рыночную динамику

  • Сигнальная линия сглажена MA MACD (по умолчанию 9)

  • Продолжите, когда MACD пересекает сигнал сверху снизу

  • Пройти короткий, когда MACD пересекает ниже сигнала сверху

  • Дифференция MACD-сигнала, изображенная на графике в виде гистограммы

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

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

  • Выявляет экспоненциальные движения цен с помощью логарифмической трансформации

  • Логотип MACD подчеркивает информацию о колебаниях цен

  • Сигнальная линия сглаживает MACD в торговые сигналы

  • Гистограмма MACD интуитивно показывает направление тренда

Риски

  • Трансформация лога может усилить шум цены

  • Частые сигналы, риски чрезмерной торговли

  • Отсутствие управления стоп-лоссами, неполный контроль рисков

Уменьшение последствий:

  • Настройка параметров для снижения частоты сигнала

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

  • Внедрить режим остановки потери для контроля потери по сделке

Возможности для расширения

  • Оптимизировать параметры стабильности

  • Попробуйте другие преобразования, такие как экспоненциальная скользящая средняя.

  • Добавить фильтр тренда к сигналам экрана

  • Включить стратегии стоп-лосса

  • Использование машинного обучения для оценки надежности сигнала

Заключение

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


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Logarithmic Moving Average Convergence Divergence Strategy", shorttitle="LMACD Strategy")

// Getting inputs
fast_length = input(title="Fast Length",  defval=12)
slow_length = input(title="Slow Length",  defval=26)
src = input(title="Source",  defval=close)
signal_length = input(title="Signal Smoothing",  minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)",  defval=false)
sma_signal = input(title="Simple MA(Signal Line)", 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)
lmacd = log(fast_ma) - log(slow_ma)
signal = sma_signal ? sma(lmacd, signal_length) : ema(lmacd, signal_length)
hist = lmacd - signal

plot(hist, title="Histogram", 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(lmacd, title="LMACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)

if (crossover(hist, 0))
	strategy.entry("Long", strategy.long, comment="LMACD long")
if (crossunder(hist, 0))
	strategy.entry("Short", strategy.short, comment="LMACD short")

Больше