Количественная стратегия на основе пересечения двух скользящих средних («золотой крест»)
Обзор
Эта стратегия анализирует ценовой тренд и торговые возможности на основе пересечения двух скользящих средних. Когда быстрая линия пересекает медленную снизу вверх, это считается «золотым крестом» и сигналом к открытию длинной позиции; когда быстрая линия пересекает медленную сверху вниз, это считается «крестом смерти» и сигналом к открытию короткой позиции. Одновременно используется индикатор объема для подтверждения достоверности пересечения, чтобы избежать ложных сигналов.
Принцип стратегии
Стратегия основана на следующих принципах:
-
Рассчитываются две группы скользящих средних с разными параметрами: одна быстро реагирует на изменения цены, другая — медленнее. Когда быстрая линия пересекает медленную снизу вверх, это указывает на начало восходящего тренда; когда быстрая линия пересекает медленную сверху вниз — на начало нисходящего тренда.
-
В момент пересечения скользящих средних проверяется изменение индикатора объема. Если индикатор объема также пробивает соответствующий уровень, сигнал пересечения считается надёжным; если нет — вероятен ложный сигнал.
-
В зависимости от направления пересечения и подтверждения объёмом открывается длинная или короткая позиция. Устанавливается условие фиксации прибыли (тейк-профит) при достижении определённого процента прибыли.
Конкретно: стратегия использует пересечение 7-дневных скользящих средних для определения ценового тренда; рассчитывает индикатор изменения объёма для оценки надёжности сигнала пересечения; при подтверждённом сигнале открывает позицию в соответствии с SIGNAL; устанавливает условие фиксации прибыли для её своевременного получения.
Преимущества
Основные преимущества стратегии:
- Сочетание трендового анализа по двум скользящим средним с фильтрацией ложных сигналов через индикатор объёма позволяет избежать попадания в ловушку.
- Вход в позицию только после подтверждения индикатором объёма повышает процент успешных сделок.
- Установка тейк-профита позволяет своевременно фиксировать прибыль, избегая ситуации, когда прибыль превращается в убыток.
Анализ рисков
Основные риски стратегии:
- Запаздывание сигналов пересечения скользящих средних может привести к упущению лучших моментов входа. Можно оптимизировать параметры, сделав скользящие средние более чувствительными.
- При расхождении показаний индикатора объёма сложно принимать решение. Можно добавить дополнительные вспомогательные индикаторы для подтверждения.
- Неправильно выбранный уровень тейк-профита может привести к слишком краткосрочной или слишком долгосрочной торговле. Следует тестировать и оптимизировать параметры фиксации прибыли.
Направления оптимизации
Стратегию можно оптимизировать по следующим направлениям:
- Оптимизация периодов скользящих средних для повышения их чувствительности и своевременного捕捉 ценовых изменений.
- Добавление дополнительных индикаторов для подтверждения сигналов, например MACD, KDJ, чтобы избежать ошибочных показаний объёма.
- Внедрение различных стратегий тейк-профита: трейлинг-стоп, процентный тейк-профит, тейк-профит на основе флета и т.д. для динамического управления выходом.
- Добавление автоматического стоп-лосса для ограничения убытков по каждой сделке.
- Оптимизация управления размером позиции в зависимости от рыночных условий.
Заключение
В целом, основная идея стратегии — определение тренда по пересечению двух скользящих средних и фильтрация сигналов с помощью индикатора объёма. Она достаточно стабильна и проста в реализации. Дальнейшая оптимизация параметров, добавление фильтрации сигналов и стратегий тейк-профита/стоп-лосса позволят сделать стратегию более надёжной и интеллектуальной, повысив её практическую ценность.
/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("ZendicatoR", overlay=true, calc_on_order_fills= true, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15, pyramiding=0)
dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001)
keh=input(title="Double HullMA Cross",defval=7, minval=1)- 1

