Стратегия дневной торговли, основанная на пересечении DI


Дата создания: 2023-11-13 11:32:08 Последнее изменение: 2023-11-13 11:32:08
Копировать: 0 Количество просмотров: 685
1
Подписаться
1617
Подписчики

Стратегия дневной торговли, основанная на пересечении DI

Обзор

Эта стратегия основана на пересечении среднего истинного диапазона (ATR) и трендового индикатора (DMI) с позитивным индикатором (DI+) и отрицательным индикатором (DI-), чтобы определить время покупки и продажи. Эта стратегия относится к стратегии отслеживания тенденций, которая определяет поворотные точки в тренде с помощью пересечения DI+ и DI-, ATR используется для установки стоп-лосс и стоп-стоп цен.

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

  1. ATR ((14)): рассчитывается средний реальный диапазон колебаний с использованием максимума, минимума и закрытия за последние 14 дней

  2. Расчет DI+ и DI-:

    • DI+ = 100 * RMA(MAX(UP,0),N) / ATNR

    • DI- = 100 * RMA(MAX(DOWN,0),N) / ATNR

где UP - разница между сегодняшним максимумом и вчерашним закрытием, DOWN - разница между сегодняшним минимумом и вчерашним закрытием, N - длина параметров, по умолчанию 14, ATNR - ATR, полученный от предыдущего шага

  1. Покупка и продажа:

    • Когда DI+ наносится на DI-, генерируется сигнал покупки

    • Когда DI+ попадает под DI-, генерируется сигнал продажи

  2. Настройка стоп-стоп:

    • множественная единая стоп-стоп цена за вычетом ATR, умноженная на множитель стоп-стоп

    • Многооднократная цена за входную цену плюс ATR, умноженная на множитель цены за остановку

    • Стоп-стоп на пустую билетную цену плюс ATR, умноженный на множитель стоп-стоп

    • Стоп-цены на пустые билеты - это цена входа за вычетом ATR, умноженная на стоп-цену.

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

  1. Использование пересечения DI+ и DI- для определения переменных в тренде позволяет своевременно улавливать новые тенденции

  2. ATR - динамический индикатор стоп-стоп, позволяющий установить разумные стоп-стоп-стоп в зависимости от степени волатильности рынка

  3. Меньше параметров стратегии, легче понять и реализовать

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

Анализ рисков и решений

  1. Скрещивание DI может привести к ошибочным сделкам

    • При появлении ложного прорыва, создаются ненужные торговые сигналы, и можно соответствующим образом регулировать параметры цикла DI, чтобы отфильтровать ошибочные сигналы
  2. Стоп-стоп слишком близко

    • При сильных рыночных колебаниях близлежащие стоп-стоп легко активируются, а ATR может быть скорректирован в соответствии с частотой рыночных колебаний
  3. Неэффективная борьба с рыночными колебаниями

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

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

Рекомендации по оптимизации

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

  2. Добавление механизмов управления позициями, таких как фиксированные доли, Мартингель и другие, для контроля отступлений и повышения прибыльности

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

  4. Оптимизация параметров, чтобы найти оптимальные комбинации параметров, такие как циклы DI, ATR и ATR

  5. Добавление логики трейдинга в ночных и утренних дисках, чтобы стратегия работала круглосуточно

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

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

Исходный код стратегии
/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-12 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/
// © TheHulkTrading
//@version=4
strategy("DI Crossing Daily Straregy HulkTrading", overlay=true)
// ATR Multiplier. Recommended values between 1..4
atr_multiplier = input(1, minval=1, title="ATR Multiplier") 
//Length of DI. Recommended default value = 14
length = input(14, minval=1, title="Length di")
up = change(high)
down = -change(low)
range = rma(tr, 14)

//DI+ and DI- Calculations
di_plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, length) / range)
di_minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, length) / range)

//Long and short conditions
longCond = crossover(di_plus,di_minus)
shortCond = crossunder(di_plus,di_minus) 


//Stop levels and take profits
stop_level_long = strategy.position_avg_price - atr_multiplier*atr(14)
take_level_long = strategy.position_avg_price + 2*atr_multiplier*atr(14)
stop_level_short = strategy.position_avg_price + atr_multiplier*atr(14)
take_level_short = strategy.position_avg_price - 2*atr_multiplier*atr(14)


//Entries and exits 
strategy.entry("Long", strategy.long, when=longCond)
strategy.exit("Close Long","Long", stop=stop_level_long, limit = take_level_long)
strategy.entry("Short", strategy.short, when=shortCond)
strategy.exit("Close Short","Short", stop=stop_level_short, limit = take_level_short)