A estratégia usa um conjunto de indicadores de faixa de Bryn e indicadores aleatórios para identificar o mercado de supervenda e encontrar oportunidades de negociação perto da faixa de Bryn. Ao mesmo tempo, usando indicadores de faixa de flutuação real média para rastrear o stop, o DYNAMIC TRAILING STOP usa um método de stop dinâmico, que permite ajustar flexivelmente o local do stop de acordo com a amplitude da flutuação do mercado, evitando uma saída de stop sensível demais, enquanto garante o efeito de stop.
A estratégia usa uma faixa de Bryn, com um diferencial padrão de 2, para identificar se o preço está tocando a faixa de Bryn ou a faixa de Bryn. Tocar a faixa de Bryn indica que pode estar em sobrevenda e tocar a faixa de Bryn pode estar comprando demais. Além disso, a estratégia usa um indicador aleatório de ciclo de K de 14 e ciclo de D de 3 para determinar o supervenda.
Após a entrada, a estratégia usa um indicador de alcance médio para rastrear os stop-loss. O ponto de stop é 1,5 vezes maior do que o alcance médio de fluxo real, permitindo definir um alcance de stop-loss com base na volatilidade do mercado, evitando que o ponto de stop-loss seja muito próximo ou muito amplo.
A estratégia tem as seguintes vantagens:
O uso integrado de faixa de brinquedos e indicadores aleatórios para julgar o caso de overbought ou oversold, melhorando a precisão para determinar o momento do comércio
Ponto de parada de ajuste dinâmico, capaz de definir distâncias de parada razoáveis de acordo com a volatilidade do mercado
O método de rastreamento de paragem evita que a distância de paragem seja muito próxima, evitando que a paragem seja muito fácil.
As regras da estratégia são claras, simples e fáceis de entender e executar
A estratégia também apresenta alguns riscos:
A linha de Brin não pode ser 100% certa de que o preço vai mudar, e pode haver um avanço para continuar a operar.
A configuração incorreta dos parâmetros do indicador aleatório pode gerar sinais errados
A interrupção do rastreamento pode levar a uma distância de interrupção muito grande e além do limite razoável de volatilidade do mercado.
O addDynamic trailing stop pode ser melhor, ajustando a distância de trailers de acordo com os fluxos do mercado
A estratégia também pode ser optimizada em vários aspectos:
Teste o impacto dos diferentes parâmetros da faixa de brinquedos nos resultados para encontrar a melhor combinação de parâmetros
Testar diferentes parâmetros de indicadores aleatórios para melhorar o efeito dos indicadores
Dimensões de stop-loss ajustadas dinamicamente com base no número de vezes que o stop-loss é desencadeado e na situação de lucro
Combinado com outros indicadores, o filtro de sinais de entrada aumenta a taxa de sucesso das operações.
Adicionar um mecanismo de reentrada de stop-loss para aproveitar as oportunidades de tendências do mercado
Esta estratégia baseia-se na identificação de situações de sobrevenda de compras na faixa de Brin, com a confirmação auxiliar dos indicadores estocásticos. Tem as vantagens de ter regras estratégicas claras e um método de stop loss razoavelmente flexível. Mas também há riscos de não precisão dos critérios de julgamento, de não definir um intervalo de stop loss razoavelmente.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger y Estocástico con Trailing Stop", overlay=true) // Parámetros de entrada lengthBB = input(20, title="Longitud BB") stdDevBB = input(2, title="Desviación Estándar BB") kLength = input(14, title="Longitud K Estocástico") dLength = input(3, title="Longitud D Estocástico") smooth = input(3, title="Suavizado Estocástico") atrLength = input(14, title="Longitud ATR") trailStopATRMultiple = input(1.5, title="Multiplicador ATR para Trailing Stop") // Cálculos [upperBB, basisBB, lowerBB] = ta.bb(close, lengthBB, stdDevBB) stochK = ta.sma(ta.stoch(close, high, low, kLength), smooth) atr = ta.atr(atrLength) // Condiciones de trading longCondition = close < lowerBB and stochK < 20 shortCondition = close > upperBB and stochK > 80 // Ejecutar operaciones if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Trailing Stop strategy.exit("Exit Long", from_entry="Long", trail_points=atr * trailStopATRMultiple, trail_offset=atr * trailStopATRMultiple) strategy.exit("Exit Short", from_entry="Short", trail_points=atr * trailStopATRMultiple, trail_offset=atr * trailStopATRMultiple)