Sistema de negociação de breakout

Autora:ChaoZhang, Data: 2024-02-21 14:02:28
Tags:

img

Resumo

Esta estratégia é um sistema de negociação de ruptura que compra e vende principalmente com base na ruptura dos preços. O sistema usa Bollinger Bands para determinar a área de ruptura do preço. Quando o preço quebra o trilho inferior da Bollinger Band para cima, uma ordem de compra será colocada. Quando o preço quebra o trilho médio ou o trilho inferior da Bollinger Band para baixo, uma ordem de venda será colocada.

Princípio da estratégia

Esta estratégia usa Bandas de Bollinger para determinar áreas de ruptura de preços. Bandas de Bollinger consistem em uma linha média móvel simples de n dias e seu multiplicador de desvio padrão.

Quando o preço de fechamento quebra o trilho inferior para cima, ele indica que o preço começa a subir, o que é um sinal de compra. Quando o preço de fechamento quebra o trilho médio ou inferior para baixo, ele indica que a tendência crescente termina e as posições precisam ser vendidas. Esta estratégia aproveita a tendência dos preços de continuar a subir ou descer após o avanço para obter lucros.

Análise das vantagens

  • A estratégia utiliza a tendência e a inércia dos preços, que são coerentes com as características essenciais do mercado.
  • As bandas de Bollinger indicam claramente os preços de ruptura
  • A lógica estratégica é simples e clara, fácil de entender e modificar
  • Condições de stop loss podem ser definidas para controlar os riscos

Análise de riscos

  • As bandas de Bollinger não podem prever completamente o comportamento dos preços, os preços podem flutuar drasticamente
  • Os sinais de ruptura podem ser errados, levando a perdas comerciais
  • Confiar unicamente nos avanços de preços para determinar o tempo de negociação pode facilmente ser afetado pelo ruído do mercado

Soluções:

  • Combinar outros indicadores para confirmar sinais de avanço
  • Ajustar adequadamente os parâmetros para assegurar sinais de ruptura eficazes
  • Configurar perda de parada para controlar perda única

Orientações de otimização

  • Desempenho dos ensaios em diferentes parâmetros e selecção dos parâmetros ideais
  • Incorporar outros indicadores para filtrar falhas, como o volume de negociação
  • Combinar estratégias de tendência e inversão para negociação em diferentes ambientes de mercado
  • Otimizar com base em configurações de parâmetros para diferentes variedades
  • Incorporar algoritmos de aprendizagem de máquina para prever tendências de preços e pontos-chave de preços

Resumo

Esta é uma estratégia de negociação de ruptura de preço baseada em Bandas de Bollinger. Ela aproveita as características das rupturas de preço para identificar oportunidades de negociação. As vantagens são que é simples, fácil de implementar; as desvantagens são que pode haver falhas que levam a perdas. Podemos otimizar essa estratégia ajustando parâmetros, incorporando outros indicadores e definindo stop loss para obter bons resultados em backtesting e negociação ao vivo. Em geral, esta estratégia é adequada para ambientes de mercado que podem aproveitar completamente a tendência de tendência dos preços.


/*backtest
start: 2023-02-14 00:00:00
end: 2024-02-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0

//Break out trading system works best in a weekly chart and daily chart of Nifty and BankNifty
//@version=4

strategy("Eswar New",shorttitle = "ESW")
length = input(20, minval=1)
exit = input(1, minval=1, maxval=2,title = "Exit Option") // Use Option 1 to exit using lower band; Use Option 2 to exit using basis line

lower = lowest(length)
upper = highest(length)
basis = avg(upper, lower)

l = plot(lower, color=color.blue)
u = plot(upper, color=color.blue)
plot(basis, color=color.orange)
fill(u, l, color=color.blue)

longCondition = crossover(close,upper[1])
if (longCondition)
    strategy.entry("Long", strategy.long)

if(exit==1)
    if (crossunder(close,lower[1]))
        strategy.close("Long")

if(exit==2) 
    if (crossunder(close,basis[1]))
        strategy.close("Long")


Mais.