Стратегия перекрестного использования двойной скользящей средней - EMA9/20

Автор:Чао Чжан, Дата: 2024-03-08 15:22:50
Тэги:

img

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

Стратегия перекрестки двойных скользящих средних - EMA9/20 - это количественная стратегия торговли, основанная на перекрестке двух экспоненциальных скользящих средних (EMA). Эта стратегия использует 9-дневную EMA и 20-дневную EMA в качестве торговых сигналов, генерируя сигналы покупки или продажи, когда две скользящие средние пересекаются. Кроме того, стратегия использует перекресток между ценой и 9-дневной EMA в качестве вспомогательного сигнала, а также остановку для управления торговым риском.

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

Основной принцип этой стратегии заключается в том, чтобы улавливать рыночные тенденции, используя перекресток двух скользящих средних с различными периодами. Когда краткосрочная скользящая средняя (9-дневная EMA) пересекается выше долгосрочной скользящей средней (20-дневной EMA), это указывает на потенциальную тенденцию к росту на рынке, и стратегия генерирует сигнал покупки. Напротив, когда краткосрочная скользящая средняя пересекается ниже долгосрочной скользящей средней, это предполагает потенциальную тенденцию к снижению, и стратегия генерирует сигнал продажи.

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

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

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

  1. Простота: стратегия основана на классическом принципе скользящего среднего кроссовера, что делает ее легкой для понимания и реализации.

  2. Следование тенденциям: используя перекресток двух скользящих средних с разными периодами, стратегия может эффективно отражать основные тенденции на рынке.

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

  4. Гибкость параметров: параметры стратегии (такие как скользящие средние периоды, точки остановки потерь и т.д.) могут быть оптимизированы и скорректированы в соответствии с различными рынками и инструментами для адаптации к различным рыночным условиям.

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

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

  2. Непостоянные рынки: на нестабильных или ограниченных диапазоном рынках стратегия может генерировать больше ложных сигналов, что приводит к снижению прибыльности.

  3. Чувствительность параметров: эффективность стратегии может быть чувствительна к выбору параметров, и разные параметры могут давать значительно различные результаты.

Руководство по оптимизации

  1. Фильтрация сигналов: в дополнение к сигналам пересечения скользящей средней и ценового пересечения, в качестве условий фильтрации введите другие технические индикаторы (такие как RSI, MACD и т. д.), чтобы уменьшить ложные сигналы.

  2. Динамические параметры: динамически корректировать параметры стратегии (такие как скользящие средние периоды, точки остановки потери и т. д.) на основе таких факторов, как волатильность рынка и сила тренда, чтобы адаптироваться к различным состояниям рынка.

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

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

Резюме

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


/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=5
strategy(title = "EMAs 9 / 20",
		 shorttitle = '9/20 EMAs', 
		 initial_capital = 1000,
		 overlay = true, 
		 default_qty_type = strategy.fixed,
		 commission_type = strategy.commission.cash_per_contract,
		 commission_value = 0.35,
		 default_qty_value = 1)


int trailOffset = 10
int trailPoints = 15


series float oEma9 = ta.ema(ohlc4, 9)
series float oEma20 = ta.ema(ohlc4, 20)

series bool closeCrossoverEma9 = ta.crossover(close, oEma9)
series bool closeCrossunderEma9 = ta.crossover(close, oEma9)

series bool nineCrossover20 = ta.crossover(oEma9, oEma20)
series bool nineCrossunder20 = ta.crossunder(oEma9, oEma20)

//Entry Exits

if nineCrossover20
    strategy.entry("Long 9Cross20", strategy.long, 2)
else if closeCrossoverEma9
    strategy.entry("Long 9CrossClose", strategy.long, 2)
    strategy.exit("Long 9CrossClose Exit", from_entry = "Long 9CrossClose", trail_points = trailPoints, trail_offset = trailOffset)
else if nineCrossunder20
    strategy.close("Long 9Cross20")
    
    

if nineCrossunder20
    strategy.entry("Short 9Cross20", strategy.short, 2)
else if closeCrossunderEma9
    strategy.entry("Short 9CrossClose", strategy.short, 2)
    strategy.exit("Short 9CrossClose Exit", from_entry = "Short 9CrossClose", trail_points = trailPoints, trail_offset = trailOffset)
else if nineCrossover20
    strategy.close("Short 9Cross20")
    


Больше