
Esta estratégia baseia-se no indicador de Brin, combinado com o indicador de momentum, para uma estratégia de negociação de portfólio que permite um retorno de Brin e uma ruptura de momentum. Faça um aumento quando o preço quebra a linha média abaixo do Brin, faça uma folga quando o preço quebra a linha média acima do Brin e acompanhe o stop-loss para equilibrar a posição após atingir o objetivo de perda e ganho.
Esta estratégia usa o sma da linha central da faixa de Bryn como indicador de linha média, passando a largura de banda pelo parâmetro mult*Stdev ajuste dinâmico. Quando o preço quebra a linha média abaixo, indica que o preço obteve a quantidade de ação para cima, e fez mais. Quando o preço quebra a linha média acima, indica que o preço obteve a quantidade de ação para baixo, e fez vazio.
Especificamente, o cálculo da faixa de Brin é feito por meio de dois parâmetros, length e mult. O comprimento determina o período da linha média, o mult determina o tamanho da largura de banda. EnterLong e enterShort determinam o momento da ruptura, e exitLong e exitShort calculam o preço de parada de perda com base no preço de entrada e na proporção de stop loss do objetivo.
Esta estratégia combina a regressão da linha média e o indicador de momentum, permitindo capturar a maior quantidade de movimentos durante a fase inicial da tendência. Em comparação com a linha média simples de seguimento, o julgamento de momentum baseado na largura de banda de Brin é aumentado, permitindo filtrar algumas falsas rupturas. A configuração de stop loss é baseada diretamente no cálculo do preço de entrada, sem a necessidade de intervenção manual.
Pode ser otimizado por meio de ajustes no ciclo de linha central de Brin, no parâmetro de largura de banda e no intervalo de parada, para que a estratégia seja mais adaptada a diferentes condições de mercado.
Esta estratégia integra os benefícios da regressão de correia de Brin e do indicador de dinâmica, pode capturar parte da tendência quando a tendência começa, pode se adaptar a diferentes fases do mercado através do ajuste de parâmetros, é um sistema de ruptura mais geral. A configuração de stop loss pode reduzir a intervenção manual diretamente do cálculo do preço.
/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("BURATINO", overlay=true)
// Входные параметры
length = input(20, minval=1, title="Length")
mult = input(2.0, minval=0.1, maxval=5, title="Multiplier")
target_percent = input(0.5, minval=0.1, title="Target Percent")
stop_loss_percent = input(95, minval=0.1, title="Stop Loss Percent")
// Расчет полос Боллинджера
basis = sma(close, length)
dev = mult * stdev(close, length)
upper = basis + dev
lower = basis - dev
// Переворот снизу вверх через среднюю линию Боллинджера для открытия лонга
enterLong = cross(close, basis) and close[1] < basis[1]
// Переворот сверху вниз через среднюю линию Боллинджера для открытия шорта
enterShort = cross(basis, close) and close[1] > basis[1]
// Закрытие лонга после роста цены на указанный процент или падения на указанный процент
exitLong = close >= strategy.position_avg_price * (1 + (target_percent / 100)) or close <= strategy.position_avg_price * (1 - (stop_loss_percent / 100))
// Закрытие шорта после падения цены на указанный процент или роста на указанный процент
exitShort = close <= strategy.position_avg_price * (1 - (target_percent / 100)) or close >= strategy.position_avg_price * (1 + (stop_loss_percent / 100))
// Управление позициями и ограничениями на открытие противоположных позиций
strategy.entry("Long", strategy.long, when = enterLong and strategy.position_size == 0)
strategy.entry("Short", strategy.short, when = enterShort and strategy.position_size == 0)
strategy.close("Long", when = exitLong)
strategy.close("Short", when = exitShort)
// Визуализация полос Боллинджера
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.red, title="Upper")
plot(lower, color=color.green, title="Lower")