Тенденция, следующая за стратегией покупки, падения и продажи пика

Автор:Чао Чжан, Дата: 2023-10-24 13:54:18
Тэги:

img

Обзор

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

Логика стратегии

Ключевыми компонентами стратегии являются:

  1. Вычислить полосы Боллинджера с верхними и нижними полосами на основе ценового закрытия и стандартного отклонения.

  2. Определить долгосрочную и краткосрочную тенденцию с использованием 300-периодного и 20-периодного SMA.

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

  4. Сгенерировать сигнал продажи, когда закрытие прерывается выше верхней полосы, в то время как длинная SMA находится ниже, а короткая SMA падает.

  5. Используйте приказы OCO для установки стоп-лосса и получения прибыли.

С помощью этой конструкции стратегия может автоматически выявлять возможности покупки и пиковой продажи вдоль основного направления тренда.

Анализ преимуществ

Преимущества этой стратегии включают:

  1. Автоматическое обнаружение тенденций без ручного суждения.

  2. Систематически отслеживать падения для возможностей покупки.

  3. Систематически определять пиковые продажи для получения прибыли.

  4. Эффективное управление рисками с использованием стоп-лосса и прибыли.

  5. Отфильтровывайте недействительные сигналы, чтобы повысить процент побед.

  6. Гибкая тенденция, следующая за корректировкой позиции.

  7. Ясная логика и легко понять и оптимизировать.

Анализ рисков

Основные риски, которые следует учитывать:

  1. Неправильный выбор ценных бумаг может помешать отслеживанию трендов.

  2. Неправильная настройка параметров может привести к переоценке или пропущенным сделкам.

  3. Обратная тенденция, вызванная внезапными событиями, может привести к большим потерям.

  4. Стойка потерь слишком плотно может привести к чрезмерным остановкам.

  5. Недостаточная ликвидность может помешать полному исполнению.

  6. Слишком большая нагрузка с недостаточным периодом обратного тестирования.

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

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

Некоторые способы оптимизации стратегии:

  1. Оптимизируйте такие параметры, как период Боллинджера, мультипликатор стандартного отклонения и периоды скользящей средней.

  2. Добавьте методы остановки потери, такие как остановка отслеживания или остановка скользящей средней, чтобы лучше контролировать риски.

  3. Включить размеры позиций на основе ключевых уровней для повышения эффективности использования капитала.

  4. Добавьте фильтр объема, чтобы избежать недействительных прорывов с низким объемом.

  5. Добавить показатель относительной силы для определения предвзятости покупки/продажи.

  6. Внедрение машинного обучения для автоматической настройки параметров и оценки стратегии.

  7. Сочетание с другими стратегиями для создания многостратегического портфеля для повышения надежности.

Эти оптимизации могут еще больше повысить эффективность и стабильность стратегии.

Резюме

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


/*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)


Больше