
Esta estratégia é um sistema de negociação quantitativa baseado em análise técnica, que utiliza principalmente a absorção de bullish como sinal de entrada e combina com o indicador de volatilidade da faixa de Brin para gerenciamento de risco e controle de posição. Após identificar a absorção de bullish, a estratégia determina o índice de risco ® baseado no intervalo de flutuação calculado pela faixa de Brin, e calcula o tamanho exato da posição com base na proporção fixa do valor total da conta ® (0,75%), e, finalmente, gerencia a negociação, definindo um objetivo de ganho de stop loss e um índice de retorno de risco fixo (4R).
A lógica central desta estratégia é dividida em três partes principais: geração de sinais, gerenciamento de posições e condições de saída.
Em primeiro lugar, a geração de sinais é baseada em um padrão de absorção de luz, que deve satisfazer as seguintes condições:
Em segundo lugar, o gerenciamento de posições é realizado através das seguintes etapas:
Por fim, as condições de saída são:
Controle de risco é preciso e dinâmico: a estratégia não usa um ponto de parada fixo, mas ajusta dinamicamente os parâmetros de risco de acordo com a volatilidade atual do mercado (computação via Brinks) para que o sistema possa se adaptar a diferentes condições de mercado.
Gerenciamento de risco de proporção fixa: apenas 0,75% da conta de risco de cada transação. É eficaz na prevenção de perdas excessivas em transações individuais e na estabilidade da gestão de fundos a longo prazo.
Cálculo de posição preciso: o tamanho da posição de cada transação é calculado com precisão com base na volatilidade da faixa de Brin e na quantidade de risco, garantindo a manutenção de uma exposição ao risco consistente em diferentes condições de mercado.
Risco-retorno definido: fixação de objetivos de lucro usando os 4Rs, garantindo que o retorno potencial de cada transação seja 4 vezes o risco potencial, de acordo com os requisitos de retorno de risco de negociação profissional.
Visualização de transações: ajuda os comerciantes a entender intuitivamente o desempenho das transações, marcando os sinais de entrada e traçando quadros de intervalos de negociação.
Risco de tempo de eficácia: O padrão de absorção de borracha é um sinal de reversão de preços de curto prazo, que pode não prever mudanças de tendência de médio e longo prazo, podendo levar a uma entrada prematura em mercados de forte tendência.
Restrições de condições de mercado: a estratégia pode não funcionar bem em mercados de alta volatilidade ou falta de liquidez, especialmente quando o BRI expande ou contrai anormalmente.
Condições de entrada limitadas: A dependência de um único modelo de absorção de espectador pode causar sinais escassos ou perder outras oportunidades de entrada válidas.
Risco de multiplicador fixo: o uso de um fator fixo de 0,4 para calcular o valor de R pode não ser suficientemente flexível em certas condições de mercado e não ser adequadamente adaptado a um ambiente de mercado extremo.
Problemas de potencial deslizamento: Em mercados de alta volatilidade, o preço de execução de stop loss pode ter um deslizamento significativo, afetando o efeito de controle de risco real.
Adicionar condições de filtragem: pode-se considerar a adição de indicadores de confirmação de tendência (como a média móvel), garantindo que apenas se negocia na direção da tendência principal, evitando a forma de absorção de pessimistas.
Análise de múltiplos prazos: introdução de análise de estrutura de mercado em prazos mais elevados, executando negociações somente quando a tendência dos prazos mais elevados é consistente, aumentando a qualidade do sinal.
Parâmetros de risco de ajuste dinâmico: define um índice de risco fixo de 0,75% e um fator de R de 0,4 como parâmetros ajustáveis, ajustando-se automaticamente de acordo com a volatilidade do mercado, aumentando o risco em mercados de baixa volatilidade e reduzindo o risco em mercados de alta volatilidade.
Otimização da estratégia de saída: pode-se considerar a adição de stop loss móvel ou condições de saída dinâmicas baseadas em indicadores, em vez de depender apenas de níveis fixos de stop loss e ganho.
Aumentar a confirmação de vários indicadores: a combinação do padrão de absorção de pessimistas com outros indicadores técnicos (como RSI, MACD ou análise de volume de transação) aumenta a confiabilidade do sinal de entrada.
O sistema de negociação de negociação de quantificação de estratégia de absorção de leitores com gerenciamento de risco de Brin é um sistema de negociação completo que combina a identificação de padrões de gráficos de curvatura tradicionais com métodos modernos de gerenciamento de risco. A estratégia ajusta os parâmetros de risco de forma dinâmica com o Brin, controla o tamanho da posição de cada transação com precisão e define um objetivo de lucro usando uma taxa de retorno de risco fixa. Esta abordagem, ao mesmo tempo em que mantém a disciplina de negociação, também oferece adaptabilidade à volatilidade do mercado.
Embora a estratégia tenha apresentado um excelente desempenho em termos de gerenciamento de riscos, ainda há espaço para otimização, especialmente em termos de qualidade dos sinais de entrada e flexibilidade da estratégia de saída. A estratégia pode melhorar ainda mais a adaptabilidade e a lucratividade em diferentes cenários de mercado, adicionando condições de filtragem adicionais, análise de múltiplos quadros temporais e ajuste de parâmetros de risco dinâmico.
Em suma, é um sistema de negociação completo com características de gerenciamento de risco profissional, adequado para os comerciantes que dão importância à gestão de fundos e controle de risco. Com otimização razoável e ajuste de parâmetros, a estratégia pode ser uma ferramenta de negociação estável a longo prazo.
/*backtest
start: 2024-02-26 00:00:00
end: 2025-02-23 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("Bullish Engulfing Strategy with BB Risk", overlay=true)
// Input parameters for customization (optional, can be adjusted in Strategy Tester)
minVolume = input.int(1000000, "Minimum Volume", minval=1) // Optional filter for liquidity
// Calculate Bollinger Bands (length=40, StdDev=2.5) for R
length = 40
mult = 2.5
basis = ta.sma(close, length) // Middle Band (40-period SMA of close)
dev = mult * ta.stdev(close, length) // Standard deviation multiplied by 2.5
upperBB = basis + dev // Upper Bollinger Band
lowerBB = basis - dev // Lower Bollinger Band
// Define R as 0.4 times the Bollinger Bands spread: R = 0.4 * ((1 - (lowerBB / upperBB)) * 100)
R = 0.4 * (1 - (lowerBB / upperBB)) // Percentage value, scaled by 0.4
// Define Bullish Engulfing pattern with optional volume filter
isBullishEngulfing() => close > open and close[1] < open[1] and close > open[1] and open < close[1] and close[1] < open[1] and close > open and volume > minVolume
bullishEngulfing = isBullishEngulfing()
// Track position and entry details
var bool inPosition = false
var float entryPrice = 0.0
var int entryBar = 0
var int exitBar = 0 // Track exit bar (added here to fix undeclared variable)
var float exitPrice = 0.0 // Track exit price
// Enter long position on the next bar after Bullish Engulfing, with position size risking 0.75% of portfolio
if (bullishEngulfing and not inPosition)
// Calculate position size to risk 0.75% of portfolio
portfolioValue = strategy.equity // Current portfolio equity
riskPerTrade = portfolioValue * 0.0075 // 0.75% of portfolio
stopLossDistance = R // R% of entry price (stop-loss distance)
entryPrice := close
positionSize = riskPerTrade / stopLossDistance / entryPrice // Position size in units (contracts/shares)
// Ensure positionSize is rounded to a practical number (e.g., whole shares)
positionSize := math.round(positionSize)
// Enter long position with calculated size
strategy.entry("Long", strategy.long, limit = entryPrice, qty=positionSize)
inPosition := true
entryBar := bar_index
// Exit logic: Stop-loss or Take-profit
if (inPosition)
// Stop-loss: Exit if price drops below entryPrice - R%
stopLossLevel = entryPrice * (1 - R)
if (low <= stopLossLevel)
strategy.close("Long")
inPosition := false
exitBar := bar_index
exitPrice := close
// Take-profit: Exit if price rises above entryPrice + 4R%
takeProfitLevel = entryPrice * (1 + 4 * R)
if (high >= takeProfitLevel)
strategy.close("Long")
inPosition := false
exitBar := bar_index
exitPrice := close
// Optional: Plot signals and R for visualization
if (bullishEngulfing)
label.new(bar_index, high, "Bullish Engulfing", yloc=yloc.abovebar, color=color.green, style=label.style_label_down, textcolor=color.white)
plot(R, title="R (BB Spread %)", color=color.blue, style=plot.style_histogram)