Стратегия обратных полос Боллинджера - это стратегия торговли на форексе, основанная на полосах Боллинджера. Она лучше всего работает на парах JPY. Когда цена проходит через верхний или нижний предел полос Боллинджера, она выполняет обратную операцию с целевой ценой, установленной на высшей или низкой точке из последних 10 свечей.
Стратегия строит верхние и нижние рельсы на основе 20-дневной простой скользящей средней и ее стандартного отклонения в 2 раза. Когда цена закрытия текущей свечи проходит через нижнюю рельсу, идите в длинный; когда она проходит через верхнюю рельсу, идите в короткий. Стоп-лосс цена устанавливается на самую низкую цену из последних 10 свечей, а цена получения прибыли устанавливается на самую высокую цену из последних 10 свечей.
В частности, если цена открытия предыдущей свечи ниже нижней рельсы, а цена закрытия текущей свечи также ниже нижней рельсы, то зайдите в длинный курс. Стоп-лосс устанавливается на самую низкую цену из последних 10 свечей, а цена получения прибыли устанавливается на самую высокую цену из последних 10 свечей.
Напротив, если цена открытия предыдущей свечи выше, чем верхняя рельса, и цена закрытия текущей свечи также выше, чем верхняя рельса, то перейдите на короткий. Стоп-лосс устанавливается на самую высокую цену из последних 10 свечей, а цена получения прибыли устанавливается на самую низкую цену из последних 10 свечей.
Эта стратегия имеет характеристики реверсионной торговли. Когда цена проходит через полосы Боллинджера, это указывает на то, что происходит изменение тренда, поэтому проводится обратная операция.
Кроме того, эта стратегия имеет несколько параметров и проста в реализации и понятна.
Наибольший риск этой стратегии заключается в том, что она не может эффективно определить точку перелома тренда. После того, как цена прорвется через верхние и нижние пределы полос Боллинджера, первоначальная тенденция может продолжиться. Если в это время будет принято обратное рыночное формирование, это, вероятно, вызовет убытки.
Кроме того, настройки стоп-лосса и прибыли для недавних максимумов и минимумов также несут в себе риски. Если на рынке происходит V-образное изменение, стоп-лосс может быть непосредственно нарушен. Настройка прибыли также может не предсказывать точно и не в полной мере пользоваться прибылью от изменения рынка.
Чтобы контролировать риски, можно установить разумный стоп-лосс для уменьшения потерь на одну сделку.
Стратегия может быть оптимизирована в следующих аспектах:
Увеличить условия фильтрации, чтобы избежать ошибочных сигналов.
Оптимизировать параметры. Испытать влияние различных параметров на результаты, чтобы найти оптимальную комбинацию параметров.
Проверка сигналов покупки и продажи с другими индикаторами, такими как RSI и другими осцилляторами для подтверждения надежности сигнала.
Используйте машинное обучение и другие методы для динамической оптимизации стоп-лосса и получения прибыли, чтобы сделать стратегию более адаптивной.
Стратегия обратных полос Боллинджера является простой и практичной краткосрочной торговой стратегией в целом. Она имеет обратимые операции и контролируемые риски, подходящие для внутридневной торговли. Но параметры и условия фильтрации нуждаются в дальнейшей оптимизации, чтобы уменьшить ложные сигналы и повысить эффективность. В сочетании с другими техническими индикаторами и динамическими стоп-лосс и прибыль, производительность этой стратегии все еще имеет большое пространство для улучшения.
/*backtest start: 2023-11-01 00:00:00 end: 2023-11-03 18:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Initial settings strategy("Bulle de bollinger", overlay = true) // Parameter Settings mdl = sma(close, 20) dev = stdev(close, 20) upr = mdl + 2*dev lwr = mdl - 2*dev // Plot plot(mdl, color = color.green) // Plot moving average p1 = plot(upr, color = color.red) // Plot Upper_band p2 = plot(lwr, color = color.green) // Plot lower band fill(p1, p2, color = color.blue) // Fill transparant color between the 2 plots // Strategy entry & close if open[1] < lwr[1] and close[1] < lwr[1] // Previous price lower than lower band and current close is higher than lower band stop_level = lowest(10) profit_level = highest(10) strategy.entry(id = 'bb_buy', long = true) strategy.exit("TP/SL", "bb_buy", stop=stop_level, limit=profit_level) if open[1] > upr[1] and close[1] > upr // Previous price is higher than higher band & current close is lower the higher band stop_level = highest(10) profit_level = lowest(10) strategy.entry(id = 'bb_sell', long = false) strategy.exit("TP/SL", "bb_sell", stop=stop_level, limit=profit_level)