Little Bird Trading

Comissão negativa no Pine Script: o que significa e como a corrigir

3 min de leitura · Atualizado em

Se o seu Strategy Tester do TradingView mostra uma comissão negativa, ou um backtest muito melhor do que devia, a definição de comissão é o primeiro sítio a verificar. Esta página explica o que faz uma comissão negativa no Pine Script, porque aparece por engano e como definir custos que correspondam ao seu corretor.

Onde se define a comissão no Pine Script

Os custos de negociação de uma estratégia vêm de dois argumentos da chamada strategy():

  • commission_type: como o custo é medido. strategy.commission.percent é uma percentagem do valor da ordem, strategy.commission.cash_per_contract é um montante fixo por contrato e strategy.commission.cash_per_order é um montante fixo por ordem.
  • commission_value: o número usado com esse tipo. O valor por omissão é 0, por isso uma estratégia sem comissão definida negoceia de graça.

As mesmas duas definições aparecem no separador Definições > Propriedades da estratégia. Um valor introduzido aí substitui o do código no seu gráfico, por isso duas pessoas podem correr o mesmo script e ver resultados diferentes.

O que faz uma comissão negativa

Um commission_value negativo é aplicado como crédito. Cada execução acrescenta dinheiro à conta onde um custo normalmente o retiraria. Algumas bolsas pagam um reembolso às ordens que acrescentam liquidez, por isso um pequeno valor negativo pode descrever um plano de reembolso real. Para um investidor particular que paga a um corretor, um número negativo vem quase sempre de uma gralha ou de um script copiado, e faz cada operação parecer melhor do que teria sido.

O efeito cresce com o número de operações. Uma estratégia que negoceia 400 vezes por ano com um crédito de 2 US$ por contrato por execução ganha 1600 US$ por contrato só com a definição, antes de contar um único movimento de preço.

Como a detetar

  • Na Lista de operações do Strategy Tester, o lucro líquido das pequenas operações vencedoras é maior do que o movimento do preço vezes o valor do contrato.
  • As operações neutras (entrada e saída ao mesmo preço) mostram lucro.
  • O resumo de desempenho mostra a comissão paga como número negativo.
  • Os resultados melhoram visivelmente quando aumenta a frequência das operações, sem mudar a lógica de entrada.

Como a definir corretamente

  1. Descubra o custo total real do seu corretor por contrato e por lado: comissão, taxa de bolsa, compensação e taxas regulatórias em conjunto.
  2. Para futuros, use commission_type=strategy.commission.cash_per_contract com esse montante por lado. O Strategy Tester cobra-o na entrada e de novo na saída, por isso um custo de 2,50 US$ por lado passa a 5 US$ por operação completa.
  3. Para ações e ETF cotados por ação, use cash_per_order para uma taxa fixa por ordem, ou percent se o seu corretor cobra uma percentagem.
  4. Acrescente slippage com o argumento slippage, medido em ticks. Um tick por lado é um bom ponto de partida para futuros de índices líquidos como o ES e o NQ.
  5. Verifique o separador Propriedades depois de carregar o script, para que um valor que lá tenha ficado não substitua o seu código.

Exemplo para uma estratégia no ES com um custo de 2,50 US$ por lado e um tick de slippage:

strategy("ES levels test", overlay=true,
     commission_type=strategy.commission.cash_per_contract,
     commission_value=2.5, slippage=1)

Porque isto importa antes de negociar uma estratégia em real

Os custos decidem se muitas estratégias intradiárias ganham dinheiro. Um tick no ES são 0.25 pontos, no valor de 12,50 US$, por isso uma estratégia que ganha em média poucos ticks por operação pode passar de lucrativa a perdedora quando entram a comissão e o slippage reais. Se um backtest só funciona com custos nulos ou negativos, não vai aguentar em real. As perguntas frequentes de Pine Script sobre backtests e alertas cobrem as outras razões por que backtest e resultados reais se afastam, e como detetar sistemas de trading sobreajustados cobre o resto da checklist.

Testar uma estratégia nos níveis diários

A Little Bird Trading publica os níveis de suporte, resistência e pivot da sessão seguinte para 20 mercados, 23 símbolos no total, incluindo o ES, o NQ, o SPY e o QQQ. Através do MyLinedChart, os níveis carregam no seu gráfico ou descarregam-se como dados, para testar entradas nesses preços com custos realistas. O exemplo de plano de trading mostra como é o plano de um dia.

Perguntas frequentes

O commission_value pode ser negativo no Pine Script?

Sim. O Strategy Tester trata um valor negativo como um crédito em cada execução. Use-o apenas para modelar um reembolso real que recebe.

O TradingView cobra a comissão por lado ou por operação completa?

Por execução. O montante é cobrado na entrada e de novo na saída, por isso introduza o seu custo por lado.

Porque é que a minha estratégia mostra resultados diferentes no gráfico de outra pessoa?

As definições do separador Propriedades, incluindo comissão e slippage, podem diferir dos valores no código. Compare-as primeiro.

Isto é aconselhamento financeiro?

Não. Esta página é formação sobre como se configuram os backtests. As suas operações são decididas e assumidas por si.

Apenas conteúdo educativo. Não é aconselhamento de investimento.