Trading Tools: Búsqueda de símbolos y extracción de datos en tiempo real
En anteriores publicaciones, hemos estado viendo cómo extraer información de fuentes utilizando las herramientas Trading Tools desde una hoja Excel.
Además de esta posibilidad, dichas herramientas nos ofrecen la posibilidad de acceder a datos de tiempo real tales como datos fundamentales, relativos a las empresas, etc... Es decir, todos aquellos campos a los que podemos acceder cuando abrimos una tabla en la interfaz de Visual Chart 5.
Esta información la tenemos disponible gracias a la clase VCRealTimeLib. Como ocurre con otras librerías propias de las Trading Tools, ésta clase no hay que descargarla y registrarla de ningún sitio, pues ya viene incluida dentro del paquete de instalación de Visual Chart 5.
Durante esta publicación, veremos un par de ejemplos en los que se utiliza la clase VCRealTimeLib. Por un lado un ejemplo de cómo buscar símbolos y por otro lado un ejemplo de cómo extraer campos de tiempo real.
Como en otras ocasiones, utilizaremos como interfaz cliente Microsoft Excel. Pueden descargar los archivos desde aquí:
Ejemplo Búsqueda de Símbolos
Ejemplo Extraer Datos Tiempo Real
Creación de objetos VCRealTime
Tanto en un ejemplo como en otro, lo primero que hacemos es declarar un objeto de tipo VCRT_RealTime. Este tipo de objeto es el que nos va a permitir trabajar con todos los métodos propios del tiempo real.
Primero declaramos el objeto:
Luego, en el evento correspondiente (normalmente cuando ponemos en marcha la aplicación), creamos el objeto:
Búsqueda de Símbolos
Cuando trabajamos con aplicaciones cliente que usan las Trading Tools, en la mayoría de los casos es necesario conocer el código VisualChart de los símbolos sobre los que queremos trabajar. Una manera rápida de localizarlos es utilizar el método FindSymbols propio del objeto VCRT_RealTime.
En la hoja Excel de ejemplo que hemos facilitado, podemos ver cómo usar dicho método. Sencillamente, pedimos al usuario la palabra clave con la que quiere hacer la consulta. Por ejemplo, si escribimos SACYR en el campo de consulta y pulsamos BUSCAR, nos devolverá el código 010060SYV.MC
A nivel de programación, lo único que vamos a necesitar es un array de cadenas de texto donde almacenaremos el resultado y la llamada al método:
Extracción de datos de tiempo real
En la segunda hoja Excel de ejemplo podremos ver cómo acceder a cualquier campo de tiempo real disponible desde Visual Chart para un mercado en concreto.
La aplicación consiste en lo siguiente: Supongamos que queremos extraer los datos de tiempo real de una tabla. Por ejemplo, la tabla del IBEX35.
Si abrimos dicha tabla desde la interfaz de Visual Chart 5, vamos a acceder a su clave de consulta, ya que será lo que usaremos para descargar dicha tabla en la hoja Excel.
Para ello, pulsamos con el botón derecho sobre la tabla y seleccionamos la opción Establecer consulta...
Nos aparecerá una ventana indicándonos la clave de consulta. Este es el campo que debemos copiar.
Hecho esto, pegamos o escribimos ésta clave en el campo Market de la hoja Excel. De esta forma, la aplicación sabrá sobre qué tabla queremos sacar los datos de tiempo real.
El siguiente paso será elegir qué campos de tiempo real queremos estudiar.
En la fila 4 de la hoja, a partir de la segunda columna, podemos añadir tantos campos como deseemos. Lo único que tenemos que hacer es seleccionar el campo de la lista desplegable:
Además de esta posibilidad, dichas herramientas nos ofrecen la posibilidad de acceder a datos de tiempo real tales como datos fundamentales, relativos a las empresas, etc... Es decir, todos aquellos campos a los que podemos acceder cuando abrimos una tabla en la interfaz de Visual Chart 5.
Esta información la tenemos disponible gracias a la clase VCRealTimeLib. Como ocurre con otras librerías propias de las Trading Tools, ésta clase no hay que descargarla y registrarla de ningún sitio, pues ya viene incluida dentro del paquete de instalación de Visual Chart 5.
Durante esta publicación, veremos un par de ejemplos en los que se utiliza la clase VCRealTimeLib. Por un lado un ejemplo de cómo buscar símbolos y por otro lado un ejemplo de cómo extraer campos de tiempo real.
Como en otras ocasiones, utilizaremos como interfaz cliente Microsoft Excel. Pueden descargar los archivos desde aquí:
Ejemplo Búsqueda de Símbolos
Ejemplo Extraer Datos Tiempo Real
Creación de objetos VCRealTime
Tanto en un ejemplo como en otro, lo primero que hacemos es declarar un objeto de tipo VCRT_RealTime. Este tipo de objeto es el que nos va a permitir trabajar con todos los métodos propios del tiempo real.
Primero declaramos el objeto:
' Real Time COM
Public WithEvents g_Realtime As VCRealTimeLib.VCRT_RealTime
Luego, en el evento correspondiente (normalmente cuando ponemos en marcha la aplicación), creamos el objeto:
Public Sub IniciarSesion()
Dim Val%
LiberarObj
'-- Rutina crear objeto Real Time
If g_Realtime Is Nothing Then
On Error Resume Next
Set g_Realtime = New VCRealTimeLib.VCRT_RealTime
If Err.Number <> 0 Then
MsgBox "ERROR: " & Err.Description
End If
End If
End Sub
Búsqueda de Símbolos
Cuando trabajamos con aplicaciones cliente que usan las Trading Tools, en la mayoría de los casos es necesario conocer el código VisualChart de los símbolos sobre los que queremos trabajar. Una manera rápida de localizarlos es utilizar el método FindSymbols propio del objeto VCRT_RealTime.
En la hoja Excel de ejemplo que hemos facilitado, podemos ver cómo usar dicho método. Sencillamente, pedimos al usuario la palabra clave con la que quiere hacer la consulta. Por ejemplo, si escribimos SACYR en el campo de consulta y pulsamos BUSCAR, nos devolverá el código 010060SYV.MC
A nivel de programación, lo único que vamos a necesitar es un array de cadenas de texto donde almacenaremos el resultado y la llamada al método:
Public Sub GenerarConsulta()
Dim CadSimbolos() As String
Dim i&
If g_Realtime Is Nothing Then IniciarSesion
If TxtConsulta.Text <> "" Then
ReDim CadSimbolos(100)
On Error Resume Next
If ChkNombre.Value = True Then
g_Realtime.FindSymbols TxtConsulta.Text, CadSimbolos
Else
g_Realtime.FindSymbols TxtConsulta.Text & "*", CadSimbolos
End If
If Err.Number = 0 Then
CboConsulta.Clear
For i = 0 To UBound(CadSimbolos)
CboConsulta.AddItem CadSimbolos(i)
Next i
CboConsulta.Value = CadSimbolos(0)
If TxtSimbolo.Text = "" Then TxtSimbolo.Text = CadSimbolos(0)
End If
End If
LiberarObj
End Sub
Extracción de datos de tiempo real
En la segunda hoja Excel de ejemplo podremos ver cómo acceder a cualquier campo de tiempo real disponible desde Visual Chart para un mercado en concreto.
La aplicación consiste en lo siguiente: Supongamos que queremos extraer los datos de tiempo real de una tabla. Por ejemplo, la tabla del IBEX35.
Si abrimos dicha tabla desde la interfaz de Visual Chart 5, vamos a acceder a su clave de consulta, ya que será lo que usaremos para descargar dicha tabla en la hoja Excel.
Para ello, pulsamos con el botón derecho sobre la tabla y seleccionamos la opción Establecer consulta...
Nos aparecerá una ventana indicándonos la clave de consulta. Este es el campo que debemos copiar.
Hecho esto, pegamos o escribimos ésta clave en el campo Market de la hoja Excel. De esta forma, la aplicación sabrá sobre qué tabla queremos sacar los datos de tiempo real.
El siguiente paso será elegir qué campos de tiempo real queremos estudiar.
En la fila 4 de la hoja, a partir de la segunda columna, podemos añadir tantos campos como deseemos. Lo único que tenemos que hacer es seleccionar el campo de la lista desplegable:
Si llega un momento en el que la columna no dispone de ninguna lista desplegable, lo único que tenemos que hacer es un copiar/pegar de la columna anterior para clonar el formato.
Una vez que tenemos elegidos los campos, pulsamos el botón START y la información comenzará a cargarse.
Lógicamente, esto sólo será posible si tenemos contratado el tiempo real del mercado que hemos seleccionado y si tenemos abierto y conectado el tiempo real de Visual Chart 5.
En posteriores publicaciones, explicaremos cómo hemos desarrollado la programación de ésta aplicación.
Comentarios
Publicar un comentario
¡Gracias!