
A estratégia de retorno do valor médio da faixa de Heiken Achibrin é um sistema de negociação quantitativa que combina vários indicadores técnicos para capturar oportunidades de retorno do valor médio do mercado, seguindo a direção da tendência geral em períodos de tempo mais altos. A estratégia usa principalmente a técnica de gráficos Heikin-Ashi para suavizar o movimento dos preços, identificando áreas de sobrevenda em combinação com as faixas de Bollinger Bands e confirmando a tendência geral do mercado através do cruzamento da EMA da média móvel do índice da faixa de Heiken Achibrin.
A estratégia baseia-se nos seguintes componentes tecnológicos:
Calculação de Haiken Achilles: através de um método de cálculo especial (((preço de abertura + preço máximo + preço mínimo + preço de fechamento) / 4) criar uma movimentação de preços suave, reduzir o ruído do mercado e mostrar a direção da tendência com mais clareza.
Aplicações de BrinAplicação de bandas de Boolean ao preço de Heiken Ashe, criando áreas de suporte e resistência dinâmicas. Os parâmetros de bandas de Boolean são considerados como sendo 20 ciclos de comprimento e 2 vezes a diferença padrão, podendo ser ajustados de acordo com as características do mercado.
Confirmação da tendência da EMA de zona altaA estratégia usa um cruzamento de EMAs rápidas (de 9 ciclos) e lentas (de 21 ciclos) de um fuso horário alto (de 180 minutos padrão) para determinar a tendência geral do mercado. Quando a EMA rápida está acima da EMA lenta, a tendência ascendente é confirmada; ao contrário, a tendência descendente é confirmada.
Mecanismo de geração de sinais:
Quadro de gestão de riscos:
Essa estratégia é essencialmente uma estratégia de “retorno médio + seguimento da tendência” que procura oportunidades de retorno após o desvio de preços no curto prazo, garantindo que essas negociações estejam alinhadas com a direção da tendência geral em períodos de tempo mais elevados, aumentando assim a taxa de sucesso.
Mecanismo de confirmação múltiplaA estratégia integra várias ferramentas de análise técnica (Hickenlooper, Brinbelt, EMA cross), formando um rigoroso sistema de confirmação múltipla, reduzindo os falsos sinais e aumentando a precisão de entrada.
Desenho de transações em andamentoA EMA de zona alta permite a confirmação da tendência do mercado global, assegurando que todas as negociações sejam orientadas para a tendência dominante, evitando o alto risco de negociação contracorrente.
Aplicação do princípio de regressão de valor médioA estratégia utiliza a característica de regresso do valor médio do mercado, procurando oportunidades de retorno após o desvio de curto prazo do preço (tocando a faixa de Brin), uma teoria de negociação estatisticamente comprovada.
Preço de suavização do ruídoA tecnologia de Heiken Achart reduz efetivamente o ruído do mercado, tornando a direção da tendência e os potenciais pontos de reversão mais visíveis, reduzindo o erro de negociação causado pelo ruído do mercado.
Gestão de riscos sistemáticaA estratégia inclui um quadro completo de gestão de risco, incluindo definição de stop loss, estratégias de lucro parcial e mecanismo de rastreamento de stop loss, o que garante que o risco de uma única transação esteja sob controle, permitindo que os lucros continuem a crescer.
Altamente adaptávelEmbora a estratégia tenha parâmetros padrão, os parâmetros-chave (como o ciclo EMA, o comprimento da faixa de Bryn e o desvio padrão, a escolha do fuso horário de alta) podem ser ajustados de acordo com diferentes condições de mercado e variedades de negociação, oferecendo uma boa adaptabilidade.
Comentários visuais clarosA estratégia fornece sinais visuais claros (marcações triangulares e mudanças de cor de fundo), permitindo que os comerciantes identifiquem facilmente os pontos de entrada, aumentando a disponibilidade da estratégia.
Regresso ao valor médio e risco de falhaEm mercados de forte tendência, os preços podem se afastar continuamente da média e não retornar, resultando em negociações perdedoras consecutivas. Este risco é especialmente evidente quando a estrutura do mercado muda radicalmente (como eventos de notícias importantes).
Sensibilidade do parâmetroO desempenho da estratégia é sensível ao ciclo EMA, ao parâmetro da faixa de Bryn e à seleção do fuso horário. A configuração inadequada dos parâmetros pode levar a excesso de falsos sinais ou a perda de oportunidades de negociação importantes.
Ponto de deslizamento e risco de execuçãoA estratégia usa o máximo/mínimo da barra anterior como ponto de parada, e em mercados com muita volatilidade, pode haver problemas graves de deslizamento.
O modelo histórico continua a funcionar.A estratégia assume que os padrões de preços historicamente válidos permanecerão válidos no futuro, mas as condições de mercado podem mudar.
Risco de excesso de negociaçãoEm mercados com alta volatilidade, mas sem direção clara, a estratégia pode gerar excesso de sinais, resultando em negociações frequentes e erosão de comissões.
Dependência do mercado únicoA estratégia pode funcionar bem em determinadas condições de mercado, mas não em outras.
Ajustes de parâmetros de adaptaçãoA estratégia atual usa um ciclo de EMA fixo e parâmetros de Bollinger Bands, e pode introduzir mecanismos de ajustes automáticos baseados na volatilidade do mercado. Por exemplo, a banda de Bollinger pode ser estreita em períodos de baixa volatilidade (reduzindo a diferença padrão) e a banda de Bollinger pode ser ampliada em períodos de alta volatilidade. Esta otimização permitirá que a estratégia se adapte melhor a diferentes condições de mercado.
Adicionado filtro de força de tendênciaPode ser adicionado o ADX (Average Directional Index) ou um indicador semelhante para medir a força da tendência e só negociar quando a força da tendência atingir um determinado limite. Isso reduz os falsos sinais em mercados de tendência fraca ou de turbulência.
Melhorar a estratégia de stop lossO stop-loss fixo atual pode ser substituído por um stop-loss dinâmico baseado no ATR, o que melhor reflete a volatilidade real do mercado. Além disso, pode ser implementado um stop-loss inteligente baseado na estrutura de preços, como o ponto de suporte/resistência mais recente.
Aumentar o filtro de tempo de transaçãoAdicionar filtros de tempo de negociação, evitando períodos de mercado de baixa liquidez ou alta volatilidade (como períodos de abertura e fechamento do mercado), o que reduzirá o mau negócio causado por variações anormais no mercado.
Coordenação de quadros de tempo múltiplosAlém da confirmação de tendências do EMA do fuso horário de altas frequências atualmente em uso, pode-se adicionar a confirmação de mais quadros horários, formando um sistema de coordenação de quadros horários múltiplos e melhorando ainda mais a qualidade de entrada.
Aumentar o volume de transaçõesA combinação de dados de volume de transação para confirmar a eficácia da ação de preços, especialmente durante a ruptura e retrospectiva da faixa de Brin, pode reduzir o risco de falsas rupturas.
Otimização de aprendizagem de máquinaUtilização de técnicas de aprendizagem de máquina para otimizar a seleção de parâmetros e a geração de sinais, ajustando automaticamente o comportamento da estratégia de acordo com as diferentes condições do mercado, permitindo um nível mais elevado de adaptabilidade.
Integração do gatilho básicoPara os mercados mais afetados pela base, pode ser considerado a integração de um desencadeador de dados fundamentais para ajustar ou suspender automaticamente as negociações antes da divulgação de dados econômicos importantes, evitando riscos de alta volatilidade imprevisíveis.
A estratégia de retorno do valor médio da faixa de Ashburn é um sistema de negociação quantitativa bem estruturado, que combina habilmente as duas ideias de negociação de seguimento de tendências e de retorno do valor médio. Através da suavização do gráfico de Ashburn, da definição da volatilidade da faixa de Ashburn e da confirmação de tendências da EMA da zona alta, a estratégia é capaz de identificar oportunidades de entrada de alta probabilidade, reduzindo ao mesmo tempo o ruído do mercado.
A principal vantagem da estratégia reside no seu mecanismo de confirmação em vários níveis e no seu quadro completo de gestão de risco, o que lhe permite controlar o risco de forma eficaz, mantendo uma alta taxa de ganho. Em particular, a sua concepção parcial de lucro e de rastreamento de perdas, protege os lucros já realizados e permite que as posições lucrativas continuem a crescer, refletindo os princípios da psicologia de negociação.
No entanto, a estratégia também enfrenta riscos como falha de regressão de média, sensibilidade de parâmetros e mudanças nas condições de mercado. A robustez e adaptabilidade da estratégia podem ser aumentadas ainda mais com a implementação de medidas de otimização, como ajustes de parâmetros de adaptação, o aumento de filtros de intensidade de tendência e a melhoria da estratégia de stop loss.
Em última análise, a aplicação bem sucedida desta estratégia requer que os comerciantes entendam os seus princípios básicos, escolham o mercado e o marco de tempo apropriados, e monitorem e ajustem continuamente os parâmetros para se adaptarem a um ambiente de mercado em constante mudança. É um sistema de negociação que vale a pena considerar para os comerciantes de quantificação que buscam conciliar rigor técnico e praticidade.
/*backtest
start: 2024-08-11 00:00:00
end: 2025-08-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("EMATREND+HEIKENASHIENTRY", overlay=true, process_orders_on_close=true)
// === INPUT PARAMETERS ===
// Bollinger Bands Parameters
bbLength = input.int(20, title="Bollinger Bands Length", minval=1)
bbStdDev = input.float(2.0, title="Bollinger Bands Standard Deviation", minval=0.1, step=0.1)
// REPLACED SuperTrend with EMA Crossover Parameters
fastLength = input.int(9, title="Fast EMA Period", minval=1)
slowLength = input.int(21, title="Slow EMA Period", minval=1)
htf = input.timeframe("180", title="Higher Timeframe")
// === HEIKIN-ASHI CALCULATION ===
var float haOpen = na
haClose = (open + high + low + close) / 4
haOpen := na(haOpen[1]) ? (open + close) / 2 : (haOpen[1] + haClose[1]) / 2
haHigh = math.max(high, haOpen, haClose)
haLow = math.min(low, haOpen, haClose)
// === BOLLINGER BANDS ON HEIKIN-ASHI ===
basis = ta.sma(haClose, bbLength)
dev = bbStdDev * ta.stdev(haClose, bbLength)
upperBB = basis + dev
lowerBB = basis - dev
// === REPLACED SuperTrend with EMA Crossover Trend Detection ===
// Get HTF EMAs
htf_fast_ema = request.security(syminfo.tickerid, htf, ta.ema(close, fastLength), lookahead=barmerge.lookahead_off)
htf_slow_ema = request.security(syminfo.tickerid, htf, ta.ema(close, slowLength), lookahead=barmerge.lookahead_off)
// Determine trend direction
isBullishHTF = htf_fast_ema > htf_slow_ema
isBearishHTF = htf_fast_ema < htf_slow_ema
// === SIGNAL GENERATION ===
// Buy Conditions
redCandle1 = haClose[1] < haOpen[1] and (haLow[1] <= lowerBB[1] or haClose[1] <= lowerBB[1])
redCandle2 = haClose[2] < haOpen[2] and (haLow[2] <= lowerBB[2] or haClose[2] <= lowerBB[2])
redCandle3 = haClose[3] < haOpen[3] and (haLow[3] <= lowerBB[3] or haClose[3] <= lowerBB[3])
consecutiveBears = (redCandle1 and redCandle2) or (redCandle1 and redCandle2 and redCandle3)
greenConfirmation = haClose > haOpen
aboveBB = haClose > lowerBB
buySignal = isBullishHTF and consecutiveBears and greenConfirmation and aboveBB
// Sell Conditions
greenCandle1 = haClose[1] > haOpen[1] and (haHigh[1] >= upperBB[1] or haClose[1] >= upperBB[1])
greenCandle2 = haClose[2] > haOpen[2] and (haHigh[2] >= upperBB[2] or haClose[2] >= upperBB[2])
greenCandle3 = haClose[3] > haOpen[3] and (haHigh[3] >= upperBB[3] or haClose[3] >= upperBB[3])
consecutiveBulls = (greenCandle1 and greenCandle2) or (greenCandle1 and greenCandle2 and greenCandle3)
redConfirmation = haClose < haOpen
belowBB = haClose < upperBB
sellSignal = isBearishHTF and consecutiveBulls and redConfirmation and belowBB
// === RISK MANAGEMENT ===
var float entryPrice = na
var float initialStop = na
var float firstTarget = na
var bool firstTargetReached = false
var float trailStop = na
// Enter Long Positions
if buySignal
entryPrice := close
initialStop := low[1]
firstTarget := entryPrice + (entryPrice - initialStop)
firstTargetReached := false
trailStop := na
strategy.entry("Long", strategy.long)
// Enter Short Positions
if sellSignal
entryPrice := close
initialStop := high[1]
firstTarget := entryPrice - (initialStop - entryPrice)
firstTargetReached := false
trailStop := na
strategy.entry("Short", strategy.short)
// Manage Long Positions
if strategy.position_size > 0
if not firstTargetReached
if high >= firstTarget
strategy.close("Long", qty_percent=50)
firstTargetReached := true
trailStop := entryPrice
else
trailStop := math.max(trailStop, low[1])
currentStop = firstTargetReached ? trailStop : initialStop
if low <= currentStop
strategy.close("Long")
// Manage Short Positions
if strategy.position_size < 0
if not firstTargetReached
if low <= firstTarget
strategy.close("Short", qty_percent=50)
firstTargetReached := true
trailStop := entryPrice
else
trailStop := math.min(trailStop, high[1])
currentStop = firstTargetReached ? trailStop : initialStop
if high >= currentStop
strategy.close("Short")
// === VISUALIZATION ===
plot(upperBB, color=color.blue, title="Upper BB")
plot(basis, color=color.blue, title="Basis")
plot(lowerBB, color=color.blue, title="Lower BB")
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")
bgcolor(buySignal ? color.new(color.green, 90) : sellSignal ? color.new(color.red, 90) : na)
// === ALERT CONDITIONS ===
alertcondition(buySignal, title="EMATREND+HEIKENASHIENTRY Buy Alert", message="Buy Signal Triggered - EMATREND+HEIKENASHIENTRY")
alertcondition(sellSignal, title="EMATREND+HEIKENASHIENTRY Sell Alert", message="Sell Signal Triggered - EMATREND+HEIKENASHIENTRY")