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

Автор:Чао Чжан, Дата: 2023-12-19 14:49:52
Тэги:

img

Обзор

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

Принципы

Стратегия использует две скользящие средние, включая быструю скользящую среднюю (например, 10-периодную) и медленную скользящую среднюю (например, 30-периодную). Если обе скользящие средние указывают вверх, это указывает на восходящий тренд. Если обе скользящие средние указывают вниз, это указывает на нисходящий тренд.

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

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

После определения направления тренда стратегия будет длинной при восходящем тренде и короткой при понижающем.

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

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

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

Риски

Есть также некоторые риски этой стратегии:

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

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

Оптимизация

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

  1. Добавьте больше типов скользящих средних, таких как SMA и EMA, чтобы использовать больше графических инструментов.
  2. Для повышения точности необходимо ввести другие индикаторы, такие как MACD и BOLL.
  3. Добавьте линию тренда и анализ поддержки/сопротивления для более точных торговых сигналов.
  4. Установите стоп-лосс и принимайте прибыль, чтобы контролировать потерю на одной сделке.
  5. Оптимизировать размер позиций на основе использования средств, коэффициента прибыли и т.д.

Заключение

Стратегия Dual Moving Average Trend Tracking имеет четкую логику использования двойных скользящих средних для фильтрации шума и выявления тренда и торговли вдоль направления тренда. Это типичный тренд после стратегии. Трейдеры могут выбирать длинный только или короткий только на основе предпочтений.


/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 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/
// © noro
// 2020

//@version=4
strategy(title = "Noro's TrendMA Strategy", shorttitle = "TrendMA str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1)

//Settings
needlong = input(true, title = "Long")
needshort = input(true, title = "Short")
fast = input(10, minval = 1, title = "MA Fast (red)")
slow = input(30, minval = 2, title = "MA Slow (blue)")
type = input(defval = "SMA", options = ["SMA", "EMA"], title = "MA Type")
src = input(ohlc4, title = "MA Source")
showma = input(true, title = "Show MAs")
showbg = input(false, title = "Show Background")

//MAs
fastma = type == "EMA" ? ema(src, fast) : sma(src, fast)
slowma = type == "EMA" ? ema(src, slow) : sma(src, slow)

//Lines
colorfast = showma ? color.red : na
colorslow = showma ? color.blue : na
plot(fastma, color = colorfast, title = "MA Fast")
plot(slowma, color = colorslow, title = "MA Slow")

//Trend
trend1 = fastma > fastma[1] ? 1 : -1
trend2 = slowma > slowma[1] ? 1 : -1
trend = 0
trend := trend1 == 1 and trend2 == 1 ? 1 : trend1 == -1 and trend2 == -1 ? -1 : trend[1]

//Backgrouns
colbg = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na
bgcolor(colbg, transp = 80)

//Trading
if trend == 1
    if needlong
        strategy.entry("Long", strategy.long)
    if needlong == false
        strategy.close_all()

if trend == -1
    if needshort
        strategy.entry("Short", strategy.short)
    if needshort == false
        strategy.close_all()
    

Больше