Стратегия торговли на основе моментум-осциллятора
Обзор
Эта стратегия представляет собой дневную стратегию колебательной торговли на основе импульсной техники с использованием стоп-лосса ATR. Стратегия разработана Кори Хоангом из Stably.
Стратегия использует импульсные индикаторы для определения направления тренда и сочетает их с индикатором ATR для установки уровней стоп-лосса, реализуя колебательную торговлю по принципу «покупай дешево, продавай дорого».
Принцип стратегии
В коде сначала задается временной диапазон для бэктестинга.
Затем следует часть с индикаторами, где рассчитываются следующие показатели:
- atr(): вычисляет индикатор ATR, используемый для установки стоп-лосса;
- max_/min_: записывает максимум/минимум предыдущего бара;
- is_uptrend: определяет, находится ли рынок в восходящем тренде;
- vstop: линия стоп-лосса;
Основная логика определения тренда:
Если close выше предыдущего стоп-лосса vstop для нисходящего тренда, то определяется восходящий тренд; если close ниже предыдущего стоп-лосса vstop для восходящего тренда, то определяется нисходящий тренд.
При смене тренда корректируется положение линии стоп-лосса.
В частности, при восходящем тренде стоп-лосс устанавливается как максимум предыдущего бара минус значение ATR; при нисходящем тренде стоп-лосс устанавливается как минимум предыдущего бара плюс значение ATR.
Таким образом реализуется трейлинг-стоп по тренду.
В правилах торговли открытие длинных и коротких позиций происходит при пробое линии стоп-лосса.
Анализ преимуществ
Стратегия обладает следующими преимуществами:
- Использование импульсной техники для определения направления тренда позволяет своевременно выявлять точки разворота и избегать ложных пробоев.
- Стоп-лосс ATR, следующий за максимумом/минимумом, позволяет хорошо контролировать риски.
- Логика стратегии проста и понятна, легко реализуема.
- Позволяет осуществлять колебательную торговлю между трендами по принципу «покупай дешево, продавай дорого».
Анализ рисков
Стратегия также имеет некоторые риски:
- Неправильный выбор значения ATR может привести к слишком широкому или слишком узкому стоп-лоссу.
- В колебательном тренде возможны резкие движения, приводящие к последовательным срабатываниям стоп-лосса.
- Количество сделок может быть большим, что приводит к высоким комиссионным издержкам.
Стратегию можно оптимизировать по следующим направлениям:
- Протестировать различные параметры ATR, чтобы найти оптимальную комбинацию.
- На основе ATR добавить индикатор волатильности для оптимизации линии стоп-лосса.
- Использовать фильтр тренда, чтобы избежать открытия позиций в боковом рынке.
Направления оптимизации
Стратегию можно оптимизировать по следующим направлениям:
- Тестирование различных параметров ATR для поиска оптимального сочетания. Можно выполнить бэктестинг нескольких наборов параметров, оценив соотношение доходности и риска.
- Добавление индикатора волатильности на основе ATR для оптимизации линии стоп-лосса. При увеличении волатильности можно适当 расширить стоп-лосс.
- Использование фильтра тренда, чтобы избежать открытия позиций в боковом рынке. Можно добавить индикатор определения тренда и открывать позиции только при четком тренде.
- Добавление механизма управления размером позиции. Можно корректировать размер позиции в зависимости от использования средств, количества последовательных стоп-лоссов и т.д.
- Добавление контроля риска на ночной перерыв. Можно主动 закрывать позиции перед закрытием сессии, чтобы избежать гэпов цен за ночь.
Заключение
Данная стратегия, как базовая дневная колебательная торговая стратегия, имеет четкую общую идею. Она использует импульсную технику для определения тренда и индикатор ATR для трейлинг-стопа, что позволяет эффективно контролировать риски.
Возможности для оптимизации значительны. В дальнейшем можно улучшить стратегию с точки зрения определения тренда, способа установки стоп-лосса, управления позицией и т.д., чтобы сделать ее более подходящей для реальной торговли. В целом, данная стратегия представляет собой хороший базовый фреймворк для количественной торговли.
/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("BTC Swinger", overlay=true, commission_value = 0.25, default_qty_type=strategy.percent_of_equity, default_qty_value = 100)
/////////////////////////////////////////////////////////////- 1

