Tradovate API

Cómo solucionar el deslizamiento de precio en órdenes limitadas vía API/webhook de Tradovate

Su alerta dice 4100 y la orden activa muestra 4100.50. Nada cruzó el mercado, el precio simplemente se redondeó en algún punto entre su alerta y el libro. Esto es por qué, y cómo detenerlo.

Revisado por el equipo de Sistemas de Trading de PickMyTrade Última actualización
· Lectura de 8 minutos
Panel de detalles de contrato de Tradovate destacando el tamaño de tick y el formato de precio de un contrato de futuros E-mini

Configura su estrategia para cerrar en 4100. La alerta se dispara, el mensaje claramente dice 4100, y sin embargo la orden activa aparece en 4100.50. Nada cruzó el mercado, nada se ejecutó a un precio malo, el número simplemente cambió en algún punto entre su alerta y el libro de órdenes. Eso es exasperante, y es el tipo de cosa que la gente llama “slippage” mientras sabe en silencio que no es del todo eso.

Aquí va la versión corta: los precios de futuros no viven en una recta numérica continua. Existen solo en una cuadrícula fija de ticks. Si el precio que su estrategia entrega no es un múltiplo exacto de esa cuadrícula, algo tiene que redondearlo, y la dirección en que redondea rara vez es la que tenía usted en mente. Corrija dónde se alinea el precio, y asegúrese de que el límite no esté en el lado equivocado del mercado, y el medio punto fantasma desaparece.

Esta guía repasa por qué se mueve el precio, cómo determinar cuál de las tres causas habituales le está afectando, y exactamente qué cambiar para que sus límites caigan en el número que quería.

Qué significa realmente «slippage» aquí

Vale la pena separar dos cosas muy distintas, porque la solución depende de cuál de ellas tenga.

El slippage real ocurre en una orden de mercado: usted acepta lo que sea que el libro le dé, y en un mercado rápido o poco líquido eso son unos pocos ticks peor que la última cotización. No hay ningún precio que proteger, así que no hay nada que depurar, esa es la operación que pidió.

Lo que usted está viendo es diferente. Una orden límite lleva un precio específico, y ese precio se está transformando antes de reposar en el libro. El número en su alerta y el número en la orden activa no coinciden. Eso no es el mercado moviéndose en su contra; es su precio siendo reformado en tránsito. Buena noticia: los precios reformados son predecibles, y predecible significa solucionable.

Por qué el precio se aleja de su objetivo

Tres mecanismos causan casi todos los casos. Pueden acumularse, así que vale la pena conocer los tres aunque hoy solo uno le esté afectando.

1. El precio no está en la cuadrícula de ticks

Cada contrato tiene un incremento mínimo fijo. Envíe un precio que caiga entre dos ticks legales y se redondeará al más cercano. Eso no es un error, un precio fuera de la cuadrícula simplemente no puede existir en la bolsa, así que tiene que encajar en algún punto.

El problema es que distintos contratos encajan en tamaños distintos, y es fácil suponer el equivocado:

Contrato Tamaño de tick Precios legales cerca de 4100 / 75.00 / 2050
ES, NQ, MES, MNQ0.254100.00, 4100.25, 4100.50, 4100.75
CL (petróleo crudo)0.0175.00, 75.01, 75.02, 75.03
GC, MGC (oro)0.102050.00, 2050.10, 2050.20
YM, MYM (Dow)1.042100, 42101, 42102

Digamos que su lógica calcula una salida de oro en 2050.05. Ese precio no existe, GC se mueve en décimas, así que redondea a 2050.00 o 2050.10, y ahora su salida “5 centavos mejor” está a una décima de distancia. Confirme el incremento actual en la página de especificaciones del contrato de la bolsa antes de confiar en estas cifras; la bolsa puede ajustar un tamaño de tick, y los contratos micro no siempre coinciden con su hermano de tamaño completo.

2. La aritmética de coma flotante lo empuja al otro lado de un tick

Esta es la causa escurridiza, y suele estar detrás de la clásica queja de “envié 4100, obtuve 4100.50”. ES cotiza en cuartos, así que tanto 4100.00 como 4100.50 son perfectamente legales. El precio no se redondeó porque estuviera fuera de la cuadrícula, se redondeó porque el valor que su estrategia realmente calculó no era el 4100 limpio que vio en el texto de la alerta.

Las estrategias rara vez codifican una salida de forma fija. La calculan: una entrada menos un offset, un valor de media móvil, un porcentaje de un rango. Haga eso en coma flotante y obtendrá números como 4100.4999999 o 4100.3700001. Redondee eso al cuarto más cercano y fácilmente puede acabar a medio punto de donde el número redondo de su alerta hacía parecer que acabaría. El mensaje de la alerta y el campo de precio pueden incluso discrepar, porque uno es texto para mostrar y el otro es el valor que se envía.

3. El límite ya está a través del mercado

Este es slippage real disfrazado de orden límite. Un límite de compra con precio por encima del ask actual, o un límite de venta con precio por debajo del bid actual, es “negociable de inmediato”, puede ejecutarse al instante al mejor precio disponible en lugar de reposar. Así que si su estrategia calcula un límite en el lado equivocado del mercado (un error de signo común: restar un offset cuando pretendía sumarlo), la orden cruza el spread y se ejecuta a un precio que no se parece en nada a su número.

Ticket de orden y escalera DOM mostrando un precio límite que reposa fuera del nivel previsto junto al bid y al ask

La pista: los errores de redondeo lo dejan a uno o dos ticks de distancia, siempre con forma de redondeo. Un límite negociable de inmediato lo coloca donde estuviera el libro, lo que puede ser varios ticks y siempre del lado que le cuesta dinero. Si la brecha es mayor a un tick y consistentemente en su contra, sospeche del lado del libro, no de la cuadrícula.

Cómo solucionarlo, paso a paso

1

Lea el tamaño de tick real del contrato

No suponga, búsquelo para el contrato exacto que está operando. Obtenga el tamaño de tick de los detalles de contrato de la plataforma, la página de especificaciones de la bolsa, o la API, donde cada objeto de contrato expone un campo tickSize (junto con priceFormat y priceFormatType, que le indican cómo se escala y se muestra el precio). Los contratos micro y de tamaño completo pueden compartir un tick, pero no siempre, y los rollovers trimestrales no cambian el tick pero sí cambian el símbolo.

2

Redondee cada precio al tick antes de que salga de su estrategia

Haga el redondeo explícito y hágalo como el último paso antes de enviar. El patrón es el mismo en cualquier lenguaje:

rounded = round(rawPrice / tickSize) * tickSize

Para ES con un tick de 0.25, un valor bruto de 4100.37 se convierte en round(4100.37 / 0.25) * 0.25 = round(16401.48) * 0.25 = 16401 * 0.25 = 4100.25. Ahora sabe con precisión qué precio va a salir, porque usted lo calculó, no el enrutador. Si quiere garantizar que nunca cruza el mercado, redondee un límite de compra hacia abajo al tick y un límite de venta hacia arriba, eso mantiene la orden pasiva.

3

Elimine la deriva de coma flotante

Incluso después de redondear, diminutos errores de fracción binaria pueden dejarle 4100.2500001. Ajuste el resultado a la precisión decimal del contrato antes de enviar, formatee ES/NQ a dos decimales, oro a dos, crudo a dos, el Dow a cero. Envíe el precio como un número limpio en el campo, y no dependa del texto de alerta legible por humanos para transportarlo; el valor en el payload es lo que realmente se coloca.

4

Compruebe en qué lado del libro está el límite

Antes de culpar al redondeo, confirme la dirección. Para una compra en espera, el límite debe estar en o por debajo del precio actual; para una venta en espera, en o por encima. Si su precio calculado cruza esa línea, ha encontrado un límite negociable de inmediato, y la solución está en su aritmética de offset, revise el signo y si está trabajando en ticks en lugar de puntos. Cinco “ticks” en ES son 1.25 puntos, no 5.00; confundir eso desvía el precio drásticamente y a menudo lo pone por completo en el lado equivocado.

5

Verifique que la orden activa coincida

Coloque una orden en una cuenta simulada y léala de vuelta. El precio de la orden activa en el panel de Órdenes debería igualar el número al que redondeó, con precisión de tick. Si coincide, ha terminado. Si no coincide, registre el precio bruto exacto, el tamaño de tick que usó, y el valor redondeado que envió, y luego compárelos, la discrepancia casi siempre está en una de esas tres entradas, no en la plataforma.

Editor de mensaje de alerta de TradingView mostrando el marcador de precio mapeado al payload de orden salientePanel de Órdenes de Tradovate mostrando una orden límite activa cuyo precio coincide con el objetivo alineado al tick previsto

Si está enrutando a través de un webhook o puente

Cuando una alerta de TradingView impulsa la orden a través de un puente, hay una entrega adicional en la que el precio puede desviarse. La alerta se dispara con un valor, el puente mapea ese valor a un payload de orden, y el payload es lo que llega al bróker. Dos cosas mantienen esto honesto.

Primero, haga de la estrategia la única fuente de verdad para el precio, redondee al tick dentro de su lógica Pine y pase ese número exacto, ya redondeado, a la alerta, en lugar de enviar un cierre bruto y esperar que el sistema aguas abajo lo redondee como usted querría. Segundo, confirme que el campo que lee el puente es el campo de precio, no una etiqueta.

¿Cansado de redondear precios a mano y perseguir dónde se coló medio tick? PickMyTrade enruta sus alertas de TradingView a Tradovate y gestiona la alineación de ticks por usted, así que el límite que sale de su estrategia es el límite que llega al libro.

Cómo evitar que vuelva a ocurrir

Una vez solucionado, unos pocos hábitos evitan que se repita:

  • Redondee en la estrategia, siempre. Nunca envíe un precio calculado en bruto y deje que algo aguas abajo decida el tick.
  • Registre el valor bruto y el redondeado. Mantenga ambos valores en sus registros para que un tick desviado sea una comparación de dos segundos, no un misterio.
  • Pruebe primero en simulación. Dispare la alerta en una cuenta simulada y revise a simple vista el precio activo antes de confiarle un tamaño real.
  • Trabaje en ticks, no en puntos, para los offsets. Decida de antemano en qué unidad están sus offsets y convierta una sola vez, en un solo lugar.
  • Vigile también las patas del bracket. Los precios de stop y objetivo redondean de la misma manera; si sus patas protectoras caen desviadas, aplica la misma solución de redondeo. Si esas patas fallan en adjuntarse por completo, ese es un problema distinto, consulte nuestra guía sobre fallos de órdenes bracket (OSO/OCO) de la API de Tradovate.

Deje de redondear precios a mano

PickMyTrade enruta sus alertas de TradingView a Tradovate y gestiona la alineación de ticks por usted, así que el límite que sale de su estrategia es el límite que llega al libro.

Comience su prueba gratuita de 5 días

Preguntas frecuentes

Normalmente no. El slippage real es una orden de mercado que se ejecuta peor que la cotización porque el libro se movió. Un límite que aterriza a un tick o medio tick de su alerta fue transformado antes de llegar al libro, redondeado a un tick legal, empujado por aritmética de coma flotante, o enviado a través del mercado como un límite negociable de inmediato. Solo lo último es slippage real; los otros dos son un problema de formato que usted controla.

ES cotiza en incrementos de 0.25, así que de 4100.00 a 4100.75 todos son legales. Si su estrategia calcula el límite a partir de un valor de barra o un offset, el número bruto suele ser algo como 4100.37 o 4100.4999 y redondea al cuarto más cercano, a veces el medio punto por encima de donde esperaba. Redondee el precio al tick usted mismo y registre los valores bruto y redondeado.

Léalo en los detalles de contrato de la plataforma, la página de especificaciones de la bolsa, o el campo tickSize de la API en el objeto de contrato. Como referencia rápida: ES, NQ, MES y MNQ cotizan en 0.25; el crudo (CL) en 0.01; el oro (GC) en 0.10; el Dow (YM) en 1.0. Confirme la especificación actual antes de fiarse de ella.

Elimina la sorpresa del redondeo, ya que una orden de mercado no tiene precio que redondear, pero se ejecuta a lo que sea que ofrezca el libro, lo que en un mercado rápido puede ser peor que un límite correcto. Si el control del precio era el objetivo, mantenga el límite y solucione el redondeo. Si solo necesita la ejecución, una orden de mercado es más simple.

No, la cuadrícula de ticks la establece la bolsa, así que es idéntica en cuentas de evaluación, financiadas y personales. Lo que varía según la firma son qué contratos y tipos de orden se permiten y las reglas de riesgo, y eso se manifiesta como rechazos, no como precios desplazados. Si su precio aterriza fuera del objetivo, revise la alineación y el enrutamiento, y consulte las reglas actuales de su firma para cualquier cosa específica del tipo de orden.

Esta guía tiene fines exclusivamente educativos e informativos y no constituye asesoramiento financiero, de inversión ni de trading. Operar con futuros y otros productos apalancados conlleva un riesgo considerable de pérdida y no es adecuado para todos los inversores. PickMyTrade es una plataforma de automatización de terceros independiente y no está afiliada, respaldada ni patrocinada por Tradovate, Inc. ni por Bookmap. Todos los nombres, logotipos y marcas relacionados son propiedad de sus respectivos titulares. Las funciones y los pasos de la plataforma cambian con el tiempo, así que confirme siempre el proceso actual en la documentación oficial de la plataforma antes de actuar.