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


Дата создания: 2024-02-21 15:08:27 Последнее изменение: 2024-02-21 15:08:27
Копировать: 3 Количество просмотров: 715
1
Подписаться
1617
Подписчики

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

Обзор

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

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

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

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

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

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

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

  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)