
A estratégia de discernimento de tendências combinada com a distribuição de volume de transação de faixa fixa e o preço médio de transação ponderado fixo e a estratégia de parada de perda dinâmica é um sistema de negociação integrado que combina habilmente duas poderosas ferramentas de análise técnica da distribuição de volume de transação de faixa fixa (FRVP) e do preço médio de transação ponderado fixo (AVWAP) e combina vários indicadores de dinâmica, como RSI, EMA e MACD, com a gestão de perda dinâmica baseada no ATR. A estratégia visa capturar tendências de preços e, ao mesmo tempo, melhorar a qualidade de negociação, reduzindo os falsos sinais, através da filtragem de condições múltiplas.
O princípio central da estratégia é a tomada de decisões de negociação através da análise multidimensional da estrutura e da dinâmica do mercado, combinando volume de transação com o comportamento dos preços.
Preço médio de volume de transação ponderado (AVWAP)Como um nível de suporte/resistência dinâmico, o preço médio é calculado por volume de transação ponderado, fornecendo um ponto de referência importante para a quebra de preço. Quando o preço quebra o AVWAP, pode indicar que a direção da tendência foi estabelecida.
Distribuição de volume de transação de faixa fixa (FRVP): Calcula o preço médio através da análise dos preços mais altos e mais baixos durante um determinado período (frvpMid), ajudando a identificar mudanças na estrutura do mercado e níveis de preços-chave.
Média móvel exponencial (EMA)O EMA de 200 ciclos é usado como um filtro de tendência para evitar negociações contractuais. O EMA de 200 ciclos é usado como um filtro de tendência para evitar negociações contractuais.
Índice de Relativa Força e Fraqueza (RSI): Evite negociar em áreas de sobrecompra/excesso de venda, fornecendo confirmação adicional para a entrada. Para fazer mais, exija RSI acima do nível de sobrevenda; Para fazer menos, exija RSI abaixo do nível de sobrecompra.
MACD confirmadoO objetivo é garantir que a direção do movimento coincide com a direção da negociação, melhorando a qualidade do sinal de negociação.
Filtros de quantidade de entregaO que é um “falso rompimento” em um ambiente de baixa liquidez: apenas negocie quando o volume de transação estiver acima da média de 20 ciclos.
Cessos de base e de rastreamento do ATRA posição de parada é ajustada de acordo com a dinâmica de volatilidade do mercado, permitindo uma margem de respiração de preço suficiente, enquanto protege o capital.
As condições de entrada exigem rigorosamente a confirmação de todos os indicadores de forma consistente, o que aumenta consideravelmente a confiabilidade do sinal de negociação. Por exemplo, fazer várias solicitações para que o preço quebre o AVWAP, esteja acima do EMA, o RSI esteja acima do nível de oversold, o MACD confirme a volatilidade e o volume de transação seja suficiente. A estratégia de saída usa o stop loss e o tracking stop loss calculado em múltiplos ATR, permitindo que a gestão de risco se adapte a diferentes ambientes de volatilidade do mercado.
A estratégia tem várias vantagens:
Análise multidimensionalA análise integral, combinando preços, volume de negócios e indicadores de dinâmica, forma uma visão mais abrangente do mercado, reduzindo os sinais errôneos que um único indicador pode trazer.
Forte adaptaçãoO mecanismo de stop loss e tracking stop loss baseado no ATR pode ser automaticamente ajustado à volatilidade do mercado, permitindo que a estratégia mantenha uma gestão de risco adequada em diferentes cenários de mercado.
Tendência combinada com volume de transaçõesAVWAP e FRVP fornecem níveis de suporte e resistência de preços baseados em volume de transação, e são mais convincentes do que a simples análise de preços, pois refletem a verdadeira participação no mercado.
Condições de entrada rígidasO mecanismo de confirmação múltipla reduziu significativamente os sinais falsos e aumentou a taxa de vitória das transações. Embora possa reduzir a frequência das transações, a qualidade é garantida.
Gestão de Riscos DinâmicosA estratégia de stop loss baseada no ATR pode ajustar automaticamente a distância de stop loss de acordo com a volatilidade do mercado, tornando o controle de risco mais preciso e racional.
Filtração de transações de baixo volumeO principal objetivo é evitar transações em ambientes de baixa liquidez, reduzindo o risco de deslizamentos e falsas brechas.
Comentários visuaisEstratégias: Apresentação de sinais de negociação de forma intuitiva em gráficos através da função de etiquetas, para ajudar os comerciantes a entender melhor e avaliar o desempenho do sistema.
Embora a estratégia tenha sido concebida de forma abrangente, existem alguns riscos potenciais:
Sensibilidade do parâmetroA combinação de vários indicadores e parâmetros pode levar a um risco de otimização excessiva. Diferentes mercados e prazos de tempo podem exigir diferentes configurações de parâmetros, que precisam de um bom feedback e verificação.
Desempenho do mercado horizontal: Em mercados horizontais sem uma tendência óbvia, a estratégia pode produzir muitos falsos sinais de ruptura, resultando em perdas contínuas. Pode-se considerar a adição de filtros de volatilidade e a suspensão da negociação em ambientes de baixa volatilidade.
Problemas de atrasoA EMA e outros indicadores são inerentemente retardados, podendo causar atrasos na entrada e perda de lucros. Para atenuar este problema, pode-se considerar o uso de indicadores mais rápidos ou ajustar os parâmetros dos indicadores existentes.
Risco de falênciaEm mercados rápidos ou em situações de queda noturna, o stop loss baseado no ATR pode não proteger completamente o capital. É recomendável definir um limite máximo de perda ou usar uma estratégia de proteção de opções.
Excessiva dependência de indicadores técnicosA estratégia baseia-se exclusivamente na análise técnica, ignorando fatores como a base e o sentimento do mercado. Pode-se considerar a integração de indicadores de sentimento do mercado ou filtros fundamentais para obter uma visão mais abrangente do mercado.
Custos de transações frequentesSe os parâmetros forem configurados de forma inadequada, isso pode levar a transações frequentes, aumentando os custos de transação. Os parâmetros de otimização devem ser avaliados de volta para encontrar o ponto de equilíbrio entre a frequência de transação e a lucratividade.
Com base na análise de código, a estratégia pode ser otimizada nas seguintes direções:
Parâmetros dinâmicos se adaptam: Permite o ajuste dinâmico de parâmetros como RSI, EMA, para otimização automática de parâmetros com base na volatilidade do mercado, tornando a estratégia mais adaptável. Por exemplo, usar um ciclo RSI mais longo em mercados de alta volatilidade e um ciclo mais curto em mercados de baixa volatilidade.
Adição de indicadores de sentimento de mercadoA integração do VIX ou outros indicadores de sentimento de mercado, o ajuste de comportamento estratégico em períodos de pânico ou ganância extrema, e a evitação de negociação em situações extremas de mercado.
Filtro de tempoA adição de um filtro de tempo para evitar os períodos de alta volatilidade antes da abertura e do fechamento do mercado, ou focar em períodos de negociação específicos para aumentar a taxa de vitória.
Análise de Multi-Framas de TempoA integração de sinais de confirmação de um período de tempo mais longo garante que a direção da negociação esteja em consonância com a tendência maior e reduz o risco de negociação contrária.
Melhorar a meta de lucroO código atual não define claramente o objetivo de lucro, mas baseia-se principalmente no rastreamento do lucro de bloqueio de stop loss. O objetivo de lucro inteligente pode ser definido com base na resistência / suporte crítico, na taxa de retorno do risco ou na amplitude da flutuação do preço.
Otimização da análise de volume de transaçãoA análise do volume de negócios pode ser mais refinada, por exemplo, usando a taxa de variação do volume de negócios em vez de uma simples comparação de médias, para determinar com mais precisão a anomalia do volume de negócios.
Adição de mecanismo de suspensão de estratégiaSuspensão automática da negociação em caso de perdas consecutivas ou em determinadas condições de mercado, para proteger o capital contra o risco sistêmico e retomar a negociação quando as condições se recuperarem.
Otimização da gestão de fundosA estratégia atual é usar um método de gerenciamento de fundos com porcentagem fixa (<10%) e pode considerar a realização de ajustes de escala de posição baseados na taxa de flutuação, aumentando a posição em períodos de baixa volatilidade e reduzindo a posição em períodos de alta volatilidade.
A estratégia de determinação de tendências e parada de perdas dinâmicas combinadas com a distribuição de volume de transação de alcance fixo combinada com o preço médio ponderado de volume de transação fixado é um sistema de negociação quantitativo bem projetado que integra vários instrumentos e indicadores de análise técnica para formar uma estrutura de negociação abrangente e auto-adaptável. O principal benefício da estratégia é a combinação de análise de preços baseada em volume de transação (FRVP e AVWAP) com indicadores tradicionais de tendências e dinâmica (EMA, RSI, MACD) e auxiliada por um mecanismo de gerenciamento de risco flexível que permite manter um desempenho estável em diferentes ambientes de mercado.
Embora existam riscos potenciais, como a sensibilidade dos parâmetros e o fraco desempenho do mercado horizontal, a maioria desses problemas pode ser efetivamente mitigada por orientações de otimização recomendadas, como adaptação dos parâmetros dinâmicos, análise de múltiplos prazos e gerenciamento de fundos melhorado. Em particular, a adição de indicadores de sentimento de mercado e recomendações de mecanismos de suspensão de estratégia, espera-se melhorar ainda mais a robustez do sistema e a lucratividade a longo prazo.
Para os traders quantitativos que buscam estratégias de negociação integradas, o sistema oferece uma base sólida para a customização e otimização adicional de acordo com as preferências de risco pessoais e as características da variedade de negociação. Com um rigoroso feedback e melhorias progressivas, a estratégia tem o potencial de se tornar uma ferramenta de negociação eficaz a longo prazo.
/*backtest
start: 2024-03-06 00:00:00
end: 2025-03-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("FRVP + AVWAP Improved By NgashCT", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Inputs
length = input(50, title="AVWAP Length")
frvpLength = input(100, title="FRVP Length")
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought")
rsiOversold = input(30, title="RSI Oversold")
emaLength = input(200, title="EMA Length")
atrMultiplier = input(1.5, title="ATR Multiplier for Stop Loss")
trailStopMultiplier = input(2, title="ATR Multiplier for Trailing Stop")
// Indicators
avwap = ta.vwap(close)
ema = ta.ema(close, emaLength)
rsi = ta.rsi(close, rsiLength)
macdLine = ta.ema(close, 12) - ta.ema(close, 26)
signalLine = ta.ema(macdLine, 9)
atr = ta.atr(14)
// Volume Profile
highestHigh = ta.highest(high, frvpLength)
lowestLow = ta.lowest(low, frvpLength)
frvpMid = (highestHigh + lowestLow) / 2
// Entry Conditions
longCondition = ta.crossover(close, avwap) and close > ema and rsi > rsiOversold and macdLine > signalLine
shortCondition = ta.crossunder(close, avwap) and close < ema and rsi < rsiOverbought and macdLine < signalLine
// Volume Filter (Trade only when volume is above its moving average)
avgVolume = ta.sma(volume, 20)
volumeFilter = volume > avgVolume
longCondition := longCondition and volumeFilter
shortCondition := shortCondition and volumeFilter
// Debugging Prints
labelLong = longCondition ? "Long Signal" : ""
labelShort = shortCondition ? "Short Signal" : ""
label.new(bar_index, high, labelLong, color=color.green, textcolor=color.white)
label.new(bar_index, low, labelShort, color=color.red, textcolor=color.white)
// Strategy Orders
if longCondition
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", from_entry="Long", stop=close - atr * atrMultiplier, trail_points=atr * trailStopMultiplier)
if shortCondition
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", from_entry="Short", stop=close + atr * atrMultiplier, trail_points=atr * trailStopMultiplier)