Comisión, slippage y capital en Pine (strategy() + Generator)

Define initial_capital, commission, slippage y pyramiding alineado con el máximo de posiciones del paso 6 — los costes van en las Properties del gráfico, no en la estrategia; fíjalos antes de confiar en el Tester.

📖 5 min de lectura

📝 932 palabras

🏷️ Pine Script y TradingView

Compartir este artículo:

Los cuatro parámetros que deciden tu backtest

Los costes en Pine viven en la declaración strategy() (se abre en una pestaña nueva), 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ámetroQué fijaValores [1]
commission_valuecoste por operaciónun número, interpretado por commission_type
commission_typecómo se lee ese númerostrategy.commission.percent o strategy.commission.cash_per_contract
slippagemovimiento de precio entre orden y ejecuciónticks, no puntos ni divisa
initial_capitalfondos inicialesun número

Dos se malinterpretan constantemente.

slippage (se abre en una pestaña nueva) 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 (se abre en una pestaña nueva) 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ámetroEfecto [1]
pyramidingmáximo de entradas simultáneas desde strategy.entry() — por defecto 1
process_orders_on_closeejecuta al cierre de la barra en lugar de la apertura siguiente
calc_on_order_fillsrecalcula 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.

Preguntas frecuentes

En strategy() y Properties. strategy() [1]. Editor · Tester.

No como ajustes de la estrategia. En el paso 6 (Riesgo y gestión del dinero), TradingView no tiene ajustes de órdenes reales: el deslizamiento y los costes de un backtest se fijan en el perfil de prueba, no en la estrategia. El capital, la comisión y el deslizamiento de tu prueba en TradingView se fijan en los ajustes de la estrategia en TradingView. Riesgo.

Coste realista del broker, no cero. Variaciones.

No exactamente. El spread como filtro es otra regla. Filtros.

No debe superar el «Máximo de operaciones a la vez» del paso 6.

Park e Irwin (2007) (DOI [2]).

Referencias

  1. TradingView. Strategies. https://www.tradingview.com/pine-script-docs/concepts/strategies
  2. Park, C.-H., & Irwin, S. H. (2007), Journal of Economic Surveys. What do we know about the profitability of technical analysis?. https://doi.org/10.1111/j.1467-6419.2007.00519.x