Стратегия перекрестки двойных скользящих средних - EMA9/20 - это количественная стратегия торговли, основанная на перекрестке двух экспоненциальных скользящих средних (EMA). Эта стратегия использует 9-дневную EMA и 20-дневную EMA в качестве торговых сигналов, генерируя сигналы покупки или продажи, когда две скользящие средние пересекаются. Кроме того, стратегия использует перекресток между ценой и 9-дневной EMA в качестве вспомогательного сигнала, а также остановку для управления торговым риском.
Основной принцип этой стратегии заключается в том, чтобы улавливать рыночные тенденции, используя перекресток двух скользящих средних с различными периодами. Когда краткосрочная скользящая средняя (9-дневная EMA) пересекается выше долгосрочной скользящей средней (20-дневной EMA), это указывает на потенциальную тенденцию к росту на рынке, и стратегия генерирует сигнал покупки. Напротив, когда краткосрочная скользящая средняя пересекается ниже долгосрочной скользящей средней, это предполагает потенциальную тенденцию к снижению, и стратегия генерирует сигнал продажи.
В дополнение к сигналам пересечения скользящей средней, стратегия также включает пересечение между ценой и краткосрочной скользящей средней (9-дневной EMA) в качестве вспомогательного сигнала. Когда цена пересекает 9-дневную EMA, она также генерирует сигнал покупки, а когда цена пересекает 9-дневную EMA, она генерирует сигнал продажи. Это позволяет более своевременно улавливать изменения рыночных тенденций.
Чтобы контролировать риск, стратегия использует механизм последнего остановки. Как только торговля входит в прибыльное состояние, последнее остановка постоянно корректирует позицию стоп-лосса в соответствии с движением цен, пока цена не нарушит уровень стоп-лосса в противоположном направлении, тем самым блокируя прибыль, ограничивая потенциальные потери.
Простота: стратегия основана на классическом принципе скользящего среднего кроссовера, что делает ее легкой для понимания и реализации.
Следование тенденциям: используя перекресток двух скользящих средних с разными периодами, стратегия может эффективно отражать основные тенденции на рынке.
Своевременный стоп-лосс: введение механизма последнего стопа позволяет своевременно закрывать позиции при изменении тренда, контролируя риск снижения.
Гибкость параметров: параметры стратегии (такие как скользящие средние периоды, точки остановки потерь и т.д.) могут быть оптимизированы и скорректированы в соответствии с различными рынками и инструментами для адаптации к различным рыночным условиям.
Частая торговля: поскольку стратегия использует как скользящие средние, так и ценовые перекрестные сигналы, она может привести к более высокой частоте торговли, что увеличивает затраты на торговлю.
Непостоянные рынки: на нестабильных или ограниченных диапазоном рынках стратегия может генерировать больше ложных сигналов, что приводит к снижению прибыльности.
Чувствительность параметров: эффективность стратегии может быть чувствительна к выбору параметров, и разные параметры могут давать значительно различные результаты.
Фильтрация сигналов: в дополнение к сигналам пересечения скользящей средней и ценового пересечения, в качестве условий фильтрации введите другие технические индикаторы (такие как RSI, MACD и т. д.), чтобы уменьшить ложные сигналы.
Динамические параметры: динамически корректировать параметры стратегии (такие как скользящие средние периоды, точки остановки потери и т. д.) на основе таких факторов, как волатильность рынка и сила тренда, чтобы адаптироваться к различным состояниям рынка.
Размер позиций: динамически корректировать размеры позиций на основе тенденций рынка и силы сигнала, увеличивая размер позиции при высокой силе тренда и уменьшая размер позиции при неясных тенденциях или слабых сигналах.
Многоинструментальная адаптация: расширение стратегии на несколько инструментов и рынков и посредством диверсификации и анализа корреляции снижение общего риска и улучшение стабильности доходности.
Стратегия двойного пересечения скользящих средних - 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")