Tradovate

Cree un bot de auto-trading de Tradovate con la API

Un bot de trading parece complicado hasta que lo divide en partes. Así encajan las piezas de principio a fin, desde autenticarse y transmitir datos de mercado hasta colocar órdenes, y el único flag que hace que rechacen muchos primeros bots.

On This Page

Un bot de trading parece complicado hasta que lo divide en partes. En el fondo es un bucle: iniciar sesión, observar precios, decidir, enviar una orden, repetir. Los ejemplos oficiales de JavaScript de Tradovate muestran exactamente ese camino, y puede seguir la misma estructura en Python, C# o el lenguaje con el que se sienta cómodo. Así encajan las piezas de principio a fin, y el único flag que hace que rechacen muchos primeros bots.

¿Qué hace realmente un bot de trading de Tradovate?

En esencia, un bot de Tradovate se autentica una vez para obtener un token de acceso, mantiene una conexión en vivo con los datos de mercado, ejecuta su lógica en cada actualización de precio y llama al endpoint de órdenes cuando sus reglas lo indican. El repositorio oficial example-api-js lo divide en una pista Access (autenticación REST y órdenes) y una pista WebSockets (datos en tiempo real y trading). El ejemplo AutoTrade los une en un motor orientado a eventos donde una estrategia reacciona a eventos de cotizaciones, DOM y gráficos a medida que llegan.

Cómo construir el bot paso a paso

1

Active el acceso a la API y obtenga las credenciales de su app

Primero necesita las claves. Active el complemento API Access en su cuenta y anote los tres valores con los que se autenticará su código: appId (un nombre para su app), cid (id de cliente) y sec (secreto de cliente). Los combinará con su nombre de usuario y contraseña normales de Tradovate. Aviso: algunas prop firms restringen o prohíben los bots directos por API en sus cuentas, así que confirme que su firma lo permite antes de construir sobre una cuenta fondeada; las reglas varían según la firma, por lo que debe consultar su acuerdo vigente.

2

Autentíquese y obtenga un token de acceso

Nada más funciona sin un token. Envíe por POST un cuerpo de credenciales a /auth/accessTokenRequest con su name, password, appId, appVersion, cid, sec y un deviceId. La respuesta devuelve un accessToken que adjunta como Authorization: Bearer en cada llamada posterior. Los tokens duran unos 90 minutos, así que no espere a un 401: llame a /auth/renewAccessToken unos 15 minutos antes de que caduque para mantener la sesión activa. Incluya un deviceId estable; el trading en real aplica la aprobación de dispositivos con más rigor que la demo.

3

Transmita datos de mercado en vivo por WebSocket

REST sirve para llamadas puntuales, pero un bot necesita un flujo constante, y para eso está el WebSocket. Abra un socket al host de datos de mercado (md.tradovateapi.com), envíe su token de acceso para autorizar y suscríbase a lo que le interese: md/subscribeQuote para precios, o suscripciones de DOM y gráficos para profundidad y barras. A partir de ahí, su código recibe un evento cada vez que el mercado se mueve. Mantenga activo el heartbeat para que la conexión no se caiga en mitad de la sesión.

4

Convierta su señal en órdenes con placeOrder

Este es el cerebro. En el patrón AutoTrade, su estrategia extiende una clase base e implementa una función next() que funciona como un reducer: toma el estado actual más el evento de mercado entrante y devuelve el estado actualizado. Ahí viven los cálculos de sus indicadores y sus reglas de entrada. Cuando el estado dice «adelante», construya el payload de la orden y envíelo a /order/placeOrder. Ese campo isAutomated importa más de lo que parece. Debe ser true en cualquier orden que dispare un bot o un algoritmo; es un requisito de cumplimiento del CME, no una sugerencia. Si lo omite, está invitando a rechazos. Obtenga accountId y accountSpec de /account/list y use siempre el símbolo del contrato del mes frontal vigente.

5

Pruebe en demo y luego gestione tokens y límites de tasa

Ejecute todo el ciclo contra el host de demo (demo.tradovateapi.com/v1) hasta que se comporte bien, porque una lógica errónea en el host real (live.tradovateapi.com/v1) cuesta dinero de verdad. Varias cosas hacen tropezar a los bots nuevos: está limitado a 2 sesiones simultáneas, así que un inicio de sesión perdido desconecta el primero; bombardear los endpoints REST activa límites de tasa y una penalización de tiempo p-ticket que debe esperar; y un token caducado lo rompe todo en silencio. Registre cada respuesta y pase a real solo cuando la demo funcione sin errores durante una sesión completa.

{
  "name": "your_username",
  "password": "your_password",
  "appId": "MyTradingBot",
  "appVersion": "1.0",
  "cid": 1234,
  "sec": "YOUR_CLIENT_SECRET",
  "deviceId": "a-stable-uuid"
}

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

Olvídese de la fontanería con PickMyTrade

Construir usted mismo toda la pila, con renovación de tokens, heartbeats de WebSocket, el flag isAutomated y backoff por límites de tasa, es mucho trabajo antes de haber colocado una sola operación estratégica. Si su señal ya vive en TradingView, PickMyTrade enruta esas alertas directamente a su cuenta de Tradovate con las órdenes formateadas y marcadas para cumplimiento por usted, sin código de API.

Ahórrese construir el bot usted mismo

La renovación de tokens, los heartbeats de WebSocket y el backoff por límites de tasa son trabajo de verdad. Deje que PickMyTrade enrute sus alertas de TradingView a Tradovate.

Comience su prueba gratuita de 7 días

Preguntas frecuentes

Para construir directamente sobre la API, sí: escribirá llamadas de autenticación, un manejador de WebSocket y la lógica de órdenes. Si prefiere no hacerlo, un puente como PickMyTrade convierte alertas de TradingView en órdenes de Tradovate sin ninguna programación.

La causa más común es un flag isAutomated ausente o en false en una orden automatizada, algo que el mercado no acepta. Después, compruebe si hay un accountId/accountSpec incorrecto, un token caducado o si está usando el host de demo con credenciales reales.

Sí. Apunte todo al host de demo y ejecute primero su estrategia en una cuenta simulada. Manténgase ahí hasta que todo el ciclo, autenticación, datos y órdenes, funcione sin errores antes de tocar el entorno real.

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 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 relacionados son propiedad de sus respectivos titulares. Las funciones y los pasos de la plataforma cambian con el tiempo, por lo que debe confirmar siempre el proceso vigente en la plataforma y la documentación oficiales de Tradovate antes de actuar.