Стратегия импульса
Обзор
Динамическая стратегия - это стратегия, основанная на тенденциях изменения цен. Эта стратегия использует двусторонние динамические индикаторы для создания торговых сигналов.
Стратегический принцип
Эта стратегия определяет динамику цены, рассчитывая изменения цены закрытия в течение определенного периода. В частности, это изменение цены закрытия относительно цены закрытия до N циклов.
Сначала рассчитывается первый динамический показатель MOM0, формула которого:
MOM0 = CLOSE - CLOSE[N]
Из них, CLOSE означает текущую циклическую закрытую цену, CLOSE[N] означает, что цена закрытия до N цикла. Таким образом, MOM0>0 означает, что цена закрытия выросла до N цикла относительно текущего цикла, а MOM0<0 означает, что цена закрытия упала до N цикла относительно текущего цикла.
Затем рассчитывается второй показатель мощности MOM1, формула которого:
MOM1 = MOM0 - MOM0[1]
Иными словами, вычислить значение MOM0 текущего цикла минус значение предыдущего цикла. MOM1>0 означает, что MOM0 вырос, MOM1<0 означает, что MOM0 упал.
В то же время рассчитывается третий динамический показатель MOM2, формула которого:
MOM2 = CLOSE - CLOSE[1]
Иными словами, вычислить текущую циклическую цену закрытия за вычетом цены закрытия предыдущего цикла. MOM2>0 означает, что цена закрытия выросла, MOM2<0 означает, что цена закрытия упала.
Когда MOM0>0 и MOM1>0, показывает, что динамика продолжает расти, создавая сигнал покупки; когда MOM0<0 и MOM2<0, показывает, что динамика продолжает падать, создавая сигнал продажи.
В коде также добавлена временная кондиция time_cond, которая будет генерировать торговый сигнал только в течение установленного периода отсчета времени. Кроме того, перед размещением заказа еще раз проверьте, остается ли эта кондиция, чтобы избежать появления заказа после исчезновения сигнала.
Анализ преимуществ
- Движущая стратегия, которая улавливает тенденции изменения цен, не подвергаясь влиянию цены, избегая риска преследования высоких и низких
- Использование двух динамических показателей с перекрестным, фильтруемым ложным прорывом, чтобы избежать ошибочного сигнала
- Увеличение сроков и условий проверки может уменьшить недействительные сделки
- Простые, понятные принципы стратегии, которые легко реализовать
- Гибко адаптируемые параметры для различных рыночных условий
Анализ рисков
- Показатели динамики задерживаются, возможно, они пропускают поворотный момент
- Двухмерный перекрестный индекс увеличивает эффект фильтрации, но также может упустить некоторые возможности
- Невозможно определить силу и скорость роста или падения цен
- Необходимо осторожно выбирать параметры, слишком чувствительные могут увеличить частоту сделок и стоимость скольжения
- Эффекты зависят от оптимизации параметров, которые требуют корректировки в разные периоды
Можно уменьшить риск путем сокращения динамического цикла, внедрения трендового суждения или конфигурации стоп-лосса. Также можно рассмотреть возможность включения индикатора объема торговли для фильтрации.
Направление оптимизации
- Попробуйте различные методы подсчета динамики, такие как ROC, RSI и т. Д.
- Повышение оценки трендов, чтобы избежать обратного колебания рынка
- Конфигурация стратегии стоп-лосс, контроль одиночных потерь
- Обеспечение поддержки объемов сделок в сочетании с показателями объемов сделок
- Включение алгоритмов машинного обучения для динамической оптимизации параметров
- Стратегия многовременных рамок, разграничение краткосрочных и долгосрочных тенденций
- Рассматривать арбитраж на рынках, используя различные рыночные ценовые отношения
Подвести итог
Двигательная стратегия эффективно определяет направление рынка, используя тенденции ценовых изменений, а не цены сами по себе, и использует возможности для повышения и снижения цен. Однако движение имеет отсталость, выбор параметров и оптимизация портфеля имеют решающее значение для эффективности стратегии. Эта стратегия основана на скрещивании двух динамических показателей и может отфильтровывать часть шума.
/*backtest
start: 2022-09-25 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Momentum Strategy", overlay = false, precision = 2, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash, commission_type = strategy.commission.percent, commission_value = 0, calc_on_every_tick = true)
// Calculate start/end date and time condition- 1
