Lanzar Órdenes Automáticas a la TWS

Ha llegado el momento: hasta ahora los inversores particulares, las gacelas, se enfrentaban a los poderosos bancos de inversión con armas de mala calidad. Eran los palos y las hoces contra la metralletas y los misiles. Pero un nuevo tipo de inversor se está gestando y, sin duda, será capaz de arrebatarle una pequeña parte de la tarta a los leones anulando el efecto de las emociones y los sentimientos, los cuales muchas veces nos impiden ejecutar un stop o empeñarnos en una posición más de lo debido. Sí, queridos lector@s: aquel que tenga ciertas dotes como programador y domine el diseño de sistemas, está de enhorabuena. Basta con tener cuenta en Interactive Brokers. Es el sueño de Leonardo: tener la TWS conectada a Visual Chart u otro programa de análisis técnico y lanzar las órdenes. Véamos las posibles soluciones que tenemos a este problema:

a) La solución más sencilla y que menos elementos (y, por tanto, menos errores puede darnos) incorpora es conectar directamente Visual Chart con la TWS (suponiendo que nuestro sistema lanza órdenes a mercado, porque si no… ya saben que la TWS va unos segundos por delante de Visual). Alguien que sea astuto programando no tiene más que seguir los siguientes pasos:

– Registrar el control OCX que hallareis en la carpeta c:\Jts\ActiveX

– Seguidamente insertar una línea de código en el sistema que estemos utilizando que conecte con la TWS. Para ello, basta llamar al método Connect() de dicho OCX

– Una vez estemos seguros de que hemos conectado, lanzar la orden a la TWS cuando se cumplan las condiciones de nuestro sistema con el método PlaceOrder(). Ah, y no se olviden del evento nextValidId() para generar un nuevo número de orden (o de lo contrario, el sistema nos rechazará nuevas órdenes y… nos quedariamos abiertos)

Hasta aqui todo muy fácil pero en la práctica todavía no conozco a nadie que lo haya conseguido, excepto a los de AG Mercados que seguramente incorporen en su Visual Chart 3 «algo» que lance las órdenes automáticamente a la TWS pero que, seguramente, implique un coste adicional.

b) Otra solución, quizas más redundante pero a lo mejor más sencilla es hacer que los sistemas de Visual Chart generen en una celda de una hoja de Excel los eventos de compra y venta del sistema y que la TWS lance órdenes condicionadas al contenido de dicha celda. La pega es que esto ya implica tener más de dos aplicaciones abiertas lo que supone cierto riesgo y algo de retardo en el lanzamiento de la orden.

c) Una solución muy interesante que me han comentado recientemente es generar un fichero de texto desde Visual Chart con el contenido de las órdenes generadas en un formato similar al que genera Tradestation para lanzarla desde Bracket Trader (por cierto, en breve haremos un tutorial sobre este fantástico programa). El problema ya le sabeis: implica tener el Visual Chart, la TWS, el Bracket Trader y algún programita que traduzca a un fichero de texto lo que se genera en Visual traducido al formato de Tradestation, es decir, demasiadas aplicaciones que armonizar bajo Windows. Sobre esto tengo que investigar un poco más pero me consta que alguien lo ha logrado ya (si nos lees, por favor, cuentanos un poco más, compartir el conocimiento no hace daño ;-)) Sobre este asunto podeis encontrar más informacion en los siguientes enlaces:

– Bracket Trader: http://www.bracket-trader.com/index.html

– Guia donde se explica claramente como funciona la conexión de Tradestation con Bracket Trader: http://www.bracket-trader.com/ATS.html

Por último, comentarles que aunque he hecho mis pruebas programando aún no he logrado nada pero por si a alguien le sirve, aqui les pongo unos cuantos proyectos en Visual Basic descargados de la lista de correo de Yahoo! sobre la TWS que les pueden dar pistas de por donde empezar si quieren programar sus propias APIs. Pueden descargarlos haciendo click aquí

Espero que dentro de unos meses, consigamos tener una herramienta casi profesional. Por ello, todo aquel que desinteresadamente quiera participar en este proyecto que no dude en escribirnos a [email protected]

Un saludo
X-Trader

COMPARTIR EN: