Uso de la herramienta Trading Tools: Fuente de datos y operativa
En la última entrada relacionada con las Trading Tools, se habló de cómo acceder a las fuentes de datos de las que dispone VisualChart 5 utilizando estas herramientas.
En esta ocasión, vamos a tratar de mostrar un ejemplo práctico de cómo utilizar estos datos para poder tomar decisiones y asimismo cómo poder diseñar una estrategia automática que opere siguiendo unos criterios preestablecidos.
Para ello, vamos a hacer uso de una hoja Excel que va a ejercer de interfaz cliente, y por tanto llevará incorporada toda la materia que necesitamos para nuestro ejemplo. Podemos descargar dicha hoja Excel accediendo al siguiente enlace:
Ejemplo EventosInd
Ésta nueva hoja Excel, también lleva incorporada una macro que, al activarla, nos va a permitir realizar operaciones de compra y venta a través de la intermediación de Visual Chart 5 según una serie de criterios que el usuario podrá configurar previamente. Estos criterios estarán basados en señales dadas por un indicador que también podrá elegirse de la lista de indicadores.
Cómo hacer uso de la aplicación
El aspecto de la interfaz será el siguiente:
De donde se solicita al usuario los siguientes datos:
- Simbolo Grafico: Indica el código Visual Chart del valor sobre el que se va a aplicar el indicador.
- Indicador: Indica el código del indicador a utilizar en la estrategia.
- Compresión: Indica la compresión de barras que se va a elegir (minutos, días, meses...)
- BarComp: Indica el tamaño de la compresión seleccionada.
- Simbolo para las órdenes: Indica el código Visual Chart del valor sobre el que se van a ejecutar las órdenes lanzadas. No es obligatorio que sea el mismo código que el que usemos al principio, si bien naturalmente, deberá ser un valor que esté abierto en el momento de activar la aplicación. Las órdenes lanzadas en este ejemplo son todas a mercado, sin embargo, pueden configurarse cualquier tipo de orden susceptible de ser aceptada por el bróker que estemos utilizando en la conexión de intermediación.
- TipoCondición: Hemos establecido tres tipos generales de señales de compra y venta basándonos en el seguimiento de los indicadores:
Condición 1. El cruce del indicador con la propia cotización, tal y como ocurre por ejemplo con las medias.
Condición 2. El cruce del indicador con su segunda línea. Como por ejemplo sucede con el Stochastic.
Condición 3. El cruce del indicador sobre un valor x cualquiera. Por ejemplo, en el uso de osciladores.
- ValorCruce: Este campo sólo es necesario rellenarlo cuando se ha seleccionado la tercera condición (cruce sobre un valor X). En este campo especificaremos el valor X a cruzar. Si por ejemplo, elegimos el RSI y optamos por la tercera condición, podemos poner valor cruce igual a 50, ya que es el rango medio del RSI.
Una vez rellenados todos estos campos, basta con pulsar el botón INICIAR y la aplicación comenzará a actuar.
Podemos detener el proceso pulsando el botón PARAR o bien cerrando la hoja Excel.
Acerca de la programación de la aplicación
Para poder llevar a cabo todo lo visto anteriormente, nos hemos apoyado en tres clases pertenecientes a las librerías de las TradingTools, la clase VCDataSourceLib, la clase VCRealTimeLib y la clase COMTraderInterfacesLib.
La clase VCDataSourceLib nos sirve para poder tener acceso a la fuente de datos de VisualChart 5. En nuestro caso, nos ha servido para poder acceder esencialmente a los datos relativos a los indicadores.
Para ello, hemos creado una estructura (TipoSistema) con dos objetos, un objeto de tipo VCDS_DataSerie y otro objeto de tipo VCDS_Indicator
Luego, hemos definido un array de objetos de tipo TipoSistema. Tantos como filas haya rellenado el usuario.
Cuando la aplicación se pone en marcha, se accede a cada una de estas fuentes de datos en busca de las señales de compra y venta que se hayan definido desde la interfaz.
La clase VCRealTimeLib se utiliza para marcar el lapso de tiempo durante el cual se volverá nuevamente a realizar el chequeo de la fuente de datos.
Hemos creado un objeto de tipo VCRT_RealTime con el cual se va a poder acceder al tiempo real de los símbolos definidos en cada una de las filas por el usuario.
Este objeto tiene asociado el evento g_RealTime_OnNewTicks. Cada vez que se ejecuta dicho evento, se ha debido a que, en alguno de los símbolos declarados, se ha generado un nuevo tic o negocio. Cuando esto sucede, buscamos el símbolo en cuestión y verificamos si se ha producido una nueva señal.
La clase COMTraderInterfacesLib, por último, se utiliza para realizar el envío de órdenes.
Para poder realizar la operativa, hemos creado un objeto de tipo VCT_Trader.
Este objeto contiene el método SendOrder con el cual se configura una orden y ésta se envía a través del canal de intermediación que en ese momento esté conectado.
Como consecuencia de esto último, si el usuario no ha establecido ninguna conexión de intermediación desde la propia interfaz de Visual Chart 5, las órdenes enviadas mediante este método lógicamente no se efectuarán.
En esta ocasión, vamos a tratar de mostrar un ejemplo práctico de cómo utilizar estos datos para poder tomar decisiones y asimismo cómo poder diseñar una estrategia automática que opere siguiendo unos criterios preestablecidos.
Para ello, vamos a hacer uso de una hoja Excel que va a ejercer de interfaz cliente, y por tanto llevará incorporada toda la materia que necesitamos para nuestro ejemplo. Podemos descargar dicha hoja Excel accediendo al siguiente enlace:
Ejemplo EventosInd
Ésta nueva hoja Excel, también lleva incorporada una macro que, al activarla, nos va a permitir realizar operaciones de compra y venta a través de la intermediación de Visual Chart 5 según una serie de criterios que el usuario podrá configurar previamente. Estos criterios estarán basados en señales dadas por un indicador que también podrá elegirse de la lista de indicadores.
Cómo hacer uso de la aplicación
El aspecto de la interfaz será el siguiente:
De donde se solicita al usuario los siguientes datos:
- Simbolo Grafico: Indica el código Visual Chart del valor sobre el que se va a aplicar el indicador.
- Indicador: Indica el código del indicador a utilizar en la estrategia.
- Compresión: Indica la compresión de barras que se va a elegir (minutos, días, meses...)
- BarComp: Indica el tamaño de la compresión seleccionada.
- Simbolo para las órdenes: Indica el código Visual Chart del valor sobre el que se van a ejecutar las órdenes lanzadas. No es obligatorio que sea el mismo código que el que usemos al principio, si bien naturalmente, deberá ser un valor que esté abierto en el momento de activar la aplicación. Las órdenes lanzadas en este ejemplo son todas a mercado, sin embargo, pueden configurarse cualquier tipo de orden susceptible de ser aceptada por el bróker que estemos utilizando en la conexión de intermediación.
- TipoCondición: Hemos establecido tres tipos generales de señales de compra y venta basándonos en el seguimiento de los indicadores:
Condición 1. El cruce del indicador con la propia cotización, tal y como ocurre por ejemplo con las medias.
Condición 2. El cruce del indicador con su segunda línea. Como por ejemplo sucede con el Stochastic.
Condición 3. El cruce del indicador sobre un valor x cualquiera. Por ejemplo, en el uso de osciladores.
- ValorCruce: Este campo sólo es necesario rellenarlo cuando se ha seleccionado la tercera condición (cruce sobre un valor X). En este campo especificaremos el valor X a cruzar. Si por ejemplo, elegimos el RSI y optamos por la tercera condición, podemos poner valor cruce igual a 50, ya que es el rango medio del RSI.
Una vez rellenados todos estos campos, basta con pulsar el botón INICIAR y la aplicación comenzará a actuar.
Podemos detener el proceso pulsando el botón PARAR o bien cerrando la hoja Excel.
Acerca de la programación de la aplicación
Para poder llevar a cabo todo lo visto anteriormente, nos hemos apoyado en tres clases pertenecientes a las librerías de las TradingTools, la clase VCDataSourceLib, la clase VCRealTimeLib y la clase COMTraderInterfacesLib.
La clase VCDataSourceLib nos sirve para poder tener acceso a la fuente de datos de VisualChart 5. En nuestro caso, nos ha servido para poder acceder esencialmente a los datos relativos a los indicadores.
Para ello, hemos creado una estructura (TipoSistema) con dos objetos, un objeto de tipo VCDS_DataSerie y otro objeto de tipo VCDS_Indicator
'Estructura para cada pareja de serie de datos e indicador
Private Type TipoSistema
Indicador As VCDS_Indicator
Serie As VCDS_DataSerie
End Type
Dim Sistemas() As TipoSistema
Dim NumSis As Integer
Luego, hemos definido un array de objetos de tipo TipoSistema. Tantos como filas haya rellenado el usuario.
Cuando la aplicación se pone en marcha, se accede a cada una de estas fuentes de datos en busca de las señales de compra y venta que se hayan definido desde la interfaz.
La clase VCRealTimeLib se utiliza para marcar el lapso de tiempo durante el cual se volverá nuevamente a realizar el chequeo de la fuente de datos.
Hemos creado un objeto de tipo VCRT_RealTime con el cual se va a poder acceder al tiempo real de los símbolos definidos en cada una de las filas por el usuario.
' Objeto para recibir el tiempo real
Public WithEvents g_Realtime As VCRealTimeLib.VCRT_RealTime
Este objeto tiene asociado el evento g_RealTime_OnNewTicks. Cada vez que se ejecuta dicho evento, se ha debido a que, en alguno de los símbolos declarados, se ha generado un nuevo tic o negocio. Cuando esto sucede, buscamos el símbolo en cuestión y verificamos si se ha producido una nueva señal.
La clase COMTraderInterfacesLib, por último, se utiliza para realizar el envío de órdenes.
Para poder realizar la operativa, hemos creado un objeto de tipo VCT_Trader.
' Trader Interfaces
Public WithEvents g_Trader As COMTraderInterfacesLib.VCT_Trader
Este objeto contiene el método SendOrder con el cual se configura una orden y ésta se envía a través del canal de intermediación que en ese momento esté conectado.
Como consecuencia de esto último, si el usuario no ha establecido ninguna conexión de intermediación desde la propia interfaz de Visual Chart 5, las órdenes enviadas mediante este método lógicamente no se efectuarán.
Comentarios
Publicar un comentario
¡Gracias!