Стратегия на основе пересечения скользящих средних
Обзор
Торговая стратегия на пересечении скользящих средних — это относительно распространённая количественная торговая стратегия. Она вычисляет скользящие средние с разными периодами и генерирует торговые сигналы на основе их пересечений. В частности, рассчитываются экспоненциальные скользящие средние (EMA) с периодами 4, 8 и 20: когда краткосрочная EMA пересекает долгосрочную EMA снизу вверх, открывается длинная позиция; когда краткосрочная EMA пересекает долгосрочную EMA сверху вниз, открывается короткая позиция.
Принцип стратегии
Основная логика стратегии:
- Вычисляются линии EMA с периодами 4, 8 и 20.
- Оценивается соотношение между линиями EMA с периодами 4 и 8:
- Когда EMA(4) пересекает EMA(8) снизу вверх, это указывает на усиление ценового движения и является бычьим сигналом.
- Когда EMA(4) пересекает EMA(8) сверху вниз, это указывает на ослабление ценового движения и является медвежьим сигналом.
- Одновременно оценивается направление линии EMA(20):
- Если EMA(20) растёт, то открывается длинная позиция (Enter Long).
- Если EMA(20) падает, то открывается короткая позиция (Enter Short).
- Когда соотношение между EMA(4) и EMA(8) меняется на противоположное, готовится выход (Prepare Exit).
- Когда направление EMA(20) меняется на противоположное, производится немедленный выход (Exit Now).
Благодаря этому методу мы используем пересечения скользящих средних разных периодов для определения рыночных сигналов, а также используем направление скользящей среднего с самым длинным периодом для фильтрации ложных сигналов, формируя стабильную торговую стратегию.
Преимущества стратегии
Стратегия обладает следующими основными преимуществами:
- Логика стратегии проста и понятна, легко осваивается и реализуется.
- Использование двойных условий фильтрации позволяет снизить количество ложных сигналов.
- Наличие EMA(20) помогает выявить общий тренд и повышает устойчивость.
- Параметры можно настраивать, регулируя частоту сделок.
- Легко комбинируется с другими индикаторами или моделями для построения составных стратегий.
Риски стратегии
У стратегии также есть некоторые риски:
- Стратегия двойных скользящих средних склонна к ложным сигналам.
- Фиксированные периоды не могут адаптироваться к изменениям рынка.
- При боковом движении рынка возможны убытки.
Основные способы решения:
- Соответственно сокращать время удержания позиций и своевременно фиксировать убытки.
- Динамически оптимизировать параметры, изменять периоды скользящих средних.
- Комбинировать с другими индикаторами или моделями для создания составных стратегий.
Оптимизация стратегии
Стратегию можно оптимизировать по следующим направлениям:
- Оптимизация периодов: определение наилучшей комбинации периодов MA для различных инструментов.
- Оптимизация стоп-лосса: разумная установка уровней стоп-лосса для контроля убытков по одной сделке.
- Оптимизация параметров: использование генетических алгоритмов, цепей Маркова и других методов для динамической оптимизации параметров.
- Слияние моделей: интеграция с глубокими нейронными сетями (LSTM, RNN) для извлечения дополнительной альфы.
- Комбинаторная оптимизация: объединение с другими индикаторными стратегиями для создания портфеля стратегий.
Заключение
Стратегия на пересечении скользящих средних в целом является классической и часто используемой количественной торговой стратегией. Её логика проста, легко понимается и реализуется, обладает определённой стабильностью. Однако у неё есть и недостатки, такие как генерация ложных сигналов и неспособность адаптироваться к изменениям рынка. Эти проблемы можно решить с помощью оптимизации параметров, оптимизации стоп-лосса, слияния моделей и других методов. В целом, стратегия на скользящих средних может служить базовым модулем в арсенале стратегий, который в сочетании с другими, более сложными стратегиями, позволяет построить надёжную составную систему.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//future strategy
//strategy(title = "stub", default_qty_type = strategy.fixed, default_qty_value = 1, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2.05)
//stock strategy- 1

