Стратегия золотого и мёртвого креста
Обзор
Данная стратегия использует принцип золотого креста и креста смерти простых скользящих средних для реализации длинных и коротких позиций по акциям. Когда быстрая линия пересекает медленную линию снизу вверх, открывается длинная позиция; когда быстрая линия пересекает медленную линию сверху вниз, открывается короткая позиция.
Принцип стратегии
Стратегия сначала определяет временные рамки для бэктестинга, затем задает параметры расчета двух скользящих средних, включая тип скользящей средней и длину периода.
С помощью функции getMAType() вычисляются значения двух скользящих средних. fastMA — это скользящая средняя с коротким периодом, slowMA — с длинным периодом.
Основная логика стратегии заключается в следующем:
- Когда
fastMAпересекаетslowMAснизу вверх, генерируется сигнал на открытие длинной позиции (long). - Когда
fastMAпересекаетslowMAсверху вниз, генерируется сигнал на открытие короткой позиции (short).
В итоге в период бэктестинга при появлении сигнала на длинную позицию применяется стратегия длинной позиции; при сигнале на короткую позицию — стратегия короткой позиции.
Преимущества анализа
- Простая и понятная концепция стратегии, легкая в реализации.
- Широко используемый принцип пересечения скользящих средних, подходит для большинства акций.
- Возможность настройки типа и параметров скользящих средних, высокая адаптивность.
- Используется встроенная структура стратегии, каждая часть имеет четкую функцию, что облегчает дальнейшую оптимизацию.
Анализ рисков
- Пересечение скользящих средних имеет некоторую задержку, что может привести к пропуску некоторых торговых возможностей.
- Не может эффективно фильтровать колебательные рынки, что чревато попаданием в ловушку.
- Оптимизация параметров недостаточно всестороння и систематична, требуется вспомогательный опыт человека.
- Не может эффективно контролировать риск и убытки по отдельной сделке.
Для управления рисками можно рассмотреть следующие направления оптимизации:
- Добавить фильтрацию на основе других технических индикаторов для идентификации тренда.
- Добавить стратегию стоп-лосса для контроля убытков по отдельной сделке.
- Внедрить индикаторы объема и т.п., чтобы избежать арбитража на колебательных рынках.
- Создать механизм оптимизации параметров для автоматического поиска наилучшей комбинации параметров.
Направления оптимизации
Данную стратегию можно дополнительно оптимизировать по следующим направлениям:
- Добавить стратегию стоп-лосса, например, установить фиксированную точку стоп-лосса или трейлинг-стоп для контроля убытков.
- Добавить стратегию управления позицией, например, фиксированную позицию или динамическую позицию для контроля торгового риска.
- Добавить фильтры, комбинируя другие технические индикаторы для идентификации тренда и повышения процента успешных сделок.
- Оптимизировать настройки параметров с помощью методов, таких как поиск по сетке и линейная регрессия, для нахождения оптимальных параметров.
- Расширить стратегии для длинных и коротких позиций, например, разворот при пробое уровней, частичное открытие позиций и т.п., обогатив арсенал торговых стратегий.
- Добавить индикаторы объема, чтобы избежать попадания в ловушку на колебательном рынке.
- Расширить список торгуемых инструментов, включив в него фьючерсы на индексы, валютные пары, криптовалюты и другие виды активов.
Заключение
Данная стратегия основана на принципе пересечения скользящих средних для выбора длинных или коротких позиций по акциям. Концепция стратегии проста и понятна, широко применима, обладает высокой адаптивностью и определенной практической ценностью. Однако стратегия также имеет недостатки, такие как задержка и неспособность эффективно фильтровать колебания. В будущем можно оптимизировать её, улучшив стоп-лосс, оптимизировав параметры и добавив фильтры, чтобы сделать стратегию более конкурентоспособной.
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//strategy("Golden X BF Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)
/////////////// Time Frame ///////////////- 1
