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

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

img

Обзор

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

Принципы

Эта стратегия использует скользящий средний диапазон длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины.

Когда минимум больше скользящей средней плюс средний истинный диапазон (минимум > ma + atr), он рассматривается как тенденция к росту. Когда максимум меньше скользящей средней минус средний истинный диапазон (ма - atr), он рассматривается как тенденция к снижению.

В остальных случаях предыдущее решение остается в силе.

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

Заключительное условие заключается в достижении указанной даты окончания торговли.

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

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

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

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

Основными рисками этой стратегии являются:

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

Решения:

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

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

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

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

Резюме

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


/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//2019
//Noro

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

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(30, minval = 2, title = "MA Length")
src = input(ohlc4, title = "MA Source")
limitmode = input(false)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//MA + BG
atr = sma(tr, len) * 2
ma = sma(src, len)
plot(ma, color = color.blue, linewidth = 4)
trend = 0
trend := low > ma + atr ? 1 : high < ma - atr ? -1 : trend[1]
col = trend == 1 ? color.lime : color.red
bgcolor(col, transp = 70)

//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if trend == 1 and limitmode == false
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if trend == -1 and limitmode == false
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
if trend == 1 and limitmode
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if trend == -1 and limitmode
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
// if time > timestamp(toyear, tomonth, today, 23, 59)
//     strategy.close_all()

Больше