Количественная стратегия торговли, основанная на перекрестном использовании SMA

Автор:Чао Чжан, Дата: 2024-01-12 10:51:33
Тэги:

img

Обзор

Эта стратегия рассчитывает линии SMA различных периодов для реализации золотых крестов и смертных крестов, тем самым генерируя сигналы покупки и продажи.

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

  1. Вычислить 5-дневную линию (sma5), 20-дневную линию (sma20) и 200-дневную линию (sma200) трех SMA с разными циклами
  2. Когда скользящая средняя за короткий цикл пересекает длинную скользящую среднюю с нижней стороны, генерируется сигнал покупки.
  3. Когда скользящая средняя за короткий цикл пересекается ниже скользящей средней за длительный цикл сверху, генерируется сигнал продажи.
  4. Проводить сделки на основе сигналов покупки и продажи

Например, если 5-дневная линия пересекается с 200-дневной линией, это означает, что рынок вступил в краткосрочную бычью перспективу и был сгенерирован сигнал покупки. Если 5-дневная линия пересекается ниже 200-дневной линии, это означает, что рынок вступил в краткосрочную медвежью перспективу и был сгенерирован сигнал продажи.

Преимущества стратегии

  1. Простая в реализации. ей нужно только рассчитать несколько линий SMA разных циклов и судить о входе и выходе через простые сквозные модели скользящих средних.
  2. Например, когда 5-дневная линия пересекает 200-дневную линию, рынок находится в среднесрочном и долгосрочном бычьем состоянии.
  3. Относительно небольшой риск отклонения и убытков. Когда рынок видит крупномасштабные корректировки, стратегия перекрестного движения скользящей средней быстро выдаст сигналы продажи для эффективного контроля отклонений.

Риски и контрмеры

  1. Легко генерировать ложные сигналы. Когда рынок ограничен диапазоном, скользящая средняя может иметь несколько ложных перекрестков, что приводит к ненужной частоте торговли и затратам.
  2. Выбор цикла регулировки очень важен. Если параметры скользящей средней неправильно отобраны, эффект сигнала может быть неудовлетворительным. Соответствующие комбинации циклов скользящей средней должны определяться в соответствии с различными сортами.
  3. Неспособный справиться с необычно большими ударами. В случае крупных событий черного лебедя стратегия пересечения скользящей средней может понести большие потери. Стратегия должна быть приостановлена в это время и ручная работа должна взять на себя.

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

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

  2. Используйте 5-дневную линию и 200-дневную линию для создания точек покупки и продажи в этом случае. Также используйте индикатор ADX для оценки силы тренда и выполняйте сигналы только тогда, когда тренд достаточно силен.

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

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

Заключение

Эта стратегия оценивает рыночную тенденцию просто с помощью паттернов перекрестки SMA, реализуя типичную тенденцию после стратегии. Преимущество заключается в ее простоте работы и способности эффективно улавливать основные тенденции. В то время как недостаток заключается в том, что она легко генерирует неправильные сигналы и не может справиться с огромными колебаниями рынка. Будущие улучшения могут быть сделаны в таких областях, как фильтрация сигнала и оптимизация параметров.


/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// Define SMAs
sma5 = sma(close, 5)
sma10 = sma(close, 10)
sma20 = sma(close, 20)
sma50 = sma(close, 50)
sma130 = sma(close, 130)
sma200 = sma(close, 200)

// Plot SMAs on the chart
plot(sma5, color=color.blue, title="5 SMA")
plot(sma10, color=color.orange, title="10 SMA")
plot(sma20, color=color.red, title="20 SMA")
plot(sma50, color=color.green, title="50 SMA")
plot(sma130, color=color.purple, title="130 SMA")
plot(sma200, color=color.black, title="200 SMA")

// Generating the buy and sell signals
buySignal = crossover(sma5, sma200)
sellSignal = crossunder(sma5, sma200)

// Execute trades based on signals
if (buySignal)
    strategy.entry("Buy", strategy.long)

if (sellSignal)
    strategy.close("Sell")



Больше