Эта стратегия реализует автоматизированный тренд после торговли, рассчитывая полосы Боллинджера для выявления падений и пиков и используя долгосрочные и краткосрочные скользящие средние для определения общего направления тренда.
Ключевыми компонентами стратегии являются:
Вычислить полосы Боллинджера с верхними и нижними полосами на основе ценового закрытия и стандартного отклонения.
Определить долгосрочную и краткосрочную тенденцию с использованием 300-периодного и 20-периодного SMA.
Сгенерировать сигнал покупки, когда закрытие прерывается ниже нижней полосы, в то время как длинная SMA находится выше, а короткая SMA появляется.
Сгенерировать сигнал продажи, когда закрытие прерывается выше верхней полосы, в то время как длинная SMA находится ниже, а короткая SMA падает.
Используйте приказы OCO для установки стоп-лосса и получения прибыли.
С помощью этой конструкции стратегия может автоматически выявлять возможности покупки и пиковой продажи вдоль основного направления тренда.
Преимущества этой стратегии включают:
Автоматическое обнаружение тенденций без ручного суждения.
Систематически отслеживать падения для возможностей покупки.
Систематически определять пиковые продажи для получения прибыли.
Эффективное управление рисками с использованием стоп-лосса и прибыли.
Отфильтровывайте недействительные сигналы, чтобы повысить процент побед.
Гибкая тенденция, следующая за корректировкой позиции.
Ясная логика и легко понять и оптимизировать.
Основные риски, которые следует учитывать:
Неправильный выбор ценных бумаг может помешать отслеживанию трендов.
Неправильная настройка параметров может привести к переоценке или пропущенным сделкам.
Обратная тенденция, вызванная внезапными событиями, может привести к большим потерям.
Стойка потерь слишком плотно может привести к чрезмерным остановкам.
Недостаточная ликвидность может помешать полному исполнению.
Слишком большая нагрузка с недостаточным периодом обратного тестирования.
Решения включают: выбор ликвидных акций с ясными тенденциями; оптимизация параметров; следить за новостями; расслабление стоп-лосса; оценка реального объема торговли; расширение периода обратного теста.
Некоторые способы оптимизации стратегии:
Оптимизируйте такие параметры, как период Боллинджера, мультипликатор стандартного отклонения и периоды скользящей средней.
Добавьте методы остановки потери, такие как остановка отслеживания или остановка скользящей средней, чтобы лучше контролировать риски.
Включить размеры позиций на основе ключевых уровней для повышения эффективности использования капитала.
Добавьте фильтр объема, чтобы избежать недействительных прорывов с низким объемом.
Добавить показатель относительной силы для определения предвзятости покупки/продажи.
Внедрение машинного обучения для автоматической настройки параметров и оценки стратегии.
Сочетание с другими стратегиями для создания многостратегического портфеля для повышения надежности.
Эти оптимизации могут еще больше повысить эффективность и стабильность стратегии.
Стратегия предлагает четкий и понятный подход к систематическому покупке падений и продаже пиков вдоль тренда. При надлежащем контроле рисков она имеет хороший потенциал прибыли. Дальнейшие улучшения могут быть сделаны с помощью настройки параметров, модификации стоп-лосса, размещения позиций и т. Д. Стратегия служит прочной основой для автоматизированного тренда после торговли.
/*backtest start: 2023-09-23 00:00:00 end: 2023-10-23 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Buy Dip Sell Rip Strategy", overlay=true) source = close length = input(15, minval=1) mult = input(1.25, minval=0.001, maxval=50) longMAPeriod = input(300, minval=5) shortMAPeriod = input(20, minval=5) basis = sma(source, length) longMA = sma(source, longMAPeriod) prevLongMA = sma(close[1],longMAPeriod) shortMA = sma(source, shortMAPeriod) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev buyEntry = crossover(source, lower) sellEntry = crossunder(source, upper) if (source > lower and source[1] < lower) if (longMA < source and shortMA>source) strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE") else strategy.close("BBandSE") else strategy.cancel(id="BBandLE") if (source > upper and source[1] < upper) if (longMA > source and shortMA < source) strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE") else strategy.close("BBandLE") else strategy.cancel(id="BBandSE") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)