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

Автор:Чао Чжан, Дата: 2024-02-21 15:08:27
Тэги:

img

Обзор

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

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

Стратегия сначала рассчитывает истинный диапазон волатильности. Истинный диапазон волатильности относится к диапазону ценового движения от ценовой отметки закрытия предыдущей свечи до самой высокой и самой низкой цены текущей свечи. Затем он рассчитывает простую скользящую среднюю отметку истинного диапазона волатильности как полосу пропускания Дончианского канала. В сочетании с скользящими средними отметками двух периодов времени он оценивает ценовую тенденцию. Конкретные правила суждения следующие:

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

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

Анализ сильных сторон

Эта стратегия имеет следующие преимущества:

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

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

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

  4. Логика стратегии проста и ясна, легко внедряется, терпима к ошибкам и подходит для автоматизированной алгоритмической торговли.

Риск и оптимизация

Стратегия также сопряжена с некоторыми рисками:

  1. При краткосрочных корректировках трудно определить лучшее время входа в долгосрочные сделки.

  2. Параметры должны быть оптимизированы для различных секторов и отдельных запасов.

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

Резюме

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


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dongyun

//@version=4
strategy("唐齐安移动平均交易系统", overlay=true)

longperiod = input(20,'长线')
shortperiod = input(5,'短线')
bandfactor = input(1.0,'')

TrueHigh = 0.0
TrueLow = 0.0
TrueRange = 0.0

TrueHigh := close[1] > high ? close[1] : high
TrueLow := close[1] < low ? close[1] : low
TrueRange := TrueHigh - TrueLow
AvgTrueRange = sma(TrueRange,longperiod)

MAlong = sma(close,longperiod)
MAshort = sma(close,shortperiod)
band =  AvgTrueRange * bandfactor

if close > MAlong[1] + band[1] and close >  MAshort[1] + band[1]
	strategy.entry("Long", strategy.long, when=strategy.position_size < 1)
else
	if close < MAlong[1] - band[1] and close < MAshort[1] - band[1]
		strategy.entry("Short", strategy.short, when=strategy.position_size > -1)

if close < MAlong[1] - band[1] or close < MAshort[1] - band[1]
	strategy.close("Long", when=strategy.position_size > 0)
else
	if close > MAlong[1] + band[1] or close > MAshort[1] + band[1]
		strategy.close("Short", when=strategy.position_size < 0)

Больше