Trading Tools: Descarga de históricos para Visual Chart 6

Las Trading Tools de Visual Chart son unas potentes herramientas basadas en la tecnología COM (Component Object Model) que permiten acceder a la información que se maneja desde el programa a través de cualquier entorno de desarrollo compatible con dicha tecnología.

Es decir, que podemos desarrollar un programa cliente que utilice a Visual Chart como servidor de datos, pudiendo trabajar desde el programa cliente con los datos bursátiles que proporciona Visual Chart.

El ejemplo más común de programa cliente compatible con esta tecnología es Microsoft Excel. A través de las macros de Microsoft, podemos diseñar sencillas herramientas que nos permitan manipular desde la famosa hoja de cálculo datos como precios en tiempo real, indicadores, información de estrategias, noticias, análisis técnico, información de la cuenta, etc...

Un ejemplo de ello lo tenemos en la hoja Excel que publicamos en este artículo.

Puede descargar la hoja desde el siguiente enlace:


Acerca de la hoja Excel Descarga de Históricos
Esta hoja Excel nos permite obtener los resultados históricos de un producto concreto, especificando el código de dicho producto, precio a descargar, las fechas del intervalo a descargar y la compresión temporal.

Para poder utilizar de forma correcta dicha hoja, es necesario seguir una serie de pasos sin los cuales no será posible activar la conexión cliente/servidor entre Excel y Visual Chart.

Los pasos serían los siguientes:
1. Debemos abrir Visual Chart 6 con permisos de administrador (botón derecho sobre el icono y desde ahí, Ejecutar como administrador):

2. Hecho esto, debemos buscar el archivo ejecutable de Microsoft Excel. Para ello, accedemos a la ruta siguiente ruta:

C:\Program Files\Microsoft Office\Office15 (o la versión que tengamos). 

Y luego buscamos el icono ejecutable de Excel. Una vez lo localicemos, repetimos la acción de abrir con permisos de administrador seleccionando la opción Ejecutar como administrador:

3. Por último, y ya desde Excel, seleccionamos la opción Abrir otros libros (o directamente, Abrir) y abrimos el archivo Ejemplo Descarga Histórico VC6.xlsm.

4. Otro problema con el que nos podemos encontrar es que tengamos deshabilitado el uso de macros o de ActiveX. Para activarlos, debemos acceder al menú ARCHIVO/Opciones y desde ahí, pulsar el botón Configuración del Centro de confianza que nos aparecerá al seleccionar Centro de confianza:
Una vez dentro de la ventana de Centro de confianza, seleccionamos las dos opciones de habilitar.
En Configuración de ActiveX:
En Configuración de macros:

Una vez tengamos la hoja Excel abierta, veremos que en la parte superior aparece la cabecera con los datos que se solicitan para realizar la descarga. 

Estos campos serían los siguientes:
1. Código símbolo.
Aquí debemos especificar el código del producto siguiendo la nomenclatura que utiliza Visual Chart. El código siempre debe seguir esta estructura:

010 + Código Mercado + Código Producto.

Por ejemplo, si queremos descargar los datos de Santander, pondremos:

010 + 060 + SAN.MC = 010060SAN.MC

Es recomendable, al menos una vez, abrir desde Visual Chart 6 un gráfico del producto a descargar.

2. Fecha Desde/Hasta
Desde aquí especificamos el periodo de descarga.

3. Valor Referencia.
Desde aquí especificamos si queremos obtener los precios de cierre, de apertura o medios.

4. Compresión.
Desde aquí especificamos si queremos obtener los datos de 5 minutos, 1 día, etc...

Una vez tengamos toda la información detallada, pulsamos DESCARGAR y el proceso de descarga comenzará.

Comentarios

  1. No funciona. Aparece el error '429' en tiempo de ejecución: El componente ActiveX no puede crear el objeto

    ResponderEliminar
  2. Hola Daniel, ¿en qué momento te aparece este error? Gracias!

    ResponderEliminar
  3. A mi también me aparece en la línea
    Set g_Objects = New DataSourceManager
    ...He cerrado la hoja y vuelto a abrirla y ahora no da el error pero hay indicadores para los que no muestra ninguna información como AvExponential, MACD, DirectionalMov y por ejemplo después que ha fallado mostrar la información de un indicador y vuelves a seleccionar "AvSimple" que es la que aparece por defecto ya no muestra nada tampoco.
    Para algunos indicadores de los que funcionan no me muestra todas las sesiones del rango de fechas

    ResponderEliminar
    Respuestas
    1. ¿Ha probado a seguir todos los pasos indicados en el artículo? En principio habilitando todos los componentes y ejecutando los programas en modo administrador, la aplicación debe funcionar. De todas formas, creo que se refiere a otro ejemplo de los que hemos publicado, ya que el de este artículo sólo incluye la descarga de históricos de valores, no de indicadores.

      Eliminar
    2. Hola, el excel no puedo ejecutarlo en modo administrador, símplemente puedo ejecutarlo. Es la versión 2002. Con el botón derecho no me sale dicha opción. ¿ hay alguna razón por la que no debería funcionar con esta versión?. El componente visual chart está habilitado. Lo que si he comprobado es que si ejecuto VC en modo administrador y excel lo ejecuto sale el error '429' en tiempo de ejecución: El componente ActiveX no puede crear el objeto.
      Sólo me funciona "algo" según mi comentario anterior cuando ejecuto ambos normal.

      Eliminar
    3. Si intenta abrir directamente el archivo, efectivamente no le aparece la opción en modo administrador. Si sigue los pasos indicados en el artículo, verá que se especifica que hay que buscar el archivo ejecutable de Microsofot Excel, el cual encontrará en la ruta C:\Program Files\Microsoft Office\Office15 (o la versión que tengamos). Ese es el archivo que hay que ejecutar en modo administrador. Una vez abierto, desde ahí, accedemos a Abrir y buscamos la ruta donde tengamos ubicado el archivo. Es necesario hacerlo siguiendo estos pasos para que funcione la conexión Visual/Excel. Si no le queda claro, póngase en contacto con el servicio de atención al cliente para que puedan ayudarle a seguir los pasos uno a uno.

      Eliminar
    4. Muchas gracias. Ahora ya ejecuto ambos en modo administrador pero me sigue pasando lo mismo. Por ejemplo para el MACD no sale nada y para el RSI sólo salen 6 días de un rang de un mes. Me he puesto en contacto con soporte a ver si me pueden decir algo.

      Eliminar
    5. Puede que le falten datos en el histórico local. Para confirmarlo, abra una ventana en Visual Chart 6 con el valor sobre el que está haciendo la prueba con un histórico de uno o dos años. Al hacer esto, se descargará el histórico en local. Cuando acabe, vuelva a probar a ejecutar la aplicación.

      Eliminar
  4. Hola a ver si algún buen forero me puede ayudar con este tema porque los de visualchart ya no me responden al correo electrónico. Tengo una hoja excel que me debería recuperar los valores de los indicadores para un símbolo entre dos fechas que amablemente me facilitaron. Hay algunos indicadores definidos en una combo pero para la mayoría no recupera datos y para alguno que recupera algo, no recupera todas las sesiones del rango de fechas. Tanto VC6 como Excel están en modo administrador y excel configurado según indica el artículo. Le pongo un símbolo válido, por ejemplo 010060SAN.MC y le indico que me recupere el MACD para mayo de este año que mirando el calendario fueron 22 sesiones.
    El código de la hoja es este:

    While Not Salir
    On Error Resume Next
    Set fuente = g_Objects.NewDataSerie(Simbolo, tipocompresion, compresion, FechaIni, FechaFin)
    Set MySource = g_Objects.GetDataSource(fuente.ID)
    '-- Llamada cargar indicador
    If NumeroPara = 1 Then Set indicador = g_Objects.NewIndicator(sIndic, MySource, aParams(1))
    If NumeroPara = 2 Then Set indicador = g_Objects.NewIndicator(sIndic, MySource, aParams(1), aParams(2))
    If NumeroPara = 3 Then Set indicador = g_Objects.NewIndicator(sIndic, MySource, aParams(1), aParams(2), aParams(3))
    If NumeroPara = 4 Then Set indicador = g_Objects.NewIndicator(sIndic, MySource, aParams(1), aParams(2), aParams(3), aParams(4))
    If NumeroPara = 5 Then Set indicador = g_Objects.NewIndicator(sIndic, fuente, aParams(1), aParams(2), aParams(3), aParams(4), aParams(5))
    If NumeroPara = 6 Then Set indicador = g_Objects.NewIndicator(sIndic, MySource, aParams(1), aParams(2), aParams(3), aParams(4), aParams(5), aParams(6))
    '--
    If Err.Number = 0 And indicador.Size > 0 Then
    Exito = True: Salir = True
    Else
    Exito = False
    Intentos = Intentos + 1
    If Intentos > 4 Then Salir = True
    End If
    Wend

    Depurando he podido comprobar que tanto "fuente.Size" como "MySource.Size" valen 22, el número de sesiones de Mayo,...sin embargo aunque no da ningún error al crear el indicador el valor de "indicador.Size" es igual a cero.

    Gracias de antemano a quien me pueda ayudar.
    PD: Ya si de paso alguien me puede indicar como modificar en Visual Studio un explorer de VC6 porque tampoco me han respondido. Gracias.

    ResponderEliminar
    Respuestas
    1. Nos facilita por favor su email para poder contestarle y ayudarle con sus consultas.
      Gracias.

      Eliminar
    2. Este comentario ha sido eliminado por el autor.

      Eliminar
  5. Hola,

    ¿En qué horario se pueden descargar los datos históricos? Es para hacerlo periódicamente y organizarme sin causar perjuicios.

    Un saludo

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

KDJ - Indicador Stochastic %J

El indicador Relative Strength Mansfield with Index