Стратегия прорыва тренда путем расчета волатильности цен


Дата создания: 2023-12-27 17:34:31 Последнее изменение: 2023-12-27 17:34:31
Копировать: 1 Количество просмотров: 569
1
Подписаться
1623
Подписчики

Стратегия прорыва тренда путем расчета волатильности цен

Обзор

Тренд-брейк - это количественная стратегия, которая использует формулу “наивысшая цена - наименьшая цена” / “окончательная цена” для вычисления ценовых колебаний на K-линии, а затем сглаживает ее с помощью равной линии, чтобы определить, есть ли обратная тенденция. Когда волатильность выше средней за последний определенный период, это указывает на возможность появления новой тенденции, и тогда стратегия посылает торговый сигнал.

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

Основным показателем стратегии является ((высочайшая цена - низкая цена) / закрытие цены, которая отражает колебания K-линии. Сначала стратегия рассчитывает этот показатель, а затем берет его абсолютные значения и вычисляет простую скользящую среднюю. Если абсолютная величина индикатора колебаний K-линии в настоящее время выше, чем скользящая средняя за определенный период в прошлом, это может указывать на формирование новой тенденции.

В частности, стратегия включает в себя следующие шаги:

  1. Расчет ((высокая цена - низкая цена) / закрытие цены в качестве индикатора волатильности
  2. Взять абсолютные значения для показателя волатильности и вычислить простую скользящую среднюю
  3. Сравнение текущей K-линейной волатильности и размера движущихся средних за определенный период в прошлом (ввод пользователя)
  4. Если текущая волатильность больше, чем движущаяся средняя, образуется многоголовый сигнал; если текущая волатильность меньше, чем движущаяся средняя, образуется пустой сигнал
  5. По направлению сигнала выполняется лишний или пустой

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

Стратегические преимущества

Основные преимущества этой стратегии:

  1. Принципы простые, прямые и понятные.
  2. Применение ценовой волатильности для определения изменения рыночных тенденций без фиксированной индикаторной структуры
  3. Настраиваемые параметры для коррекции чувствительности
  4. Интуитивное суждение в сочетании с графикой показателей и изменением цвета K-линии
  5. Сглаживание шума помогает уловить тенденции средней и длинной линии

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

Стратегический риск

В этой стратегии также есть следующие основные риски:

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

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

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

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

  1. Показатели эффективности тренда в сочетании с объемом торгов
  2. Добавление моделей машинного обучения для оценки качества сигналов
  3. Оптимизация параметров для улучшения эффекта сглаживания
  4. Различие между длинными и короткими тенденциями
  5. Контроль за убытками в сочетании с стратегией стоп-лосс

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

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

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

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

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v2.0 25/10/2017
//
//  This histogram displays (high-low)/close
//  Can be applied to any time frame.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="(H-L)/C Histogram Backtest", precision = 2)
input_barwidth = input(4, title="Bar Width")
input_barsback = input(1, title="Look Back")
input_percentorprice = input(false, title="% change")
input_smalength = input(16, title="SMA Length")
reverse = input(false, title="Trade reverse")
hline(0, color=blue, linestyle=line)
xPrice = (high-low)/close
xPriceHL = (high-low)
xPrice1 = iff(input_percentorprice, xPrice * 100, xPriceHL)
xPrice1SMA = sma(abs(xPrice1), input_smalength)
pos = 0.0
pos := iff(xPrice1SMA[input_barsback] > abs(xPrice1), 1,
	   iff(xPrice1SMA[input_barsback] < abs(xPrice1), -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(abs(xPrice1), color=green, style = histogram, linewidth = input_barwidth, title="Change")
plot(xPrice1SMA[input_barsback], color=red, title="SMA")