Стратегия пробоя пересечения двух скользящих средних
Обзор
Данная стратегия рассчитывает быструю 30-дневную простую скользящую среднюю и медленную 33-дневную простую скользящую среднюю. При возникновении «золотого» или «смертельного» пересечения этих скользящих средних открываются позиции LONG или SHORT соответственно. При появлении противоположного сигнала позиция немедленно закрывается. Это позволяет эффективно улавливать изменения тренда.
Принцип стратегии
В основе стратегии лежит расчет быстрой 30-дневной и медленной 33-дневной скользящих средних. Быстрая линия быстрее реагирует на изменение цены, а медленная обладает лучшим фильтрующим эффектом. Когда быстрая линия пересекает медленную снизу вверх, формируется сигнал на покупку. Это означает, что цена начинает расти, быстрая линия уже отреагировала, а медленная всё ещё отстаёт. Когда быстрая линия пересекает медленную сверху вниз, формируется сигнал на продажу. Это означает, что цена начинает падать, быстрая линия уже отреагировала, а медленная всё ещё отстаёт.
Благодаря такому перекрестному взаимодействию быстрой и медленной скользящих средних, торговая стратегия генерирует сигналы при начале тренда и закрывает позиции при появлении противоположного сигнала, эффективно улавливая средне- и долгосрочные ценовые тренды. Кроме того, это позволяет избежать излишнего реагирования на рыночные колебания.
Анализ преимуществ
Данная стратегия обладает следующими преимуществами:
- Использует простые скользящие средние, легко понимается и реализуется
- Комбинирование быстрой и медленной линий обеспечивает как быструю реакцию на изменение цены, так и фильтрующий эффект
- Сигналы «золотого» и «смертельного» пересечения просты и понятны, легки в исполнении
- Позволяет эффективно улавливать средне- и долгосрочные тренды
- Быстрое закрытие позиции при появлении противоположного сигнала позволяет контролировать риски
Анализ рисков
Стратегия также содержит некоторые риски:
- При боковом движении цены могут возникать множественные ложные сигналы, приводящие к излишне частым сделкам
- Плохо справляется с резкими изменениями цены, вызванными непредвиденными событиями
- Выбранные параметры, такие как периоды скользящих средних, могут потребовать оптимизации – некорректная настройка ухудшает показатели стратегии
- Комиссии за сделки могут повлиять на прибыль
Данные риски можно контролировать и уменьшать с помощью оптимизации параметров, установки стоп-лоссов, торговли только при явно выраженном тренде и другими методами.
Направления оптимизации
Данную стратегию можно оптимизировать по следующим направлениям:
- Оптимизация периодов скользящих средних и типа пересечения для поиска наилучшей комбинации параметров
- Добавление дополнительных технических индикаторов для фильтрации, например, объёмов торгов, MACD и т.д., чтобы уменьшить количество ложных сигналов
- Внедрение адаптивного механизма стоп-лосса вместо простого закрытия по противоположному сигналу
- Разработка комбинаций параметров и правил стоп-лосса для различных инструментов
- Применение методов машинного обучения для динамической настройки параметров
Путем тестирования и оптимизации можно постоянно улучшать правила стратегии, получая более надёжные торговые сигналы в разных рыночных условиях.
Заключение
Данная стратегия двойного пересечения скользящих средних в целом проста и практична. Комбинируя быструю и медленную скользящие средние, она позволяет эффективно определять начало средне- и долгосрочного тренда и генерировать достаточно надёжные торговые сигналы. Кроме того, её правила закрытия позиции легко реализуются. При дальнейшей оптимизации данная стратегия может стать ценной количественной системой, пригодной для долгосрочного удержания.
/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//future strategy
//strategy(title = "es1!_1minute_hull", default_qty_type = strategy.fixed, initial_capital=250000, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2, calc_on_order_fills=false, calc_on_every_tick=false,pyramiding=0)
//strategy.risk.max_position_size(2)- 1

