
A estratégia de negociação de identificação de tendências de quadros múltiplos é uma estratégia de negociação quantitativa que combina a análise de mercados de longo prazo e curto prazo. A estratégia combina habilmente a técnica de análise de quadros múltiplos para determinar o momento certo de entrar em cena, confirmando a tendência geral do mercado em um período de 15 minutos e identificando um formato gráfico específico (como o padrão de absorção de bullish) em um período de 1 minuto. Além disso, a estratégia integra um mecanismo de filtragem de tempo rigoroso para evitar a negociação durante os períodos de alta volatilidade do início do mercado e antes do fechamento e garantir que as posições não sejam mantidas durante a noite, gerenciando eficazmente o risco de negociação.
A lógica central da estratégia de negociação quantitativa baseia-se na análise de múltiplos prazos e na gestão rigorosa do tempo de negociação.
Identificação de tendênciasAprovado:request.securityA função obtém dados de preços no período de 15 minutos e determina a direção da tendência a médio e longo prazo. A estratégia é feita comparando o preço de fechamento atual com o preço de fechamento do período anterior.trend_15m > trend_15m[1]A taxa de desemprego no país é de cerca de 2%, o que significa que a taxa de desemprego no país está a aumentar.
Identificação de formaEm um período de 1 minuto, a estratégia identifica uma forma de absorção de opções binárias, ou seja, o preço de fechamento da linha K atual é maior que o preço de fechamento da linha K anterior (linha do Sol) e o preço de fechamento da linha K anterior é maior que o preço de fechamento da linha K anterior (linha do Sol). Esta condição é aprovadabullish_engulfing = close > open and open[1] > close[1] and close > open[1]concluir.
Filtro de tempoA estratégia estabelece dois filtros de tempo importantes:
Gestão de RiscosA estratégia: após a confirmação do sinal de entrada, o stop loss é automaticamente estabelecido no ponto mais baixo da linha K anterior.stop_loss := low[1]O objetivo de lucro é calculado com base na relação de risco/retorno de 2: 1.take_profit := close + 2 * (close - stop_loss))。
Limitação de transações diáriasEstratégia: Obrigar o fechamento de todas as posições no final de cada dia de negociação (às 16h00), garantindo que não haja posições durante a noite, através destrategy.close_all()Implementação de funções.
Análise de mercado em vários níveisAo combinar a análise de 15 minutos e 1 minuto de tempo, a estratégia é capaz de capturar simultaneamente a tendência intermédia e as oportunidades de entrada de curto prazo, o que aumenta significativamente a precisão da negociação. A tendência intermédia fornece orientação sobre a direção geral do mercado, enquanto a forma de curto prazo fornece o tempo preciso de entrada.
Mecanismo de filtragem de tempo eficazEvite os períodos de alta volatilidade e baixa liquidez antes da abertura e do fechamento do mercado, que geralmente são mais ruidosos e de menor qualidade de sinal, podendo causar falsas rupturas ou expansão de pontos de deslizamento.
Gerenciamento automático de riscosA estratégia inclui uma definição clara de metas de stop loss e profit, com uma relação de risco-retorno de 2:1, um padrão de controle de risco usado por traders profissionais, que ajuda a obter lucros a longo prazo.
Estratégias de Day TradingA estratégia evita o risco de manter uma posição durante a noite, incluindo eventuais perdas incontroláveis, como eventos inesperados ou fugas noturnas.
Código simples e eficienteA estratégia é uma estrutura de código clara e com uma lógica compacta, com funções embutidas na linguagem PineScript, comorequest.securityestrategy.exitA eficiência da execução.
Retardo de vários quadros temporaisUtilização:request.securityA função de obter dados de um período de tempo maior pode introduzir um certo atraso, que pode resultar em pontos de entrada perdidos ou saídas atrasadas em mercados de rápida mudança. A solução é considerar o uso de um período de tempo dinâmico ou o aumento de indicadores de confirmação de tendências instantâneas.
Dependência de forma únicaA estratégia consiste em usar apenas a forma de engulfamento de biscoitos como sinal de entrada, o que pode levar a perder outras oportunidades de negociação válidas. A expansão para a identificação de outras formas de alta probabilidade (como a estrela-cruz, a linha de arco-íris, etc.) pode aumentar a frequência de negociação.
Configuração de Risco-Rendimento FixoA solução é considerar o ajuste dinâmico dos níveis de stop loss e profit, com base no ATR (Average True Range).
Limitação do filtro de tempoEmbora o filtro de tempo possa evitar períodos de alto risco, também é possível perder algumas oportunidades de negociação de alta qualidade, especialmente em dias de forte tendência gerados por saltos de abertura. Considere adicionar condições de confirmação adicionais ao invés de evitar esses períodos completamente.
Falta de adaptabilidade ao estado do mercadoA estratégia não faz distinção entre diferentes estados de mercado (por exemplo, mercado de turbulência, mercado de tendência) e pode ter um desempenho ruim em certos cenários de mercado. A introdução de mecanismos de identificação de estados de mercado pode aumentar a adaptabilidade da estratégia.
Indicadores de confirmação de tendência aumentam: Indicadores técnicos como MACD, RSI ou sistema de médias móveis podem ser adicionados no quadro de 15 minutos para fornecer uma confirmação de tendência mais confiável. Por exemplo, adicionar um indicador de MACD cruzado ou uma confirmação direcional do RSI pode reduzir o falso sinal.
Gestão de Riscos DinâmicosAjuste dinâmico de stop loss e profit target com base na volatilidade do mercado (por exemplo, ATR), em vez de usar uma taxa de retorno de risco fixa. Estabeleça um stop loss mais flexível em mercados de alta volatilidade e um stop loss mais apertado em mercados de baixa volatilidade.
Adicionar mais formas de entradaPara além da forma de engolir o leão, pode ser adicionada a identificação de outras formas de leão de alta probabilidade, tais como a forma de leão estrela, leão de leão, etc., para aumentar a frequência e a diversidade de transações.
Introdução de confirmação de entregaIncorporar a análise do volume de transação na lógica da estratégia, confirmando a forma de engolimento somente com o aumento do volume de transação, pode melhorar a qualidade do sinal.
O mercado adapta-seAumento da capacidade de identificação do cenário de mercado, por exemplo, através de indicadores de volatilidade (como o ATR) ou indicadores de intensidade de tendência (como o ADX) para distinguir os mercados de tendência e os mercados de turbulência, e ajustar os parâmetros de estratégia de acordo.
Otimização do filtro de tempoConsidere o uso de mecanismos de filtragem de tempo mais sofisticados, por exemplo, para determinar os melhores momentos de negociação com base na análise de dados históricos, em vez de simplesmente excluir períodos de tempo fixos.
A estratégia de negociação de identificação de tendências de múltiplos prazos e padrões de gráficos é um sistema de negociação integrado que combina análise de tendências de médio e longo prazo com técnicas de entrada de curto prazo. A estratégia pode aumentar efetivamente a precisão de entrada, confirmando a direção da tendência geral do mercado em um período de tempo maior (de 15 minutos) e identificando padrões de absorção de pessimistas de alta probabilidade em um período de tempo menor (de 1 minuto).
Outra grande característica da estratégia é a integração de um rigoroso mecanismo de filtragem de tempo e um sistema de gerenciamento de risco, evitando os períodos de alta volatilidade do mercado e controlando o risco através de uma taxa de retorno de risco fixa e de uma posição de equilíbrio obrigatória antes do fechamento. Esses recursos tornam a estratégia especialmente adequada para os day traders que buscam ganhos estáveis.
Apesar de ter uma lógica clara e um rigoroso controle de risco, a estratégia ainda tem espaço para várias otimizações, incluindo mecanismos de confirmação de tendências, introdução de gerenciamento de risco dinâmico, aumento da identificação de configurações de entrada, integração de análise de volume de negócios e desenvolvimento de funções de adaptação ao ambiente de mercado. Com essas otimizações, a estratégia deve ter um desempenho mais estável em diferentes ambientes de mercado.
/*backtest
start: 2024-03-07 00:00:00
end: 2025-03-05 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Multi-Timeframe Strategy with Time Filters", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Define the 15-minute trend (long-term trend)
trend_15m = request.security(syminfo.tickerid, "15", close)
// Identify Bullish Engulfing pattern on the 1-minute chart
bullish_engulfing = close > open and open[1] > close[1] and close > open[1]
// Define the entry condition: Bullish Engulfing on the 1-minute chart and uptrend on the 15-minute chart
long_condition = bullish_engulfing and trend_15m > trend_15m[1]
// Define the current time
current_hour = hour
current_minute = minute
// Check if it's within the first 45 minutes or last 60 minutes of the trading day
first_45_minutes = (current_hour == 9 and current_minute < 45) // First 45 minutes of the day (9:00 - 9:45 AM)
last_60_minutes = (current_hour == 15 and current_minute >= 0) or (current_hour == 16 and current_minute < 60) // Last 60 minutes (3:00 - 4:00 PM)
// Block trades if within the restricted time windows
time_restricted = first_45_minutes or last_60_minutes
// Execute the strategy logic for long entry only if not within restricted time window
if (long_condition and not time_restricted)
strategy.entry("Long", strategy.long)
// Initialize stop loss and take profit variables
var float stop_loss = na
var float take_profit = na
// Update stop loss and take profit values when a long entry is triggered
if (long_condition and not time_restricted)
stop_loss := low[1] // Set stop loss to the low of the previous candle
take_profit := close + 2 * (close - stop_loss) // Set take profit to 2:1 risk-to-reward ratio
// Set stop loss and take profit for the trade using strategy.exit
strategy.exit("Exit Long", "Long", stop=stop_loss, limit=take_profit)
// Close all positions at the end of the trading day (for example, at 16:00 EST)
end_of_day = (hour == 16 and minute == 0) // 16:00 EST is the end of the day for most US markets
if (end_of_day)
strategy.close_all() // Close all open positions at the end of the day