Эта стратегия сочетает в себе индикаторы скользящей средней и импульса, относящиеся к следующим тенденциям стратегиям. Она оценивает направление тренда рынка, рассчитывая скользящую среднюю за определенный период. Когда цена проходит через скользящую среднюю, считается, что тенденция изменилась, и торговля может быть проведена. В то же время она вводит количество последовательных дней вверх или вниз в течение определенного периода в качестве сигнала подтверждения, чтобы избежать обмана ложными прорывами.
Эта стратегия основывается главным образом на двух показателях:
Простая скользящая средняя (SMA): рассчитывает среднюю цену закрытия за определенный период для определения общего направления тренда.
Последовательные дни подъема/снижения: считает количество дней, в течение которых цена находилась в постоянном восходящем или нисходящем тренде в качестве подтверждающего сигнала для изменения тренда.
В частности, стратегия сначала рассчитывает 520-дневную SMA, представляющую собой общее направление тренда. Если цена растет и проходит через SMA, она начинает считать количество дней роста; если цена падает и проходит через SMA, она начинает считать количество дней падения. Когда количество дней подъема или падения достигает 27 дней, производится соответствующая направленная торговля.
Например, если цена поднимается и прорывается через SMA, и продолжает расти в течение 27 дней, делается длинная торговля; если цена падает и прорывается через SMA, и продолжает падать в течение 27 дней, делается короткая торговля.
Эта стратегия сочетает в себе скользящие средние и индикаторы импульса для эффективного отслеживания тенденций, избегая при этом краткосрочных помех от шума на рынке.
Использование длительных SMA для оценки основного тренда может эффективно отфильтровать краткосрочные колебания и шум.
Увеличение числа подтверждающих сигналов с последовательными днями подъема и падения позволяет избежать обмана краткосрочными ложными прорывами и уменьшить ненужную торговлю.
Торговля только тогда, когда тренд переворачивается, может максимально уловить направление и импульс тренда.
Правила ясны и просты в применении, не требуется сложной оптимизации параметров, подходит для обычных инвесторов.
Эта стратегия также сопряжена с некоторыми рисками:
Он может упустить возможности для раннего входа в долгосрочные тенденции бычьего рынка.
Он склонен к обману частого ложного прорыва на рынках с ограниченным диапазоном, что приводит к чрезмерной недействительной торговле.
Если параметры SMA установлены неправильно, стратегия может медленно реагировать на изменения тренда.
Если параметры перфузии установлены неправильно, торговые сигналы могут быть слишком частыми или слишком редкими.
Стратегия может быть дополнительно оптимизирована в следующих аспектах:
Добавить SMA нескольких временных рамок для проверки с несколькими циклами, чтобы избежать ограничений одного цикла.
Добавьте другие индикаторы тренда, такие как MACD, для полного суждения, чтобы улучшить точность.
Оптимизируйте параметры перфузии, чтобы найти баланс, избегая слишком частых или слишком редких торговых сигналов.
Добавьте стратегии стоп-лосса для контроля одиночных потерь.
Включать показатели объема для предотвращения рисков дивергенции объема.
В целом, эта стратегия является простой и практичной стратегией тренда. Она оценивает основную тенденцию с длительным периодом SMA и использует перфузию для подтверждения сигналов обратного тренда, которые могут эффективно отслеживать тенденции, избегая шума обмана. При некоторой оптимизации она может стать надежной стратегией тренда. Но все же необходимо знать о ограничениях в определенных рыночных условиях. В целом, эта стратегия подходит для инвесторов с некоторым опытом торговли, чтобы использовать ее в рамках стратегии портфеля.
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-18 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ strategy(title="Mbit Moving Average",overlay=true) length = input(520) confirmBars = input(27) price = close ma = ta.sma(price, length) bcond = price > ma bcount = bcond ? nz(bcount[1]) + 1 : 0 scond = price < ma scount = scond ? nz(scount[1]) + 1 : 0 long = scount == confirmBars short = bcount == confirmBars //Strategy strategy.entry("long", strategy.long, when=long) strategy.entry("short",strategy.short, when=short)