Стратегия перекрестка скользящей средней полосы Боллинджера

Автор:Чао Чжан, Дата: 2024-01-30 16:37:47
Тэги:

img

Обзор

Это торговая стратегия, основанная на перекрестном взаимодействии полос Боллинджера и скользящих средних для принятия решений о покупке и продаже. Она в основном использует индикатор полос Боллинджера на 5-минутном временном диапазоне для определения диапазона колебаний цен, в сочетании с скользящими средними для определения направления тренда, и формирует торговую стратегию в соответствии с перекрестными ситуациями верхней полосы, нижней полосы и средней полосы полос Боллинджера. Эта стратегия подходит для валютной пары AUD / NZD.

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

  1. Используйте индикатор полос Боллинджера для определения верхних и нижних пределов цен. Средняя полоса полос Боллинджера представляет собой простую скользящую среднюю за 20 периодов, верхняя полоса - средняя полоса плюс два стандартных отклонения, а нижняя полоса - средняя полоса минус два стандартных отклонения.

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

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

  4. Когда цена закрытия проходит через верхнюю полосу вниз, это означает, что цена начинает падать, так что мы делаем короткий вход здесь.

  5. Когда цена закрытия прорывается через средний диапазон полос Боллинджера, это означает, что цена упала ниже среднего диапазона, так что мы выходим из позиции здесь, чтобы закончить этот раунд торговли.

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

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

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

  3. Составьте торговые сигналы на основе 5-минутного временного интервала, который может улавливать краткосрочные тенденции без слишком частого торговли, чтобы увеличить затраты на транзакции.

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

  1. Риск слишком быстрого сближения полос Боллинджера. Когда рыночные цены сильно колеблются, верхние и нижние полосы полос Боллинджера сближаются слишком быстро, что может легко сформировать ложные разрывы и дать неправильные сигналы. Нам нужно скорректировать параметры или приостановить торговлю в этот момент.

  2. Риск стоп-лосса. Строп-лосс, который слишком мал, может быть легко преодолен, в то время как стоп-лосс, который слишком большой, может привести к огромным потерям.

  3. Высокий риск затрат на транзакции. Если частота торговли слишком высока, затраты на транзакции также значительно возрастут. Нам нужно правильно корректировать параметры, чтобы уменьшить частоту торговли.

Оптимизация

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

  2. Добавьте другие индикаторы, чтобы отфильтровать ложные сигналы.

  3. Оптимизировать стратегию стоп-лосса. Мы можем установить более точную стоп-лосс, отслеживая изменения цен в режиме реального времени. Другие стратегии, такие как линия акций, также могут быть использованы.

Заключение

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


/*backtest
start: 2023-12-30 00:00:00
end: 2024-01-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © theTradeAI

strategy('TradeAI - 5min AUDNZD Strategy', overlay=true)

//////////////////////////////
//////// STOP ORDERS DETECTING
//////////////////////////////

length = input(1)

h = ta.highest(high, length)
l = ta.lowest(low, length)

//////////////////////////////
//////// EMAS
//////////////////////////////

emaLenght = input.int(200)

ema200 = ta.ema(close,emaLenght)

//////////////////////////////
//////// BOLLINGER BANDS
//////////////////////////////

length1 = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")

ma(source, length1, _type) => 
    switch _type
        "SMA" => ta.sma(source, length1)
        "EMA" => ta.ema(source, length1)
        "SMMA (RMA)" => ta.rma(source, length1)
        "WMA" => ta.wma(source, length1)
        "VWMA" => ta.vwma(source, length1)

basis = ma(src, length1, maType)
dev = mult * ta.stdev(src, length1)
upperr = basis + dev
lowerr = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)


//////////////////////////////
//////// ENTRY & EXIT
//////////////////////////////

// Buy entry
if ta.crossover(lowerr, close)
    strategy.entry('long', strategy.long, stop=h)

// Buy entry CANCEL
if close > lowerr
    strategy.cancel('long')

// Buy exit
if close > basis
    strategy.close('long')

// Sell entry
if ta.crossunder(upperr, close)
    strategy.entry('short', strategy.short, stop=l)

// Sell entry CANCEL
if close < upperr
    strategy.cancel('short')

// Sell exit
if close < basis
    strategy.close('short')



Больше