Стратегия длинного тренда на основе ATR, EOM и VORTEX

Автор:Чао Чжан, Дата: 2024-02-18 16:01:07
Тэги:

img

Обзор

Эта стратегия представляет собой долгосрочную стратегию тренда для фондовых и криптовалютных рынков. Она сочетает в себе три индикатора - ATR (средний истинный диапазон), EOM (легкость движения) и VORTEX для определения направлений тренда.

Логика стратегии

  • ATR измеряет волатильность рынка. Здесь мы рассчитываем 10-периодный ATR и сглаживаем его с 5-периодным EMA. Если текущий ATR выше EMA ATR, это указывает на высокую волатильность и бычий рынок. В противном случае это медвежий рынок.

  • EOM относится к показателям объема цены. Здесь мы рассчитываем 10-периодный EOM. Если EOM положительный, это означает увеличение объемов торговли и бычий рынок. В противном случае это медвежий рынок.

  • VORTEX представляет собой вихревой индикатор для оценки долгосрочных направлений тренда. Мы рассчитываем сумму абсолютных колебаний цен за последние 10 периодов, чтобы получить VMP и VMM. Затем используем сумму ATR в качестве знаменателя для нормализации и получения VIP и VIM. Среднее их, если больше 1 предполагает бычьи рынки и меньше 1 предполагает медвежие рынки.

В целом эта стратегия сочетает в себе ATR/EMAATR для краткосрочной волатильности, EOM для объемных ценовых показателей и VORTEX для долгосрочной тенденции для определения окончательного только долгосрочного направления.

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

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

  • Как ATR, так и VORTEX имеют функции сглаживания, чтобы отфильтровать шум от рынков с различными диапазонами и избежать ложных длинных сигналов.

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

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

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

  • Недостаточные данные об обратных испытаниях с проверкой эффективности реальной торговли и дополнительной оптимизацией и тестированием параметров.

  • Неспособность искать возможности получения прибыли от перемен или рынков с ограниченным диапазоном, что ограничивает потенциал прибыли.

  • Простая тенденционная стратегия не может эффективно контролировать риски позиций при определенных рисках блокировки капитала.

  • Невозможно сократить для хеджирования с большим пространством потери.

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

  • Устойчивость испытаний различных периодов для ATR и VORTEX.

  • Попытка внедрить методы остановки потерь, например, перемещение остановки потерь, время остановки потерь для контроля одиночных потерь.

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

  • Включить средние факторы реверсии, чтобы подтвердить сроки входа и избежать ненужной блокировки капитала.

Заключение

Эта долгосрочная стратегия, основанная на подтверждениях от ATR, EOM и VORTEX, входит в три категории, и только длится долго без короткого, чтобы извлечь выгоду из основной тенденции.


/*backtest
start: 2023-02-11 00:00:00
end: 2024-02-17 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/
// © SoftKill21

//@version=4
strategy("atr+eom+vortex strat", overlay=true )

//atr and ema
atr_lenght=input(10)
atrvalue = atr(atr_lenght)


//plot(atrvalue)
ema_atr_length=input(5)
ema_atr = ema(atrvalue,ema_atr_length)

//plot(ema_atr,color=color.white)

//EOM and ema
lengthEOM = input(10, minval=1)
div = 10//input(10000, title="Divisor", minval=1)
eom = sma(div * change(hl2) * (high - low) / volume, lengthEOM)
// + - 0 long/short

//VORTEX
period_ = input(10, title="Length", minval=2)
VMP = sum( abs( high - low[1]), period_ )
VMM = sum( abs( low - high[1]), period_ )
STR = sum( atr(1), period_ )
VIP = VMP / STR
VIM = VMM / STR
avg_vortex=(VIP+VIM)/2
//plot(avg_vortex)

long= atrvalue > ema_atr and eom > 0 and avg_vortex>1 
short=atrvalue < ema_atr and eom < 0 and avg_vortex<1 

strategy.entry("long",1,when=long)
//strategy.entry("short",0,when=short)

strategy.close("long",when=short)

Больше