Sistema de negociação inovador de ajuste de volatilidade de ciclo duplo, gerenciamento dinâmico de posições e estratégia de posição em pirâmide

ATR Donchian Channels BREAKOUT TREND FOLLOWING POSITION SIZING PYRAMIDING Turtle Trading
Data de criação: 2025-06-16 15:14:24 última modificação: 2025-08-12 17:46:27
cópia: 0 Cliques: 333
2
focar em
319
Seguidores

Sistema de negociação inovador de ajuste de volatilidade de ciclo duplo, gerenciamento dinâmico de posições e estratégia de posição em pirâmide Sistema de negociação inovador de ajuste de volatilidade de ciclo duplo, gerenciamento dinâmico de posições e estratégia de posição em pirâmide

Visão geral

O sistema de negociação de ruptura de ajuste de taxa de flutuação de dois ciclos é uma estratégia quantitativa baseada na famosa lei de negociação de turbulência, que utiliza dois períodos de tempo diferentes (os dias 20 e 55) para capturar rupturas de mercado, enquanto combina indicadores de taxa de flutuação para gerenciamento de posições dinâmicas. O sistema combina várias técnicas de negociação quantitativa, como acompanhamento de tendências, negociação de rupturas, posições de ajuste de taxa de flutuação e acréscimo de pirâmide, com o objetivo de capturar efetivamente tendências de mercado de médio e longo prazo.

Princípio da estratégia

A análise do código mostra que os princípios centrais da estratégia incluem:

  1. Avanço no duplo cicloA estratégia usa dois sistemas de entrada - o Sistema 1 usa o pico / breakout de 20 dias como o principal sinal de entrada; o Sistema 2 é ativado após o prejuízo da negociação anterior e usa o pico / breakout de 55 dias como sinal de entrada. Este design pode ajustar automaticamente a sensibilidade de entrada de acordo com a situação do mercado.

  2. Medição de volatilidade e gestão de posiçõesA estratégia usa a amplitude real média de 20 dias (ATR) como uma medida da volatilidade do mercado e calcula a posição razoável através da fórmula: posição unitária = montante de risco / (N * valor de ponto). O montante de risco é igual ao lucro da conta multiplicado pela percentagem de risco definida (default 1%) Este método garante a exposição ao risco mantida consistentemente em diferentes ambientes de volatilidade.

  3. Mecanismo de aumento de posição da pirâmideA estratégia permite adicionar novas unidades do mesmo tamanho quando o preço de uma posição de ganho já existente continua a mover-se na direção favorável (a uma distância de pelo menos 0,5 N). Esta estratégia de acréscimo em pirâmide permite expandir o potencial de ganho em mercados de forte tendência.

  4. Curto-circuito retrocedeu e ultrapassou a paridadeA estratégia usa a baixa / alta do dia 10 como sinal de saída para posições ativos / ativos. Quando o preço cai abaixo do mínimo do dia 10, elimine todas as posições ativos; Quando o preço supera o máximo do dia 10, elimine todas as posições ativos.

  5. Mecanismo de comutaçãoA estratégia ajusta automaticamente o sistema de entrada de acordo com os resultados das negociações. Se uma negociação em uma determinada direção for perdedora, a próxima negociação na mesma direção usará o sistema 2 (ciclo de 55 dias); Depois de uma negociação lucrativa, o sistema 1 (ciclo de 20 dias) será retomado.

Com a combinação desses princípios, a estratégia pode entrar no mercado de tendência mais cedo, acumular posições e sair no início da reversão da tendência, capturando efetivamente as tendências de mercado de médio e longo prazo.

Vantagens estratégicas

Ao analisar o código, podemos concluir que a estratégia tem as seguintes vantagens principais:

  1. Decisões de negociação automatizadasA estratégia baseia-se inteiramente em regras quantitativas para a execução de transações, eliminando a interferência emocional humana e garantindo a rigorosa aplicação da disciplina de negociação. O código define claramente as condições de entrada, acréscimo e saída, sem necessidade de julgamento subjetivo.

  2. Gestão de Riscos DinâmicosA estratégia permite manter uma exposição ao risco consistente em diferentes ambientes de volatilidade, limitando o risco de cada transação a uma porcentagem fixa de equidade de conta (default 1%) e combinando o tamanho da posição de ajuste do ATR. Esta abordagem reduz automaticamente as posições em mercados de alta volatilidade e aumenta adequadamente as posições em mercados de baixa volatilidade.

  3. Adaptação às condições do mercado: O design de dois ciclos permite que a estratégia se adapte automaticamente à situação do mercado. Use um período mais curto (de 20 dias) para manter a sensibilidade em um mercado de tendências de lucro contínuo; Mudar para um período mais longo (de 55 dias) para reduzir os falsos sinais depois de sofrer perdas.

  4. Mecanismo de recuperação do crescimentoA estratégia baseia-se no tamanho da posição de equidade-interesse da conta atual, aumentando automaticamente a posição à medida que a conta cresce, para obter um efeito de recuperação de lucro; ao mesmo tempo, o mecanismo de acréscimo de posição da pirâmide expande o potencial de lucro em uma forte tendência.

  5. Adaptabilidade a vários mercadosA estratégia é projetada para ser aplicada a várias categorias de ativos, especialmente em mercados com características de tendência visíveis, como o ouro. Os parâmetros podem ser ajustados e otimizados para diferentes características do mercado.

  6. Controle de riscos claroA utilização de um reverso de 10 dias como um sinal de saída, para fornecer um ponto de parada definido para cada transação e controlar eficazmente o risco de cada transação; ao mesmo tempo, controlar o risco sistemático através da definição de uma percentagem de risco máximo.

Risco estratégico

Apesar de suas vantagens, a estratégia apresenta alguns riscos:

  1. Risco de Falso Breakout: Em mercados de turbulência, os preços podem frequentemente atingir altos/baixos, mas depois regredir rapidamente, causando perdas contínuas. A falta de mecanismo de filtragem de falsas rupturas no código pode gerar mais sinais ineficazes em mercados fora de tendência.

  2. Risco de acréscimoO mecanismo de aumento de posição da pirâmide é muito eficaz durante a tendência, mas se a tendência se inverter de repente, as posições de várias unidades podem causar grandes perdas. Embora a estratégia tenha condições de saída, pode ainda sofrer grandes perdas em uma reviravolta acentuada.

  3. Sensibilidade do parâmetroO desempenho da estratégia é altamente dependente da configuração de vários parâmetros (ciclo de entrada, ciclo de saída, ciclo ATR, intervalo de adição, etc.). Diferentes ambientes de mercado podem exigir diferentes combinações de parâmetros, e parâmetros fixos podem causar instabilidade no desempenho.

  4. Risco de liquidez: Em mercados com pouca liquidez, uma grande acumulação de posições pode causar aumento de deslizamento ou dificuldade em negociar o preço esperado, afetando o efeito da execução real. O código não tem um mecanismo de tratamento para problemas de liquidez.

  5. Exposição ao risco sistémicoComo uma estratégia de acompanhamento de tendências pura, pode ter uma alta correlação com outras estratégias de tendências durante a queda generalizada ou a forte volatilidade do mercado, dificultando a proteção diversificada.

  6. Problemas de precisão de cálculoO uso da função math.floor no código para calcular posições para baixo pode causar posições muito pequenas ou impossibilitadas de negociar em contas pequenas. Ao mesmo tempo, a configuração incorreta de pontos também pode causar erros no cálculo de posições.

Para esses riscos, pode-se considerar a adição de filtros de tendência, o estabelecimento de limites máximos de posição, a otimização das regras de aumento de posição e o aumento do mecanismo de ajuste de taxa de flutuação para o controle de risco.

Direção de otimização da estratégia

Com base na análise do código, a estratégia pode ser otimizada de várias maneiras:

  1. Adicionar filtro de tendênciaA estratégia atual baseia-se exclusivamente em negociações de ruptura de preços, sendo suscetível a falsas rupturas. Indicadores de tendência podem ser adicionados (como médias móveis, ADX, etc.) como condições de filtragem, executando negociações apenas quando a tendência está em conformidade com a direção, reduzindo as perdas de negociação em mercados de turbulência.

  2. Otimização das regras de adição de riscoOs mecanismos de adição de risco existentes são relativamente simples, podendo ser considerados a introdução de proporções de adição de risco decrescentes (com a diminuição progressiva das unidades de adição de risco subsequentes) ou a definição de um limite máximo de adição de risco, equilibrando a necessidade de expansão de receita e controle de risco.

  3. Ajuste de parâmetros dinâmicosPode-se ajustar o ciclo de entrada/saída e o intervalo de adição de posição com base na volatilidade do mercado ou na intensidade da tendência. Por exemplo, o ciclo de entrada é prolongado em mercados de alta volatilidade e o ciclo de saída é reduzido em mercados de baixa volatilidade, tornando a estratégia mais adaptável.

  4. Aumentar o tempo de filtragemO Banco Central do Brasil (BCB) anunciou que o Banco Central do Brasil (BCE) está a desenvolver um sistema de filtragem de tempo de negociação para evitar a divulgação de dados econômicos importantes ou períodos de baixa liquidez e reduzir o risco de volatilidade.

  5. Confirmação do Multi-Tempos: Combinação da direção da tendência com um ciclo de tempo mais longo como condição de filtragem de negociação, por exemplo, executando negociações apenas quando a tendência do dia coincide com a direção da tendência de 4 horas, melhorando a qualidade do sinal.

  6. Optimizar a gestão de fundos: é possível introduzir modelos de gestão de fundos mais complexos, como a fórmula de Kelly ou o método de valor f-optimo, para otimizar ainda mais a curva de crescimento de fundos, ajustando a proporção de risco de acordo com a taxa de sucesso esperada e a relação de ganhos/perdas.

  7. Mecanismo de retenção aumentadoA estratégia atual baseia-se apenas em um mecanismo de saida de reversão, e pode considerar a adição de um mecanismo de bloqueio de lucro, como a eliminação de partes da posição quando um objetivo de lucro específico é atingido, combinando captura de tendência e proteção de lucro.

Essas direções de otimização podem efetivamente aumentar a estabilidade e a rentabilidade da estratégia, especialmente a adaptabilidade em diferentes contextos de mercado.

Resumir

O sistema de negociação de ruptura de ajuste de taxa de flutuação de dois ciclos é uma estratégia de negociação de quantificação completa baseada em regras de negociação de pirâmide, que combina várias técnicas de negociação de quantificação, como entrada de ruptura, gerenciamento de posições de taxa de flutuação, acréscimo de pirâmide e ciclo de adaptação. A estratégia capta a ruptura de preço para entrar na tendência, aproveitando a abertura de risco de controle de flutuação e maximizando o lucro da tendência através do acréscimo de pirâmide.

O valor central da estratégia reside no seu design completo do sistema, incluindo todos os aspectos de entrada, saída, gerenciamento de posição e controle de risco, formando um sistema de negociação autônomo. Em particular, o seu mecanismo de posição de ajuste de taxa de flutuação e o design adaptativo de dois ciclos permitem que a estratégia mantenha um desempenho relativamente estável em diferentes ambientes de mercado.

No entanto, como uma estratégia de acompanhamento de tendências, que pode não funcionar bem em mercados turbulentos, precisa ser aperfeiçoada por meio de métodos como o aumento de filtros de tendências, a otimização de regras de aceleração e o ajuste de parâmetros dinâmicos. Além disso, a estratégia é adequada como parte de um portfólio de investimentos e pode ser usada em combinação com outros tipos de estratégias (como a estratégia de retorno à mediana) para obter uma curva de ganhos mais suave.

Em geral, trata-se de uma estratégia de negociação quantitativa concebida de forma racional e lógica, com uma boa base teórica e valor prático. Com a otimização de parâmetros apropriados e mecanismos complementares, a estratégia tem o potencial de gerar ganhos estáveis em vários ambientes de mercado.

Código-fonte da estratégia
/*backtest
start: 2024-06-16 00:00:00
end: 2025-06-15 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
//策略声明和基础设置
strategy("Turtle Trading System (Full Version)", overlay=true, pyramiding=5)

//风险控制参数
riskPercent = input.float(0.5, title="每笔交易风险占资金百分比", minval=0.1, maxval=5.0, step=0.1)
pointValue = input.float(1.0, title="点值($/点)")

//入场周期参数
entryPeriod1 = input.int(20, title="系统1入场周期")
entryPeriod2 = input.int(55, title="系统2入场周期(亏损后)")

//出场和波动性参数
exitPeriod = input.int(10, title="出场周期")
nPeriod = input.int(20, title="N周期(ATR)")
pyramidSpacing = input.float(0.5, title="每N x ...添加单位", step=0.1)

//波动性指标计算
N = ta.atr(nPeriod)//计算ATR作为市场波动性的量化标准

//系统1入场通道计算(20周期)
entryHigh1 = ta.highest(high, entryPeriod1)//计算20周期内最高价作为做多突破位
entryLow1 = ta.lowest(low, entryPeriod1)//计算20周期内最低价作为做空突破位

//系统2入场通道计算(55周期)
entryHigh2 = ta.highest(high, entryPeriod2)//计算55周期内最高价作为保守做多突破位
entryLow2 = ta.lowest(low, entryPeriod2)//计算55周期内最低价作为保守做空突破位

//出场通道计算(10周期)
exitLong = ta.lowest(low, exitPeriod)//计算10周期内最低价作为多头出场位
exitShort = ta.highest(high, exitPeriod)//计算10周期内最高价作为空头出场位

//交易状态跟踪变量
var bool lastLongLoss = false//记录上次多头交易是否亏损
var bool lastShortLoss = false//记录上次空头交易是否亏损
var float lastLongEntryPrice = na//记录上次多头入场价格
var float lastShortEntryPrice = na//记录上次空头入场价格

//账户权益和风险计算
equity = strategy.equity//获取当前账户总权益
riskDollars = equity * (riskPercent / 100)//计算每笔交易允许的风险金额
unitSize = riskDollars / (N * pointValue)//基于ATR计算标准头寸规模
positionSize = math.round(unitSize, 3)//设定最终头寸大小

//入场信号生成逻辑
useSystem1Long = close > entryHigh1[1]//系统1多头入场条件
useSystem2Long = lastLongLoss and close > entryHigh2[1]//系统2多头入场条件(仅在上次亏损后)
useSystem1Short = close < entryLow1[1]//系统1空头入场条件
useSystem2Short = lastShortLoss and close < entryLow2[1]//系统2空头入场条件(仅在上次亏损后)

//金字塔加仓条件
canAddLong = strategy.opentrades > 0 and strategy.position_size > 0 and close >= lastLongEntryPrice + (pyramidSpacing * N)
//多头加仓条件
canAddShort = strategy.opentrades > 0 and strategy.position_size < 0 and close <= lastShortEntryPrice - (pyramidSpacing * N)
//空头加仓条件

//出场信号生成
longExit = close < exitLong//多头出场条件
shortExit = close > exitShort//空头出场条件

//多头入场执行
if (useSystem1Long or useSystem2Long)
    strategy.entry("Long", strategy.long, qty=positionSize)//执行多头开仓
    lastLongEntryPrice := close//记录多头入场价格作为加仓基准
    lastLongLoss := false//重置多头亏损状态

//空头入场执行
if (useSystem1Short or useSystem2Short)
    strategy.entry("Short", strategy.short, qty=positionSize)//执行空头开仓
    lastShortEntryPrice := close//记录空头入场价格作为加仓基准
    lastShortLoss := false//重置空头亏损状态

//多头加仓执行
if (canAddLong)
    strategy.entry("Long Add", strategy.long, qty=positionSize)//执行多头加仓
    lastLongEntryPrice := close//更新多头入场价格基准

//空头加仓执行
if (canAddShort)
    strategy.entry("Short Add", strategy.short, qty=positionSize)//执行空头加仓
    lastShortEntryPrice := close//更新空头入场价格基准

//多头出场执行
if (longExit)
    strategy.close("Long")//平掉初始多头头寸
    strategy.close("Long Add")//平掉所有多头加仓头寸
    lastLongLoss := close < lastLongEntryPrice//根据出场价格更新亏损状态

//空头出场执行
if (shortExit)
    strategy.close("Short")//平掉初始空头头寸
    strategy.close("Short Add")//平掉所有空头加仓头寸
    lastShortLoss := close > lastShortEntryPrice//根据出场价格更新亏损状态

//系统1入场信号可视化
plot(entryHigh1, title="20周期高点", color=color.green)//绘制系统1多头入场线
plot(entryLow1, title="20周期低点", color=color.red)//绘制系统1空头入场线

//系统2入场信号可视化
plot(entryHigh2, title="55周期高点", color=color.lime, linewidth=1)//绘制系统2多头入场线
plot(entryLow2, title="55周期低点", color=color.maroon, linewidth=1)//绘制系统2空头入场线

//出场信号可视化
plot(exitLong, title="10周期低点(多头出场)", color=color.orange)//绘制多头出场信号线
plot(exitShort, title="10周期高点(空头出场)", color=color.blue)//绘制空头出场信号线