Comisión negativa en Pine Script: qué significa y cómo corregirla
3 min de lectura · Actualizado
Si tu Strategy Tester de TradingView muestra una comisión negativa, o un backtest mucho mejor de lo que debería, el ajuste de comisión es lo primero que hay que revisar. Esta página explica qué hace una comisión negativa en Pine Script, por qué aparece por error y cómo fijar costes que coincidan con tu bróker.
Dónde se fija la comisión en Pine Script
Los costes de trading de una estrategia vienen de dos argumentos de la llamada strategy():
- commission_type: cómo se mide el coste.
strategy.commission.percentes un porcentaje del valor de la orden,strategy.commission.cash_per_contractes un importe fijo por contrato ystrategy.commission.cash_per_orderes un importe fijo por orden. - commission_value: el número usado con ese tipo. Su valor por defecto es 0, así que una estrategia sin comisión fijada opera gratis.
Los mismos dos ajustes aparecen en la pestaña Configuración > Propiedades de la estrategia. Un valor escrito allí sustituye al del código en tu gráfico, por eso dos personas pueden ejecutar el mismo script y ver resultados distintos.
Qué hace una comisión negativa
Un commission_value negativo se aplica como abono. Cada ejecución añade dinero a la cuenta donde un coste normalmente lo quitaría. Algunas bolsas pagan un reembolso a las órdenes que aportan liquidez, así que un valor negativo pequeño puede describir un plan de reembolso real. Para un trader minorista que paga a un bróker, un número negativo casi siempre viene de una errata o de un script copiado, y hace que cada operación parezca mejor de lo que habría sido.
El efecto crece con el número de operaciones. Una estrategia que opera 400 veces al año con un abono de USD 2 por contrato y ejecución gana USD 1600 por contrato solo por el ajuste, antes de contar un solo movimiento de precio.
Cómo detectarla
- En la Lista de operaciones del Strategy Tester, el beneficio neto de las operaciones ganadoras pequeñas es mayor que el movimiento de precio por el valor del contrato.
- Las operaciones neutras (entrada y salida al mismo precio) muestran beneficio.
- El resumen de rendimiento muestra la comisión pagada como número negativo.
- Los resultados mejoran claramente al subir la frecuencia de operaciones, sin cambiar la lógica de entrada.
Cómo fijarla correctamente
- Averigua el coste total real de tu bróker por contrato y por lado: comisión, tasa de bolsa, compensación y tasas regulatorias juntas.
- Para futuros, usa
commission_type=strategy.commission.cash_per_contractcon ese importe por lado. El Strategy Tester lo cobra en la entrada y otra vez en la salida, así que un coste de USD 2.50 por lado se convierte en USD 5 por operación completa. - Para acciones y ETF con precio por acción, usa
cash_per_orderpara una tarifa fija por orden, opercentsi tu bróker cobra un porcentaje. - Añade slippage con el argumento
slippage, medido en ticks. Un tick por lado es un punto de partida razonable para futuros de índices líquidos como ES y NQ. - Revisa la pestaña Propiedades después de cargar el script, para que un valor que quedara allí no sustituya a tu código.
Ejemplo para una estrategia de ES con un coste de USD 2.50 por lado y un tick de slippage:
strategy("ES levels test", overlay=true,
commission_type=strategy.commission.cash_per_contract,
commission_value=2.5, slippage=1)
Por qué importa antes de operar una estrategia en real
Los costes deciden si muchas estrategias intradía ganan dinero. Un tick en ES son 0.25 puntos, que valen USD 12.50, así que una estrategia que gana de media unos pocos ticks por operación puede pasar de rentable a perdedora al incluir la comisión y el slippage reales. Si un backtest solo funciona con costes cero o negativos, no aguantará en real. Las preguntas frecuentes de Pine Script sobre backtests y alertas cubren las demás razones por las que backtest y resultados reales se separan, y cómo detectar sistemas de trading sobreajustados cubre el resto de la lista.
Probar una estrategia con los niveles diarios
Little Bird Trading publica los niveles de soporte, resistencia y pivote de la siguiente sesión para 20 mercados, 23 símbolos en total, incluidos ES, NQ, SPY y QQQ. Con MyLinedChart los niveles se cargan en tu gráfico o se descargan como datos, para que pruebes entradas en esos precios con costes realistas. El plan de trading de ejemplo muestra cómo es el plan de un día.
Preguntas frecuentes
¿Puede commission_value ser negativo en Pine Script?
Sí. El Strategy Tester trata un valor negativo como un abono en cada ejecución. Úsalo solo para modelar un reembolso real que recibas.
¿TradingView cobra la comisión por lado o por operación completa?
Por ejecución. El importe se cobra en la entrada y otra vez en la salida, así que introduce tu coste por lado.
¿Por qué mi estrategia muestra resultados distintos en el gráfico de otra persona?
Los ajustes de la pestaña Propiedades, incluidas la comisión y el slippage, pueden diferir de los valores del código. Compáralos primero.
¿Esto es asesoría financiera?
No. Esta página es formación sobre cómo se configuran los backtests. Tú tomas y asumes tus operaciones.
Contenido solo educativo. No es asesoría de inversión.