Стратегия прорыва на основе полос Боллинджера


Дата создания: 2023-11-13 10:19:43 Последнее изменение: 2023-11-13 10:19:43
Копировать: 2 Количество просмотров: 626
1
Подписаться
1617
Подписчики

Стратегия прорыва на основе полос Боллинджера

Обзор

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

Стратегический принцип

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

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

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

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

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

Эта стратегия имеет следующие преимущества:

  1. Этот технический индикатор простой и эффективный для определения направления и прорыва тренда с использованием индикатора Брин-Бенда.

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

  3. Применение стоп-лосса для контроля риска и блокировки прибыли.

  4. При использовании метода набора запасов, можно получить более высокую прибыль в условиях тренда.

  5. Логика стратегии ясна и понятна, параметры просты и легко реализованы.

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

Также существуют следующие риски:

  1. Прорыв по Бринской полосе не может полностью предотвратить ложный прорыв, но существует определенный риск потерь.

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

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

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

  5. Недостаточная оптимизация параметров может привести к неэффективности стратегии.

  6. Существует риск пересоединения, который необходимо проверить на разных рынках.

Направление оптимизации

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Тестирование и оптимизация параметров по Бринговой полосе для поиска наиболее подходящих комбинаций.

  2. Проверьте различные стратегии по уменьшению убытков, чтобы установить более точную точку убытков.

  3. Проверка количества и пропорции закладки для определения оптимальных параметров.

  4. Повышение показателей по оценке трендов, чтобы избежать негативного роста.

  5. Оптимизация логики суждения о прорыве, снижение вероятности ложного прорыва.

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

  7. Проверка в большем количестве разных сортов и временных периодов повышает стабильность.

  8. Автоматическая оптимизация параметров с использованием методов машинного обучения.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2023-11-05 00:00:00
end: 2023-11-12 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's Bollinger Strategy v1.1", shorttitle = "Bollinger str 1.1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")

length = input(20, defval = 20, minval = 1, maxval = 1000, title = "Bollinger Length")
mult = input(2.0, minval = 0.001, maxval = 50, title = "Bollinger Mult")
source = input(ohlc4, defval = ohlc4, title = "Bollinger Source")

showbands = input(true, defval = true, title = "Show Bollinger Bands")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Bollinger Bands
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev

//Lines
col = showbands ? black : na 
plot(upper, linewidth = 1, color = col)
plot(basis, linewidth = 1, color = col)
plot(lower, linewidth = 1, color = col)

//Body
body = abs(close - open)
abody = ema(body, 30)

//Signals
up = close <= lower
dn = close >= upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open) and body > abody / 2

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
    
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
    strategy.close_all()