Comissão negativa no Pine Script: o que significa e como 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 deveria, a configuração de comissão é o primeiro lugar para olhar. Esta página explica o que uma comissão negativa faz no Pine Script, por que ela aparece por engano e como definir custos que batam com a sua corretora.
Onde a comissão é definida no Pine Script
Os custos de uma estratégia vêm de dois argumentos na chamada strategy():
- commission_type: como o custo é medido.
strategy.commission.percenté uma porcentagem do valor da ordem,strategy.commission.cash_per_contracté um valor fixo por contrato estrategy.commission.cash_per_orderé um valor fixo por ordem. - commission_value: o número usado com esse tipo. O padrão é 0, então uma estratégia sem comissão definida opera de graça.
As mesmas duas configurações aparecem na aba Configurações > Propriedades da estratégia. Um valor digitado ali substitui o do código no seu gráfico, por isso duas pessoas podem rodar o mesmo script e ver resultados diferentes.
O que uma comissão negativa faz
Um commission_value negativo é aplicado como crédito. Cada execução adiciona dinheiro à conta onde um custo normalmente tiraria. Algumas bolsas pagam rebate a ordens que adicionam liquidez, então um pequeno valor negativo pode descrever um plano de rebate real. Para um trader pessoa física que paga uma corretora, um número negativo quase sempre vem de um erro de digitação 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 opera 400 vezes por ano com crédito de US$ 2 por contrato por execução ganha US$ 1600 por contrato só com a configuração, antes de contar um único movimento de preço.
Como identificar
- Na Lista de operações do Strategy Tester, o lucro líquido de pequenas operações vencedoras é maior que o movimento do preço vezes o valor do contrato.
- Operações no zero a zero (entrada e saída no mesmo preço) mostram lucro.
- O resumo de desempenho mostra a comissão paga como número negativo.
- Os resultados melhoram visivelmente quando você aumenta a frequência das operações, sem mudar a lógica de entrada.
Como configurar corretamente
- Descubra o custo total real da sua corretora por contrato por lado: comissão, taxa da bolsa, liquidação e taxas regulatórias juntas.
- Para futuros, use
commission_type=strategy.commission.cash_per_contractcom esse valor por lado. O Strategy Tester cobra na entrada e de novo na saída, então um custo de US$ 2,50 por lado vira US$ 5 por operação completa. - Para ações e ETFs cotados por ação, use
cash_per_orderpara uma tarifa fixa por ordem, oupercentse sua corretora cobra uma porcentagem. - Adicione slippage com o argumento
slippage, medido em ticks. Um tick por lado é um bom ponto de partida para futuros de índice líquidos como ES e NQ. - Confira a aba Propriedades depois de carregar o script, para que um valor que ficou ali não substitua o seu código.
Exemplo para uma estratégia de ES com custo de US$ 2,50 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)
Por que isso importa antes de operar uma estratégia de verdade
Os custos decidem se muitas estratégias intraday ganham dinheiro. Um tick no ES é 0.25 ponto, valendo US$ 12,50, então uma estratégia que ganha em média poucos ticks por operação pode virar de lucrativa para perdedora quando entram comissão e slippage reais. Se um backtest só funciona com custo zero ou negativo, ele não vai se sustentar ao vivo. O FAQ de Pine Script sobre backtests e alertas cobre os outros motivos pelos quais backtest e resultado real se afastam, e como identificar sistemas de trading sobreajustados cobre o resto do checklist.
Testando uma estratégia nos níveis diários
Little Bird Trading publica os níveis de suporte, resistência e pivô da próxima sessão para 20 mercados, 23 símbolos no total, incluindo ES, NQ, SPY e QQQ. Pelo MyLinedChart, os níveis carregam no seu gráfico ou são baixados como dados, para você testar entradas nesses preços com custos realistas. O exemplo de plano de trade mostra como é o plano de um dia.
FAQ
commission_value pode ser negativo no Pine Script?
Sim. O Strategy Tester trata um valor negativo como crédito em cada execução. Use só para modelar um rebate real que você recebe.
O TradingView cobra comissão por lado ou por operação completa?
Por execução. O valor é cobrado na entrada e de novo na saída, então informe seu custo por lado.
Por que minha estratégia mostra resultados diferentes no gráfico de outra pessoa?
As configurações da aba Propriedades, incluindo comissão e slippage, podem ser diferentes dos valores no código. Compare essas primeiro.
Isto é aconselhamento financeiro?
Não. Esta página é educação sobre como configurar backtests. Você toma e responde pelas suas operações.
Conteúdo apenas educacional. Não é aconselhamento de investimento.