Ferramentas do usuário

Ferramentas do site


tradingview:backtesting:gerenciamento_de_risco

Gerenciamento de Risco

  • Não é fácil criar uma estratégia lucrativa. Normalmente, estratégias são criadas para certos padrões de mercado e podem produzir perdas incontroláveis se aplicadas a outros ativos/mercados.
  • Portanto, interromper a automação de trades quando muitas perdas ocorrem é importante.
  • Um grupo especial de comandos de estratégias ajuda a gerenciar risco. Estes iniciam com o prefixo strategy.risk
  • Em qualquer estratégia é possível combinar qualquer número de combinações de gerenciamento de risco. Todo comando de categoria de risco é calculado a cada variação de tick bem como a cada evento de execução de ordem, independente da configuração de calc_on_order_fills
  • Não há como desabilitar regras de gerenciamento de risco durante execução do script.
  • Independente de onde a regra de gerenciamento de risco está localizada no script, está será sempre aplicada - a não ser que seja apagada e o código recompilado.
  • Quando uma regra de gerenciamento de risco é disparada, nenhuma ordem será gerada a partir da próxima execução do script. Portanto, se a estratégia tem várias regras do mesmo tipo com diferentes parâmetros - esta irá parar de calcular quando a regra com o parâmetro mais restrito for disparada.
  • Quando uma estratégia é interrompida - todas as ordens não executadas são canceladas e uma ordem a mercado é enviada para fechamento de posição caso haja posição aberta.
  • É importante lembrar que quando usando resoluções maiores que 1D - a barra toda é considerada como 1D para regras começando com o prefixo strategy.risk.max_intraday_
//@version=4
strategy("multi risk demo", overlay=true, pyramiding=10, calc_on_order_fills = true)
if year > 2014
    strategy.entry("LE", strategy.long)
strategy.risk.max_intraday_filled_orders(5)
strategy.risk.max_intraday_filled_orders(2)
  • A posição será fechada e operação será interrompida até o fim de cada sessão de negociação após 2 ordens executadas dentro da sessão, já que a segunda regra é disparada antes e é válida até o fim da sessão de negociação.
  • É importante lembrar que a regra strategy.risk.allow_entry_in é aplicada a entradas apenas, então será possível entrar em um trade usando o comando strategy.order, já que este comando não é um comando de entrada por se dizer.
  • Portanto, quando a regra strategy.risk.allow_entry_in está ativa, entradas em um “trade proibido” se tornam saidas ao invés de reversões.
//@version=4
strategy("allow_entry_in demo", overlay=true)
if year > 2014
    strategy.entry("LE", strategy.long, when=strategy.position_size <= 0)
    strategy.entry("SE", strategy.short, when=strategy.position_size > 0)
strategy.risk.allow_entry_in(strategy.direction.long)
  • Já que entradas de venda são proibidas pela regra de gerenciamento de risco, ordens de saída na compra serão feitas ao invés de reversões.


tradingview/backtesting/gerenciamento_de_risco.txt · Última modificação: 05/04/2023 08:25 por 127.0.0.1