Type/to search

Стратегия динамического пробоя диапазона

Common strategy
Created: 2023-11-21 15:03:19
Last modified: 3 years ago
1
Follow
1802
Followers

img

Обзор

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

Принцип стратегии

Расчет индикаторов

Сначала на основе минимумов рассчитываются базовая линия и нижняя полоса Боллинджера:

src = low basis = sma(src, length) dev = mult * stdev(src, length) lower = basis - dev

где src — минимум, length — период расчета, basis — скользящая средняя, dev — стандартное отклонение, lower — нижняя полоса.

mult обычно равен 2, что означает, что нижняя полоса находится на расстоянии одного стандартного отклонения.

Условия фильтрации

Стратегия включает два фильтра:

Фильтрация по размеру тела свечи
Используются размер тела nbody и его среднее значение abody. Торговый сигнал генерируется только тогда, когда nbody превышает половину abody.

Фильтрация по цвету свечи
Если свеча закрывается выше открытия (close > open), длинная позиция не открывается. Это позволяет избежать ложных пробоев на вершине свечи.

Торговые сигналы

Сигнал на покупку генерируется при выполнении следующих условий:

low < lower // цена пробивает нижнюю полосу close < open or usecol == false // фильтрация по цвету nbody > abody / 2 or usebod == false // фильтрация по размеру тела

Закрытие позиции происходит, когда размер тела снова превышает половину среднего значения:

close > open and nbody > abody / 2

Управление позицией

Стратегия автоматически рассчитывает количество контрактов, обеспечивая экспоненциальный рост:

lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

Контроль рисков

Добавлены условия по году, месяцу и дню, ограничивающие торговлю заданным диапазоном дат:

when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))

Преимущества стратегии

Динамический торговый диапазон

Нижняя полоса Боллинджера представляет собой динамическую зону поддержки, позволяющую ловить отскоки после трендов.

Двойной механизм фильтрации

Комбинация фильтрации по размеру тела свечи и цвету эффективно отсеивает ложные пробои.

Автоматическое управление позицией

Позиция растет экспоненциально до 100%, риск управляется автоматически.

Заданный временной диапазон торговли

Установка временного интервала снижает риск, связанный с высокой волатильностью в определенные периоды.

Риски стратегии

Длительное нахождение вне рынка

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

Решение

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

Неудачный пробой

После пробоя нижней полосы возможен откат и повторное тестирование нижней полосы.

Решение

Добавить стоп-лосс: установить стоп на определенном процентном расстоянии ниже уровня поддержки. Либо добавить логику повторного неудачного пробоя для быстрого закрытия позиции.

Оптимизация стратегии

Добавление стоп-лосса

На основе данных бэктестинга определить оптимальный уровень стоп-лосса ниже поддержки.

Оптимизация параметров фильтрации

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

Комбинирование с трендовым анализом

Добавить среднесрочный/долгосрочный трендовый анализ, останавливать стратегию при бычьем тренде. Это сократит время простоя.

Заключение

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

Source
Pine
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
Strategy parameters
Strategy parameters
Capital, %
BB Period
Use Body-Filter
Use Color-Filter
Show Arrows
From Year
To Year
From Month
To Month
From day
To day
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)