Стратегия количественного трейдинга, основанная на перекрестке двойных движущихся сред

Автор:Чао Чжан, Дата: 2024-03-19 17:16:21
Тэги:

基于双移动平均线交叉的量化交易策略

Название стратегии

Двойная движущаяся средняя (Dual Moving Average Crossover Quantitative Trading Strategy)

Обзор стратегии

Эта стратегия основана на перекрестных сигналах двух различных циклов движущихся средних (MA). Когда длинный MA на коротком MA носит длинный MA, это дает сигнал покупки; когда длинный MA на коротком MA носит длинный MA, это дает сигнал продажи. Эта стратегия пытается поймать средне-долгосрочные тенденции цен и получить прибыль от отслеживания тенденций.

Принципы стратегии

Стратегия использует как основной технический показатель две движущиеся средние с разными циклами. Одна из них - короткосрочная движущаяся средняя, которая отражает краткосрочные тенденции цены; другая - длительная движущаяся средняя, которая отражает средне-долгосрочные тенденции цены.

В частности, когда короткий МА носит длинный МА, это означает, что цена может войти в рост. В противоположность этому, когда короткий МА носит длинный МА, это означает, что цена может войти в падение, это означает, что стратегия продает. Такой метод отслеживания тренда может помочь инвесторам следовать тенденциям рынка и получать прибыль от роста или падения цен.

В кодовой реализации этой стратегии в основном используются следующие шаги: 1. ПринятиеinputФункция устанавливает параметры циклов для краткосрочного MA и долгосрочного MA, которые удобны для пользователей. 2. Использованиеta.smaФункциональное вычисление краткосрочного MA. 3. Сравнение величины ценовой зависимости между ценой закрытия и длиной краткосрочного MA позволяет определить, находится ли цена выше или ниже MA. 4. Определить, был ли сделан сигнал покупки или продажи, путем определения того, изменилось ли отношение между ценой закрытия и краткосрочным MA между двумя последовательными барами. 5. Принятиеstrategy.entryФункция торгует по сигналам купли-продажи. 6. ИспользованиеplotshapeФункция маркирует сигналы покупки и продажи на графике. 7. ИспользованиеplotФункция рисует короткие MA-кривые на графике.

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

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

  1. Простая и понятная: стратегия использует только один технический показатель движущегося среднего, а принцип прост, понятен и реализован.
  2. Мощная адаптивность: с помощью гибкой настройки циклических параметров двух движущихся средних можно адаптироваться к различным рыночным характеристикам и потребностям в инвестициях.
  3. Тенденционное отслеживание: стратегия, основанная на пересечении движущейся средней линии для определения тренда, которая может эффективно улавливать средне- и долгосрочные тенденции цены и осуществлять сделки в соответствии с тенденциями рынка.
  4. Легко оптимизировать: можно улучшить способность стратегии к устойчивости и прибыли, оптимизировав циклические параметры движущейся средней.
  5. Широкая применимость: эта стратегия может быть применена на различных финансовых рынках и торговых видах, таких как акции, фьючерсы, валюты и т. д.

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

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

Для улучшения стратегии в отношении этих рисков могут быть приняты следующие меры: 1. Повышение устойчивости путем оптимизации параметров для поиска оптимальной комбинации циклов движущихся сред. 2. Внедрение других технических показателей или рыночных сигналов, таких как объем, импульс и т.д., для обогащения стратегических измерений. 3. Создать разумные правила хранения и хранения, чтобы контролировать риск одной сделки. 4. Фильтрация торговых сигналов, например, требование нескольких последовательных K-линий для подтверждения изменения тренда и уменьшения ложных позитивов. 5. Регулярное пересмотр и корректировка стратегии в соответствии с динамическими изменениями на рынке.

Оптимизация стратегии

  1. Оптимизация параметров: можно использовать такие методы, как ход вперед анализ, поиск сетки, чтобы оптимизировать циклические параметры движущейся средней, чтобы найти оптимальную комбинацию параметров, повысить надежность стратегии и способность к прибыли.
  2. Фильтрация сигналов: после создания торговых сигналов можно улучшить качество сигналов с помощью нескольких правил фильтрации, таких как требование, чтобы краткосрочные МА сохраняли определенный разрыв от долгосрочных МА, требование, чтобы цена имела определенный follow through после пересечения МА, требование синхронизации сигналов подтверждения с несколькими временными циклами и т. д., чтобы уменьшить ложноположительные сигналы.
  3. Стоп-стоп-потеря: для каждой сделки можно установить разумные правила стоп-стоп-потерь, чтобы с одной стороны предотвратить риск понижения одной сделки, а с другой стороны, своевременно блокировать прибыль.
  4. Управление позициями: можно динамически корректировать размер позиций на каждой сделке в зависимости от факторов, таких как интенсивность рыночных тенденций, способность аккаунта переносить риски, увеличивать позиции при сильном тренде и уменьшать позиции при ослаблении тренда, чтобы лучше адаптироваться к рынку.
  5. Комбинация с несколькими индикаторами: другие технические или рыночные сигналы могут быть использованы в сочетании с движущимися средними, такими как MACD, RSI, ATR и т. д., чтобы судить и подтверждать тенденции из нескольких измерений, повышая надежность стратегии. Взвешивание между различными индикаторами может быть настроено в зависимости от их стабильности в различных состояниях рынка.

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

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

Двухдвигательная средняя (ДДС) - это простая, понятная и адаптивная стратегия отслеживания трендов. Она определяет ценовые тенденции с помощью пересечения двух различных циклических ДДС, пытаясь захватить среднесрочные и долгосрочные возможности рынка. Преимущества этой стратегии заключаются в том, что принцип прост, понятен, легко реализуется и оптимизируется для использования на многих финансовых рынках.

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

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


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMA Crossover Strategy", overlay=true)

// SMA parametrelerini ayarla
sma_short_length = input.int(15, "Kısa SMA Uzunluğu")
sma_long_length = input.int(200, "Uzun SMA Uzunluğu")

// Hareketli ortalama hesaplamalarını yap
sma_short = ta.sma(close, sma_short_length)

// Fiyatın SMA'yı yukarı veya aşağı kestiğini kontrol et
price_above_sma = close > sma_short
price_below_sma = close < sma_short

// Alım-Satım noktalarını belirle
longCondition = (close[1] < sma_short[1] and close > sma_short) and price_above_sma
shortCondition = (close[1] > sma_short[1] and close < sma_short) and price_below_sma

// Al-Sat stratejisi
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Fiyatın kısa SMA'yı yukarı kesme noktalarını göster
plotshape(series=longCondition, title="Long", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)

// Fiyatın kısa SMA'yı aşağı kesme noktalarını göster
plotshape(series=shortCondition, title="Short", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Hareketli ortalamaları grafiğe çiz
plot(sma_short, color=color.blue, title="Kısa SMA")

Больше информации