Tradovate API

Colocar órdenes mediante la API de Tradovate

¿Quiere enviar una orden a Tradovate directamente desde su propio código? Así es como se construye la solicitud /order/placeOrder de principio a fin, incluido el indicador isAutomated que suele confundir a muchas personas la primera vez.

Revisado por el equipo de Sistemas de Trading de PickMyTrade Última actualización
· Lectura de 6 minutos
Respuesta del token de acceso de la API de Tradovate devuelta por el endpoint accessTokenRequest

¿Quiere enviar una orden a Tradovate directamente desde su propio código? Tal vez esté creando un bot de trading, programando una estrategia o configurando una automatización como PickMyTrade. En cualquier caso, todo se reduce a una llamada REST: /order/placeOrder. A continuación se explica cómo construir esa solicitud de principio a fin, incluido el indicador isAutomated que suele confundir a muchas personas la primera vez.

¿Qué es el endpoint placeOrder de Tradovate?

/order/placeOrder es el endpoint REST de Tradovate que envía una nueva orden al mercado desde su código en lugar de la interfaz de la plataforma. Usted le entrega un pequeño payload JSON con la cuenta, el contrato, el lado, la cantidad y el tipo de orden, mediante una solicitud HTTPS autenticada, y Tradovate devuelve el ID de la orden resultante o un motivo de fallo. Cada entrada, salida y bracket impulsados por la API se construyen a partir de esta única llamada.

Cómo colocar una orden mediante la API de Tradovate: paso a paso

1

Autentíquese y obtenga un token de acceso

No puede colocar ninguna orden sin antes obtener un token bearer. Envíe (POST) sus credenciales y los datos de la aplicación a /auth/accessTokenRequest, y la respuesta le entregará un accessToken que deberá adjuntar a cada llamada posterior. Los tokens caducan después de un período determinado, así que renueve el suyo mediante /auth/renewAccessToken antes de que expire; es más rápido y sencillo que volver a autenticarse desde cero.

2

Encuentre su accountId y accountSpec

Cada orden necesita dos identificadores de cuenta: el accountId numérico y el accountSpec (el nombre/especificación de su cuenta) en formato de texto. Llame a GET /account/list con su token bearer y extraiga ambos campos de la cuenta con la que desea operar. Si se equivoca en cualquiera de los dos, Tradovate devuelve un error "Access is denied" en lugar de una ejecución.

3

Construya el payload de placeOrder

Ahora arme el cuerpo JSON. Una orden de mercado básica necesita seis campos más el indicador de cumplimiento normativo:

4

Configure isAutomated correctamente y envíe la orden

El booleano isAutomated le indica al mercado quién activó realmente la orden. Si una persona hace clic en un botón de su interfaz, el valor es false (el predeterminado). Si un bot, un algoritmo o cualquier proceso impersonal envía la orden, debe establecer isAutomated: true. Se trata de un requisito de cumplimiento estricto de la CME, no de un detalle opcional. Una vez que el payload esté correcto, envíelo (POST) a /order/placeOrder en el host correcto, demo.tradovateapi.com/v1 para simulación o live.tradovateapi.com/v1 para dinero real, con su token en el encabezado Authorization: Bearer.

5

Confirme la orden o lea el motivo del fallo

Esta es la parte que muchos pasan por alto: un 200 OK significa que la solicitud fue aceptada, no que la orden se ejecutó. El margen, los límites de riesgo o un mercado cerrado aún pueden detenerla por completo. Por eso debe leer el cuerpo de la respuesta: un éxito devuelve un orderId, mientras que un rechazo devuelve un failureReason y un failureText que puede registrar y sobre el que puede actuar. Luego verifique la ejecución en el panel de Órdenes de Tradovate para no confiar únicamente en el código de estado.

Respuesta del token de acceso de la API de Tradovate devuelta por el endpoint accessTokenRequestRespuesta de la API de lista de cuentas de Tradovate que muestra el id numérico de la cuenta y el campo del nombre de la cuenta

{
  "accountSpec": "YOUR_ACCOUNT_NAME",
  "accountId": 123456,
  "action": "Buy",
  "symbol": "MESM6",
  "orderQty": 1,
  "orderType": "Market",
  "isAutomated": true
}

  • action es Buy o Sell; orderType acepta Market, Limit, Stop o StopLimit.
  • Una orden Limit también necesita un price; una orden Stop necesita un stopPrice. Agregue un timeInForce opcional (por ejemplo Day, GTC, IOC o FOK) cuando no desee usar el valor predeterminado.
  • Utilice el símbolo del contrato del mes vigente (front-month); los símbolos vencidos o continuos son rechazados.
Payload JSON de placeOrder de Tradovate en un cliente de API con el indicador isAutomated resaltadoRespuesta 200 OK de la API placeOrder de Tradovate que devuelve el nuevo ID de ordenPanel de Órdenes de Tradovate que muestra la fila de la orden recién creada mediante la API y su estado de ejecución

¿Por qué necesitaría esto?

  • Bots de trading: convierten las señales de una estrategia en entradas y salidas en vivo sin necesidad de hacer clic manualmente.
  • Herramientas de riesgo personalizadas: cierran o cubren posiciones automáticamente en el momento en que se activan sus propias reglas.
  • Plataformas de conexión: enrutan alertas desde TradingView, Python o una hoja de cálculo directamente hacia Tradovate.
  • Transición de backtest a operativa real: reutiliza exactamente la misma lógica de órdenes que probó, ahora enviando órdenes reales.

Automatice esto con PickMyTrade

¿No le apetece gestionar usted mismo los tokens, los ID de cuenta, el indicador isAutomated y los límites de tasa? PickMyTrade conecta sus alertas de TradingView directamente con su cuenta de Tradovate, de modo que las órdenes se envían automáticamente, correctamente formateadas y con las banderas de cumplimiento adecuadas, sin que usted escriba una sola línea de código de API.

Omita la complejidad técnica del envío de órdenes

Deje que PickMyTrade conecte sus alertas de TradingView directamente con su cuenta de Tradovate, para que las órdenes se envíen automáticamente sin que usted tenga que escribir código de API.

Comience su prueba gratuita de 5 días

Preguntas frecuentes

Si un bot o cualquier proceso automatizado activa la orden, sí; el mercado lo trata como un requisito de cumplimiento normativo. Solo las órdenes activadas manualmente por una persona deben enviar false (el valor predeterminado).

Generalmente se debe a un accountId/accountSpec incorrecto o faltante, a un token sin permisos de órdenes, o a usar el host de demo con credenciales reales (o viceversa). Obtenga ambos campos de la cuenta desde /account/list y confirme que está usando la URL base correcta.

No. 200 OK solo significa que Tradovate aceptó la solicitud. Revise el cuerpo de la respuesta para ver un orderId (aceptada) frente a un failureReason (rechazada por motivos de margen, riesgo o mercado cerrado).

Esta guía tiene fines educativos e informativos únicamente y no constituye asesoramiento financiero, de inversión ni de trading. Operar con futuros y otros productos apalancados conlleva un riesgo sustancial de pérdida y no es adecuado para todos los inversores. PickMyTrade es una plataforma de automatización independiente de terceros y no está afiliada, respaldada ni patrocinada por Tradovate, Inc. "Tradovate" y todos los nombres, logotipos y marcas comerciales relacionados son propiedad de sus respectivos dueños. Las funciones y los pasos de la plataforma cambian con el tiempo, por lo que siempre debe confirmar el proceso actual en la plataforma y la documentación oficiales de Tradovate antes de actuar.