Количественная торговая стратегия на основе колебаний свечных графиков
Обзор
Данная стратегия представляет собой импульсную стратегию на основе индикаторов, использующую осцилляторы, такие как RSI, Stoch, MACD, для генерации торговых сигналов. Основная идея стратегии: при колебаниях цены с помощью индикаторов определяется направление тренда, и вход в позицию осуществляется по сигналам индикаторов. Кроме того, стратегия использует индикатор запаздывающего супертренда для стоп-лосса.
Принцип работы стратегии
Стратегия сначала вызывает пользовательскую функцию f_getOscilatorValues для получения значений различных осцилляторов, включая RSI, Stoch, MACD и др. Затем через функцию f_getSupertrend вычисляется значение запаздывающего супертренда для отслеживания стоп-лосса.
После вычисления индикаторов стратегия вызывает функцию f_getBuySellStops, которая на основе значений индикаторов рассчитывает уровни стоп-лосса и тейк-профита для входа. В частности, вычисляется индикатор ATR, и уровень стоп-лосса при входе определяется как ATR, умноженный на коэффициент стоп-лосса, а уровень тейк-профита — как ATR, умноженный на коэффициент тейк-профита. При развороте тренда уровни стоп-лосса и тейк-профита корректируются.
Затем стратегия определяет направление тела свечи: если свеча восходящая, она окрашивается зелёным цветом, если нисходящая — красным. После построения свечей и индикаторов стратегия проверяет условия для входа. Условия входа: когда индикатор показывает перекупленность и цена пробивает верхнюю полосу, открывается длинная позиция; когда индикатор показывает перепроданность и цена пробивает нижнюю полосу, открывается короткая позиция. Кроме того, вводится фильтр в виде скользящей средней старшего таймфрейма: вход возможен только после пробоя ценой этой средней.
После входа стоп-лосс корректируется (трейлинг-стоп) — он устанавливается на уровне верхней или нижней полосы, в зависимости от того, какая ближе. Позиция закрывается при срабатывании стоп-лосса. Когда цена достигает тейк-профита, часть позиции фиксируется (частичный тейк-профит).
Анализ преимуществ стратегии
Стратегия обладает следующими преимуществами:
- Использование осцилляторов для определения направления тренда позволяет своевременно улавливать краткосрочные развороты рынка.
- Применение стоп-лосса на основе запаздывающего супертренда позволяет выйти из позиции до того, как убыток станет слишком большим, ограничивая потери по одной сделке.
- Расчёт стоп-лосса и тейк-профита на основе ATR в качестве меры риска позволяет динамически регулировать размер позиции.
- Фильтрация с помощью скользящей средней старшего таймфрейма помогает избежать попадания в ловушку.
- Стратегия частичного тейк-профита позволяет продолжать удерживать прибыль, одновременно фиксируя часть прибыли.
- Логика стратегии проста и понятна, легко реализуема, подходит для начинающих в алгоритмической торговле.
Анализ рисков стратегии
Стратегия также содержит некоторые риски:
- Осцилляторы обладают запаздыванием, что может приводить к поздним сигналам на вход и преждевременным сигналам на выход. Эту проблему можно смягчить путём оптимизации параметров индикаторов или добавления трендовых индикаторов для подтверждения.
- Стоп-лосс расположен слишком близко, что может привести к его пробою. Можно немного расширить диапазон стоп-лосса или использовать динамические стратегии стоп-лосса, такие как Chandelier Stop.
- После частичного тейк-профита оставшаяся часть позиции может быть закрыта по стоп-лоссу при движении против тренда. Можно уменьшить долю частичного тейк-профита, оставив больше запаса.
- Риск подгонки под исторические данные. Необходимо тестировать на разных рынках, чтобы избежать переобучения.
- Фильтр в виде скользящей средней старшего таймфрейма также может давать сбои. Следует использовать методы классификации тренда и другие подходы для определения направления более крупного цикла.
Направления оптимизации стратегии
Стратегию можно оптимизировать по следующим направлениям:
- Протестировать различные комбинации параметров осцилляторов, выбрав те, которые дают сигналы наилучшего качества, например, быстрые линии Stoch.
- Попробовать заменить частичный тейк-профит на трейлинг-тейк-профит, установив уровень тейк-профита на основе ATR или скользящей средней.
- Для определения тренда старшего таймфрейма использовать алгоритмы машинного обучения вместо фильтрации по скользящей средней, повысив точность.
- Добавить индикаторы объёма в качестве дополнительных условий входа, чтобы избежать ненужных разворотных сделок.
- Провести интеграцию индикаторов и оптимизацию весов, выбрав комбинацию, наиболее подходящую для текущего инструмента.
- Добавить модуль управления рисками на основе машинного обучения для динамической оптимизации уровней стоп-лосса, тейк-профита и размера позиции.
- Включить сигналы треугольного арбитража или арбитража между фьючерсами и спотом для получения прибыли от спреда между ними.
Заключение
В целом, эта стратегия очень хорошо подходит для обучения начинающих алгоритмических трейдеров: логика ясна, ключевые моменты основаны на анализе индикаторов и управлении рисками. Однако для получения стабильной доходности требуется оптимизация параметров и снижение рисков в условиях реальной торговли. Кроме того, стратегию можно улучшить за счёт определения тренда, оптимизации стоп-лосса и ансамблевого обучения, чтобы сделать её более устойчивой. В целом, данная стратегия, как шаблон, который можно запускать и оптимизировать, представляет большую ценность для изучения.
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-25 00:00:00
period: 1h
basePeriod: 15m
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/
// © HeWhoMustNotBeNamed
//@version=4- 1
