Количественная стратегия на основе индикатора Аруна


Дата создания: 2023-09-19 15:47:21 Последнее изменение: 2023-09-19 15:47:21
Копировать: 0 Количество просмотров: 681
1
Подписаться
1617
Подписчики

Обзор

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

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

  1. Вычислите столбики с наивысшими ценами за 7 дней и столбики с наименьшими ценами

  2. Рассчитывается соотношение максимальной стоимости и общего количества столбцов в качестве нагрузки

  3. Рассчитывается отношение минимальных ценных столбцов к общему количеству столбцов в качестве нижней полосы

  4. Сигнал покупателя, когда верхняя орбитальная величина больше, чем нижняя

  5. Сигнал “продажа” создается, когда текущая орбитальная величина больше, чем орбитальная

  6. Управление конкретным направлением входа в параметрах стратегии

  7. Площадка заказа в установленные сроки

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

  1. Полное доверие к оценке показателя Арон для достижения чисто индикаторных операций

  2. Параметры показателя просты, легко понятны и оптимизируются

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

  4. Настраиваемый временной отрезок для ретроспективных или фиксированных сделок

  5. Операционные сигналы очень четкие, их легко понять и выполнить.

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

  1. В качестве единственного показателя, это может привести к ошибочным сигналам

  2. Невозможно точно определить, насколько сильны взлеты и падения в реальном тренде рынка.

  3. Некоторые из них не могут вовремя зафиксировать переход.

  4. Невозможность адаптироваться к изменениям на рынке

  5. Риск отмены

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

  1. Тестирование различных сортов и циклических параметров

  2. Увеличение условий фильтрации, улучшение качества сигнала

  3. Определение основных тенденций в сочетании с трендовыми показателями

  4. Разработка механизмов динамического выхода из игры, адаптирующегося к тенденциям

  5. Оптимизация параметров, проведение тестирования на комбинации с несколькими группами показателей

  6. Повышение позиций и управление рисками

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

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

Исходный код стратегии
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018
//@version=2

strategy(title = "Noro's Aroon Strategy v1.0", shorttitle = "Aroon str 1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
length = input(7, defval = 7, minval = 1, maxval = 1000)
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")

//Aroon
upper = 200 * (highestbars(high, length+1) + length)/length
lower = 200 * (lowestbars(low, length+1) + length)/length
plot(upper, color=#FF6A00)
plot(lower, color=#0094FF)

//Signals
up = upper > lower
dn = upper < lower

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
    
if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
 
if true
    strategy.close_all()