
Название стратегии происходит от ее использования двух индикаторов для построения торгового сигнала: ленты Брин и каналы Кейтнера. Она отслеживает, когда цена прорывает границы каналов, делает больше, когда цена прорывает нижние каналы, и делает пустоту, когда она прорывает верхние каналы.
Эта стратегия сочетает в себе два показателя: ленты Брин и каналы Кетнера. Ленты Брин - это адаптивные каналы, построенные на скользящих средних ценах акций и их стандартном разрыве.
Торговая логика стратегии заключается в том, что, когда цена закрытия ниже нижней границы пояса Булина и нижней границы каттенерского канала, принимается многоголовый поиск обратного хода; когда цена закрытия выше верхней границы пояса Булина и верхней границы каттенерского канала, принимается многоголовый поиск обратного хода. После многоголового поиска устанавливается стоп-лосс и стоп-экзит.
Эта стратегия в сочетании с Брин-полосой и каналом Кэтнера позволяет эффективно идентифицировать аномальные колебания. При этом используются два канала для установки фильтрующих условий, чтобы избежать ложных сигналов. Настройка тормозного тормоза также способствует контролю риска.
По сравнению с использованием одного канала Брин-Бенда или Кетнера, эта стратегия отфильтровывает больше шума и имеет более высокое качество сигнала. Двухканальный прорыв также позволяет вовремя улавливать возможности для перехода цены.
Основной риск этой стратегии заключается в том, что сам индикатор канала задерживается. Цена может начать переворачиваться до того, как будет задействован сигнал на границе канала. Это может привести к задержке входа в рынок или к задержке в отскоке.
Кроме того, слишком маленькая стоп-настройка также увеличивает риск быть остановленным. Если стоп-настройка слишком большая, то можно пропустить идеальную точку выхода. Это требует корректировки параметров в зависимости от рыночных условий.
Эта стратегия может оптимизировать вспомогательные фильтрующие условия, такие как введение динамических показателей. Также можно тестировать различные комбинации параметров для поиска оптимальных параметров.
Добавление адаптивных механизмов остановки убытков является еще одним направлением оптимизации. Это может помочь стратегии лучше адаптироваться к изменениям в рыночной среде.
Двухканальная прорывная стратегия объединяет преимущества показателей Брин-Бенда и Кейтнер-Торна, позволяя эффективно идентифицировать возможности для обратного обращения. При этом контролируется риск с помощью двухканальной фильтрации и параметров сдерживания убытков. Это высококачественная, управляемая риском, количественная стратегия торговли.
/*backtest
start: 2023-01-31 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Estratégia de Compra/Venda BB e KC", overlay=true)
// Parâmetros das Bandas de Bollinger
bollinger_length = input(20, title="Comprimento das Bandas de Bollinger", minval=1)
bollinger_deviation = input(2.0, title="Desvio Padrão das Bandas de Bollinger", minval=0.1)
// Parâmetros dos Canais de Keltner
keltner_length = input(20, title="Comprimento dos Canais de Keltner", minval=1)
atr_multiplier = input(1.5, title="Multiplicador ATR dos Canais de Keltner", minval=0.1)
// Take Profit e Stop Loss em termos financeiros
take_profit = input(10.0, title="Take Profit (em $)", step=1)
stop_loss = input(20.0, title="Stop Loss (em $)", step=1)
// Cálculos das Bandas de Bollinger
basis_bb = sma(close, bollinger_length)
dev_bb = sma(stdev(close, bollinger_length), bollinger_length)
upper_bb = basis_bb + dev_bb * bollinger_deviation
lower_bb = basis_bb - dev_bb * bollinger_deviation
// Cálculos dos Canais de Keltner
basis_kc = sma(close, keltner_length)
atr_kc = sma(atr(keltner_length), keltner_length)
upper_kc = basis_kc + atr_multiplier * atr_kc
lower_kc = basis_kc - atr_multiplier * atr_kc
// Condição de Compra
buy_condition = close < lower_bb and close < lower_kc
// Condição de Venda
sell_condition = close > upper_bb and close > upper_kc
// Estratégia de Compra/Venda com TP e SL
if (buy_condition)
strategy.entry("Compra", strategy.long)
strategy.exit("Take Profit/Stop Loss", from_entry="Compra", profit=take_profit, loss=stop_loss)
if (sell_condition)
strategy.entry("Venda", strategy.short)
strategy.exit("Take Profit/Stop Loss", from_entry="Venda", profit=take_profit, loss=stop_loss)
// Plot das Bandas de Bollinger e dos Canais de Keltner
plot(upper_bb, color=color.rgb(47, 33, 243), title="Banda Superior de Bollinger")
plot(lower_bb, color=color.rgb(89, 33, 243), title="Banda Inferior de Bollinger")
plot(upper_kc, color=color.rgb(200, 255, 0), title="Canal Superior de Keltner")
plot(lower_kc, color=color.rgb(225, 255, 0), title="Canal Inferior de Keltner")