Los cuatro parámetros que deciden tu backtest
Los costes en Pine viven en la declaración strategy(), no en la lógica.
Una estrategia con entradas perfectas y sin costes configurados no es un
backtest optimista: es el backtest de un mercado que no te cobra por operar.
| Parámetro | Qué fija | Valores [1] |
|---|---|---|
commission_value | coste por operación | un número, interpretado por commission_type |
commission_type | cómo se lee ese número | strategy.commission.percent o strategy.commission.cash_per_contract |
slippage | movimiento de precio entre orden y ejecución | ticks, no puntos ni divisa |
initial_capital | fondos iniciales | un número |
Dos se malinterpretan constantemente.
slippage va en ticks [1]. No en pips, ni en divisa, ni en porcentaje. Un
tick es el incremento mínimo de precio del instrumento, así que el mismo número
significa cosas muy distintas en EURUSD y en un CFD de índice. Equivocarse por
un factor de diez es fácil y silencioso.
commission_type cambia por completo lo que significa commission_value.
Con strategy.commission.percent, commission_value = 0.1 es una décima de
por ciento del valor de la operación. Con
strategy.commission.cash_per_contract ese mismo 0.1 son diez céntimos por
unidad. Fija uno y asume el otro y el backtest
se equivoca por órdenes de magnitud.
El tamaño de posición forma parte del cuadro de costes
default_qty_type acepta strategy.fixed — un número constante de contratos —
o strategy.percent_of_equity, una parte del capital disponible [1].
default_qty_value es el número que lo acompaña.
Esa elección decide si tu curva compone. El porcentaje de capital compone y hará que una ventaja mediocre parezca espectacular en un backtest largo; el tamaño fijo no, y es la prueba más difícil de superar.
Controles de ejecución que cambian resultados sin cambiar la lógica
| Parámetro | Efecto [1] |
|---|---|
pyramiding | máximo de entradas simultáneas desde strategy.entry() — por defecto 1 |
process_orders_on_close | ejecuta al cierre de la barra en lugar de la apertura siguiente |
calc_on_order_fills | recalcula al ejecutarse órdenes, permitiendo ejecución intrabarra |
Que pyramiding valga 1 por defecto conviene saberlo antes de depurar «por qué
no entró mi segunda orden». No era tu condición: era la declaración.
Una advertencia oficial que merece repetirse
TradingView afirma con claridad que los tipos de gráfico no estándar producen resultados poco realistas por defecto, y que deben usarse gráficos estándar para un backtest realista [1]. Heikin Ashi y Renko en particular producirán una curva que no puede reproducirse con ejecuciones reales.
Elegir valores que puedas defender
No existe un número de comisión correcto que copiar. Los spreads, las comisiones y el slippage habitual difieren por bróker, por instrumento y por tipo de cuenta, así que cualquier cifra publicada aquí sería incorrecta para la mayoría de lectores de una forma que no podrían ver. Lo que se transfiere es el método.
Toma los números de tu propia cuenta, no de un artículo. Tu bróker publica su tabla de comisiones y el spread típico por instrumento. Ese es el dato. Si no lo encuentras, eso ya es algo que conviene saber antes de arriesgar capital.
Fija el slippage desde el tamaño de tick del instrumento, no por costumbre. El slippage va en ticks [1], así que empieza por lo que vale un tick en el instrumento que pruebas y decide después cuántos ticks te cuesta una ejecución realista al tamaño y en la sesión en que realmente operas.
Prueba la estrategia con más de un nivel de coste. Este es el paso que separa una ventaja de un artefacto. Ejecuta la misma estrategia con tus costes esperados y otra vez con aproximadamente el doble. Una estrategia que sobrevive a ambos es interesante. Una que solo funciona con la cifra baja te está diciendo que todo su resultado es la suposición de coste.
Leer el resultado con honestidad
Dos preguntas para cualquier backtest una vez incluidos los costes:
¿Cuánto del beneficio se comieron los costes? Compara neto con bruto. Una estrategia cuyos costes consumen casi toda una ventaja bruta pequeña es una estrategia cuyo resultado depende de conseguir mejores ejecuciones de las que vas a conseguir.
¿Tiene sentido el número de operaciones para ese modelo de costes? Los costes escalan con la frecuencia. Un resultado de alta frecuencia es mucho más sensible a un pequeño error en el slippage que uno de posición, así que una estrategia de scalping necesita la estimación más precisa, que es justo el caso en que es más difícil.
El punto académico, dicho con cuidado
La evidencia revisada sobre reglas técnicas encuentra un panorama mucho más débil una vez contabilizados los costes de transacción [2]. Ese es el hallazgo, y merece citarse precisamente porque es incómodo: no que las reglas nunca funcionen, sino que los resultados antes de costes no son evidencia de nada.
Por eso los parámetros de coste merecen más atención que la lógica de entrada que tienen encima.
Tactix AI en este flujo
AlfaTactix incluye Tactix AI: usa Tactix Studio para describir tu idea en lenguaje natural y rellenar timeframes, señales, filtros y riesgo en el mismo formulario de seis pasos — o abre Tactix Guide en cualquier paso si solo necesitas explicar un campo. Revisa cada valor y luego exporta MQL5 o Pine Script desde Code Generator (form-first — no prompt-to-code sin probar).

