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

Автор:Чао Чжан, Дата: 2024-01-25 14:16:28
Тэги:

img

Обзор

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

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

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

  1. Быстрый MA (длина): отражает последние изменения цен
  2. Медленный MA (длина): отражает среднесрочную ценовую тенденцию
  3. Наиболее медленный МР (с длиной): отражает долгосрочные тенденции цен

Когда быстрый MA пересекает более медленный MA, это сигнализирует о краткосрочном переходе в рост.

Чтобы избежать ложных сигналов, в качестве долгосрочного фильтра (длины) вводится 4-й MA. Только выше этого фильтра рассматриваются длинные сигналы. Только ниже этого фильтра рассматриваются короткие сигналы.

Специфическими правилами торговли являются:

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

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

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

Преимущества этой стратегии включают:

  1. Использование нескольких временных рамок для более точного определения изменений тренда и снижения ложных сигналов.
  2. Долгосрочный фильтр позволяет избежать неправильной позиции перед серьезным изменением тренда.
  3. Простые и понятные правила, легко понятные и автоматизированные.
  4. Стратегии реверсии выигрывают от положительного уклонения в доходах и прибыли.
  5. Хорошие результаты обратного теста в моделируемой живой торговли в отношении доходности и коэффициента прибыли.

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

Риски этой стратегии включают:

  1. Стратегии MA чувствительны к параметрам. Разные параметры приводят к разным результатам.
  2. Ложное прорыв обратных сигналов может вызвать потери.
  3. Продолжительные боковые повороты могут уничтожить прибыль от повторных переворотов.
  4. Цена может перевернуться и ускориться с силой, если не удастся своевременно остановить потерю.

Решения:

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

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

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

  1. Испытайте больше наборов параметров, чтобы найти оптимальные значения.
  2. Добавить фильтр громкости, чтобы избежать ложных сигналов при низкой громкости.
  3. Включить другие индикаторы для подтверждения сигналов входа.
  4. Внедрить динамическое регулирование стоп-потери для лучшего контроля выхода.
  5. Оптимизировать управление рисками для более строгого контроля рисков.

Заключение

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5

strategy("Moving Average Trap", overlay=true)

flenght = input.int(title="Fast MA Period", minval=1, maxval=2000, defval=3)
llenght = input.int(title="Slower MA Period", minval=1, maxval=2000, defval=5)
sslenght = input.int(title="Slowest MA Period", minval=1, maxval=2000, defval=8)
tlenght = input.int(title="Trend Filter MA Period", minval=1, maxval=2000, defval=200)

ssma = ta.sma(close, sslenght)
fma = ta.sma(close, flenght)
sma = ta.sma(close, llenght)
tma = ta.sma(close, tlenght)

plot(fma, color=color.red)
plot(sma, color=color.white)
plot(ssma, color=color.green)
plot(tma, color=color.maroon, linewidth=2)

short =  (fma > sma and sma > ssma) and close < tma
long = (fma < sma and sma < ssma) and close > tma
closeshort = fma < sma and sma < ssma
closelong = fma > sma and sma > ssma

if long
	strategy.entry("long", strategy.long)
if closelong
	strategy.close("long")
if short
	strategy.entry("short", strategy.short)
if closeshort
	strategy.close("short")

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

Больше