Стратегия следования за трендом, основанная на разнице скользящих средних


Дата создания: 2024-01-12 14:42:06 Последнее изменение: 2024-01-12 14:42:06
Копировать: 0 Количество просмотров: 543
1
Подписаться
1617
Подписчики

Стратегия следования за трендом, основанная на разнице скользящих средних

Обзор

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

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

Эта стратегия создает торговый сигнал, рассчитывая разницу между средней линией EMA двух различных параметров, а затем рассчитывает свою собственную EMA на эту разницу. В частности, выбирая период цикла, вычисляя двойной период/2 цикла EMA в качестве короткой линии, вычисляя период цикла EMA в качестве медленной линии, разница между двумя EMA образует разницу. Затем вычисляя разницу между двумя периодами EMA в качестве короткой линии, вы получаете сигнал покупки, когда показатель n1 проходит через 0-угол, и сигнал продажи, когда n1 проходит через 0-угол. Таким образом, n1 отражает направление тенденции разрыва, который может быть использован для захвата тенденции цен.

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

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

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

  1. Стратегическая концепция проста, понятна и подходит для начинающих;

  2. Среднелинейный разрыв чувствителен к ценовым изменениям и может эффективно улавливать изменения тенденций;

  3. Помимо этого, существуют и другие варианты, которые могут быть использованы в качестве инструментов управления.

  4. Конфигурируемая комбинация долгосрочных и краткосрочных индикаторов, адаптированная к различным рыночным условиям;

  5. Стоп-лосс стратегии могут быть настроены в соответствии с личными предпочтениями в отношении риска.

Анализ стратегических рисков

Также существуют следующие риски:

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

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

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

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

В соответствии с решением:

  1. В этом случае, как отмечается в статье, “все, что мы делаем, - мы делаем для того, чтобы сохранить стабильность и стабильность”.

  2. Определение точек купли-продажи в сочетании с другими индикаторами обратной динамики, снижающие риск задержки;

  3. Тест на комбинацию параметров, чтобы найти оптимальные параметры;

  4. Оптимизация стратегии по удержанию убытков и снижение убытков в одноразовом порядке.

Направление оптимизации стратегии

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

  1. тестирование различных комбинаций усредненных параметров, чтобы найти оптимальные параметры;

  2. Повышение показателей оценки тенденций, различения тенденций и колебаний;

  3. Повышение точности определения точек купли-продажи в сочетании с обратными показателями;

  4. Оптимизация стратегии стоп-лосса для снижения потерь.

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

Подвести итог

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

Исходный код стратегии
/*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(title='Devick', overlay=true)

// Input parameters
period = input(title='Period', defval=21)

// Calculate moving averages
n2ma = 2 * ta.ema(close, math.round(period / 2))
nma = ta.ema(close, period)
diff = n2ma - nma
sqn = math.round(math.sqrt(period))

n2maPrev = 2 * ta.ema(close[1], math.round(period / 2))
nmaPrev = ta.ema(close[1], period)
diffPrev = n2maPrev - nmaPrev
sqnPrev = math.round(math.sqrt(period))

n1 = ta.ema(diff, sqn)
n2 = ta.ema(diffPrev, sqnPrev)

// Determine color based on condition
maColor = n1 > n2 ? color.green : color.red

// Plot moving average
ma = plot(n1, color=maColor, linewidth=2)

// Signals
buySignal = n1 > n2 and n1[1] <= n2[1]
sellSignal = n1 <= n2 and n1[1] > n2[1]

// Plot shapes for signals
plotshape(series=buySignal, title='Buy Signal', style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small)
plotshape(series=sellSignal, title='Sell Signal', style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small)

// Alerts
alertcondition(condition=buySignal, title='Buy Signal', message='Buy Signal Detected')
alertcondition(condition=sellSignal, title='Sell Signal', message='Sell Signal Detected')

// Trading hours
openHour = 16
closeHour = 17

// Open position at 4 pm
openCondition = hour == openHour and minute == 0
strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)
// Close all positions at 5 pm
closeCondition = hour == closeHour and minute == 0
strategy.close_all(when=closeCondition)