
Esta estratégia é um sistema de negociação que combina brechas de preços altos e baixos, indicadores de tendência alfa e filtragem de médias móveis. O objetivo é capturar as mudanças de tendência quando os preços ultrapassam os níveis críticos, ao mesmo tempo em que usa tendências alfa e médias móveis para filtrar falsos sinais e melhorar a precisão das negociações.
Breakouts de alta e baixa: a estratégia usa o ciclo definido pelo usuário (default 20 K-lines) para determinar os preços de fechamento mais altos e mais baixos mais recentes. Quando os preços de fechamento atuais quebram esses níveis, um sinal de negociação potencial é acionado.
Indicador de tendência alfa: é um indicador de acompanhamento de tendência baseado no ATR (Average True Range). Identifica a tendência atual por meio de ajustes dinâmicos para cima e para baixo. É considerado uma tendência ascendente quando o preço está acima da linha de tendência alfa, e vice-versa, uma tendência descendente.
Filtragem de média móvel: a estratégia usa a média móvel simples (SMA) como um filtro de tendência adicional. Considere o excesso apenas quando o preço estiver acima da média móvel, ao contrário, considere o excesso.
Geração de sinais de transação:
Gerenciamento de Risco: A estratégia possui funções de stop loss e stop-loss. O usuário pode definir níveis de stop loss e stop loss baseados em porcentagens para controlar o risco e o lucro de cada transação.
Confirmação múltipla: Combinando breakouts de preços, tendências alfa e médias móveis, a estratégia pode efetivamente reduzir os falsos sinais e aumentar a precisão das negociações.
Adaptabilidade: A estratégia pode se adaptar a diferentes condições de mercado e volatilidade, pois o indicador de tendência Alpha se ajusta automaticamente à flutuação do mercado.
Gerenciamento de Risco: A função de stop loss e stop-loss embutida ajuda a controlar o risco de cada transação e a proteger a segurança dos fundos.
Visualização: A estratégia traça vários indicadores e sinais em um gráfico, permitindo que os comerciantes entendam intuitivamente a situação do mercado e as potenciais oportunidades de negociação.
Optimização de parâmetros: Os usuários podem ajustar vários parâmetros de acordo com diferentes mercados e preferências pessoais, como o ciclo de ruptura, o comprimento da média móvel e a multiplicação do ATR.
Risco de mercado em choque: em mercados de mercado horizontal sem uma tendência clara, a estratégia pode produzir frequentes falsos sinais, resultando em sobre-negociação e perdas.
Risco de deslizamento: em mercados de ruptura rápida ou de alta volatilidade, o preço de transação real pode diferir significativamente do esperado, afetando a performance da estratégia.
Excessiva dependência de dados históricos: a estratégia toma decisões com base em padrões de preços históricos, mas o desempenho passado não garante resultados futuros.
Sensibilidade de parâmetros: o desempenho da estratégia pode ser altamente sensível à configuração de parâmetros, e a escolha inadequada de parâmetros pode levar a resultados sub-ótimos.
Risco de reversão de tendência: Em caso de forte reversão de tendência, a estratégia pode não se adaptar a tempo, resultando em maiores perdas.
Ajuste de parâmetros dinâmicos: pode-se considerar o ajuste automático do ciclo de ruptura e da multiplicação do ATR de acordo com a volatilidade do mercado, para se adaptar a diferentes condições de mercado.
Adição de confirmação de volume de transação: o fator volume de transação é considerado na geração de sinais, o que pode aumentar a confiabilidade da quebra.
Introdução de aprendizado de máquina: otimizar a seleção de parâmetros e filtragem de sinais usando algoritmos de aprendizado de máquina pode melhorar a performance geral da estratégia.
Análise de múltiplos prazos: combinação de prazos mais longos e mais curtos para confirmar tendências, reduzindo sinais falsos e aumentando a qualidade de negociação.
Aumentar os indicadores de sentimento de mercado: a integração de indicadores de sentimento de mercado, como o VIX ou outros, pode ajudar a estratégia a julgar melhor o ambiente de mercado.
Melhorar a metodologia de stop loss: considerar o uso de stop loss de rastreamento ou stop loss dinâmico baseado em ATR, o que pode melhorar a eficácia da gestão de risco.
Aumentar o controle da frequência de transações: Implementar períodos de arrefecimento ou restrições de transações diárias pode evitar transações excessivas e reduzir os custos de transação.
A estratégia de alta e baixa ruptura, combinada com a tendência alfa e o filtro de média móvel, é um sistema de negociação abrangente que identifica potenciais mudanças de tendência e oportunidades de negociação por meio de uma combinação de múltiplos indicadores técnicos. A vantagem da estratégia reside no seu mecanismo de confirmação em vários níveis e no gerenciamento de risco embutido, que permite que ela mantenha um desempenho relativamente estável em várias condições de mercado.
A estratégia tem o potencial de se tornar uma ferramenta de negociação mais robusta e adaptável através de otimização e melhorias contínuas, como o ajuste de parâmetros dinâmicos, a análise de múltiplos quadros temporais e a introdução de aprendizado de máquina. Finalmente, é recomendado que os comerciantes testem e otimizem os parâmetros da estratégia em um ambiente simulado antes de negociar em um ambiente real, para garantir que eles atendam à tolerância ao risco e aos objetivos de negociação do indivíduo.
/*backtest
start: 2023-07-25 00:00:00
end: 2024-07-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("TRMUS", overlay=true)
// Kullanıcının ayarlayabileceği mum sayısı
length = input.int(20, minval=1, title="Number of Bars")
// Stop Loss ve Take Profit seviyeleri
stopLossPerc = input.float(2.0, title="Stop Loss %", minval=0.0) / 100.0
takeProfitPerc = input.float(4.0, title="Take Profit %", minval=0.0) / 100.0
// Trend filtresi için hareketli ortalama
maLength = input.int(50, minval=1, title="Moving Average Length")
ma = ta.sma(close, maLength)
// ATR ve Alpha Trend parametreleri
lengthATR = input.int(14, minval=1, title="ATR Length")
multiplier = input.float(1.5, minval=0.1, step=0.1, title="Multiplier")
// ATR hesaplaması
atr = ta.atr(lengthATR)
// Alpha Trend hesaplaması
upperLevel = close + (multiplier * atr)
lowerLevel = close - (multiplier * atr)
var float alphaTrend = na
alphaTrend := na(alphaTrend[1]) ? close : (close > lowerLevel[1] ? math.max(alphaTrend[1], lowerLevel) : close < upperLevel[1] ? math.min(alphaTrend[1], upperLevel) : alphaTrend[1])
// Son belirlenen mumun en yüksek ve en düşük kapanış fiyatlarını hesaplayalım
highestClose = ta.highest(close, length)
lowestClose = ta.lowest(close, length)
// Alım ve satım sinyalleri
buySignal = close > highestClose[1] and close[1] <= highestClose[1] and close > ma and close > alphaTrend
sellSignal = close < lowestClose[1] and close[1] >= lowestClose[1] and close < ma and close < alphaTrend
// Alım işlemi
if (buySignal)
strategy.entry("Buy", strategy.long, stop=close * (1 - stopLossPerc), limit=close * (1 + takeProfitPerc))
// Satım işlemi
if (sellSignal)
strategy.entry("Sell", strategy.short, stop=close * (1 + stopLossPerc), limit=close * (1 - takeProfitPerc))
// Grafik üzerine göstergeler ekleyelim
plot(highestClose, color=color.green, linewidth=2, title="Highest Close")
plot(lowestClose, color=color.red, linewidth=2, title="Lowest Close")
plot(ma, color=color.blue, linewidth=2, title="Moving Average")
plot(alphaTrend, color=color.orange, linewidth=2, title="Alpha Trend")
// Alım ve satım sinyalleri için işaretleyiciler ekleyelim
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")