Адаптивная стратегия торговли с возвратом к среднему, основанная на осцилляторе Chande Momentum

CMO SMO RSI SMA MR TS
Дата создания: 2024-12-11 17:17:50 Последнее изменение: 2024-12-11 17:17:50
Копировать: 2 Количество просмотров: 396
1
Подписаться
1617
Подписчики

Адаптивная стратегия торговли с возвратом к среднему, основанная на осцилляторе Chande Momentum

Обзор

Стратегия торговли с перерасчетом средней стоимости, основанная на динамическом колебателе Шанде (CMO), является стратегией технического анализа, используемой для выявления зон перепродажи путем вычисления динамики изменения цен в течение определенного периода времени. Стратегия основана на мониторинге динамических изменений цен на активы, чтобы совершать сделки в случае крайнего отклонения цен, чтобы поймать возможность возвращения средней стоимости цен.

Стратегический принцип

В основе стратегии лежит расчет и применение показателей CMO. Движение CMO измеряется путем расчета разницы между суммарными значениями роста и падения в течение определенного периода. Конкретная формула расчета: CMO = 100 × (повышение и уменьшение) / (повышение и уменьшение)

В отличие от традиционного RSI, CMO использует одновременные данные о взлетах и падениях в молекуле, что обеспечивает более симметричную динамику. Стратегия считает, что рынок перепродается, когда CMO ниже 50, и ожидает, что цена восстановится, поэтому открывает больше позиций.

Стратегические преимущества

  1. Ясность сигналов - CMO предоставляет четкие критерии для суждения о покупке и продаже, а торговые сигналы ясны и не создают неопределенности
  2. Отличное управление рисками - предотвращение риска длительного задержания путем установки максимального срока хранения
  3. Адаптируемость - стратегия может корректировать параметры в зависимости от различных рыночных условий, обладая хорошей адаптивностью
  4. Твердая теоретическая основа - основана на проверенной теории среднезначной регрессии с надежной академической поддержкой
  5. Расчет прост - метод расчета показателя прост, интуитивен, легко понятен и реализуем

Стратегический риск

  1. Риск трендового рынка - средневзвешенные стратегии возврата могут часто приводить к убыткам в сильно трендовых рынках
  2. Чувствительность к параметрам - выбор цикла CMO и привязки больше влияет на эффективность стратегии
  3. Риск ложного сигнала - может возникнуть при резких рыночных колебаниях
  4. Временные риски - фиксированные сроки закрытия позиций могут упустить лучшие возможности для получения прибыли
  5. Риск проскальзывания - возможные большие проскальзывания на рынках с низкой ликвидностью

Направление оптимизации стратегии

  1. Введение фильтрации трендов - добавление долгосрочных трендовых показателей, открытие позиций только в бонусный период
  2. Оптимизация динамических параметров - динамическая коррекция циклов и отклонений CMO в зависимости от рыночных колебаний
  3. Совершенствование механизма остановки убытков - увеличение динамического остановки убытков, защита уже прибыльной прибыли
  4. Оптимизация времени удержания позиции - максимальное время удержания позиции может быть изменено в зависимости от динамики волатильности
  5. Увеличение количества подтвержденных транзакций - повышение надежности сигнала в сочетании с объемом транзакций

Подвести итог

Эта стратегия использует показатели CMO для захвата рыночных возможностей перекупа и перепродажи, в сочетании с фиксированными временными остановками, чтобы создать стабильную систему торговли с средним возвратом. Логика стратегии ясна, контроль риска разумен, имеет хорошую практическую ценность.

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Chande Momentum Oscillator Strategy", overlay=false)

// Input for the CMO period
cmoPeriod = input.int(9, minval=1, title="CMO Period")

// Calculate price changes
priceChange = ta.change(close)

// Separate positive and negative changes
up = priceChange > 0 ? priceChange : 0
down = priceChange < 0 ? -priceChange : 0

// Calculate the sum of ups and downs using a rolling window
sumUp = ta.sma(up, cmoPeriod) * cmoPeriod
sumDown = ta.sma(down, cmoPeriod) * cmoPeriod

// Calculate the Chande Momentum Oscillator (CMO)
cmo = 100 * (sumUp - sumDown) / (sumUp + sumDown)

// Define the entry and exit conditions
buyCondition = cmo < -50
sellCondition1 = cmo > 50
sellCondition2 = ta.barssince(buyCondition) >= 5

// Track if we are in a long position
var bool inTrade = false

if (buyCondition and not inTrade)
    strategy.entry("Long", strategy.long)
    inTrade := true

if (sellCondition1 or sellCondition2)
    strategy.close("Long")
    inTrade := false

// Plot the Chande Momentum Oscillator
plot(cmo, title="Chande Momentum Oscillator", color=color.blue)
hline(-50, "Buy Threshold", color=color.green)
hline(50, "Sell Threshold", color=color.red)