martes, 4 de noviembre de 2008

Indicadores con VBA

La programación de indicadores en VisualChart 5 incluye algunas nuevas funciones para personalizar los colores, tipos de representación... de los indicadores en cada barra. Además, incluye algunas funciones extra que pueden ser útiles para avisar de algún evento concreto.

En este artículo voy a mostrar solo una pequeña parte de las novedades que se incluyen. La imaginación de cada uno puede darles muy diversas utilidades.

He utilizado el indicador Keltner que incluye VisualChart para generar un nuevo indicador Keltner2 similar pero con una visualización distinta. El funcionamiento de este indicador puede consultarse en Internet. Supongamos que, para nuestra operativa, nos interesa remarcar las zonas donde el cierre del valor excede a las bandas superior o inferior.


Public Sub Indicator_OnCalculateBar(ByVal Bar As Long)
With APP
Avg = .GetIndicatorValue(AvSimpleData)
AvgTrRang = .GetIndicatorValue(AvTrueRangeData)
UpperKeltner = Avg + AvgTrRang * Constant
Lowerkeltner = Avg + AvgTrRang * -Constant
.SetIndicatorValue Lowerkeltner
.SetIndicatorValue Avg, 2
.SetIndicatorValue UpperKeltner, 3

.SetBarColor 0, 2, RGB(0, 0, 0)
.SetBarColor 0, 3, RGB(0, 0, 255)

If .GetIndicatorValue(Data) < Lowerkeltner Then
.SetBarWidth 0, 1, 3
.SetBarColor 0, 1, RGB(255, 0, 0)
.SetWndBackgroundColor RGB(255, 150, 150)
ElseIf .GetIndicatorValue(Data) > UpperKeltner Then
.SetBarWidth 0, 3, 3
.SetBarColor 0, 3, RGB(0, 0, 255)
.SetWndBackgroundColor RGB(0, 150, 255)
Else
.SetWndBackgroundColor RGB(255, 255, 255)
End If

End With
End Sub

En color azul se muestra el código que he agregado. En él, compruebo si el cierre del valor excede alguna de las bandas. Si es así, pinto el indicador con mayor grosor en esas barras además de cambiarle el color.

La función SetWndBackGroundColor es muy interesante. Cambia el color de toda la ventana en la que esté el indicador. En el ejemplo anterior, cuando se excede el valor de la banda inferior se pinta toda la ventana del indicador de color rojo pálido mientras que si se excede la banda superior, se hace de azul pálido. En otro caso, se mantiene el color blanco.

Si disponemos de tiempo real, podemos ver como cambia el color de fondo de la ventana del indicador cuando ocurre alguno de los dos casos contemplados. Es algo bastante llamativo por lo que se puede utilizar como una alerta visual que nos indica que debemos, por ejemplo, abrir o cerrar alguna posición.





En el video se puede apreciar, en la primera página, el indicador original; En la segunda, la modificación realizada en una ventana aparte y, para ver mejor las zonas en las que el cierre excede las bandas, el indicador original en la ventana del gráfico. Para quien lo desconozca y le resulte algo novedoso (aunque se trata de algo presente en VisualChart 4), he utilizado el cuadrado de color para cambiar rápidamente de gráfico desde la tabla (simplemente haciendo doble click en la descripción).

Además de lo aquí mencionado, se pueden hacer más cambios visuales en los indicadores desde VBA. Se pueden poner en representación de histograma determinadas barras, dibujar punteadas las partes poco relevantes del indicador... y algunas cosas que no he sabido hacer funcionar (por desconocimiento o por mal funcionamiento de la versión de prueba).

lunes, 3 de noviembre de 2008

Indicadores en VisualChart 5

No he encontrado ningún tipo de información sobre los indicadores de la versión 5 de VisualChart pero investigando y con ayuda de alguna consulta al servicio de atención al cliente he recopilado alguna información relacionada con los indicadores. Lo expongo aquí y en el siguiente artículo. Es probable que la ayuda de VisualChart, cuando esté disponible, amplie considerablemente todo esto.

Con un gráfico abierto, pulsamos el botón de insertar indicador y aparece la siguiente ventana:

Escribimos o seleccionamos un indicador de la lista. En la parte inferior podemos apreciar las opciones típicas de los indicadores de VisualChart 4 y debajo, agrupada en "Estilo" algunas opciones referentes al aspecto del indicador. Si pulsamos en el signo "+" que hay a la izquierda de "Estilo" veremos las propiedades que contiene:


Para cada línea del indicador podemos configurar el tipo de representación, su grosor, sus colores alcista/bajista/neutro y, en la representación de histograma, como queremos que se forme el mismo (se puede elegir cualquier línea incluso si no es una banda). También podemos elegir todos estos valores usando una plantilla (la primera opción de "Estilos"):


Cuando insertamos el indicador, este aparece tal como lo hemos configurado. Una vez insertado, podemos modificar cualquier cosa en las propiedades:


Hay una opción "Cotización" muy similar a lo que se puede configurar para una línea de un indicador que permite indicar como queremos que se vea el valor asociado al indicador. Así, en el gráfico, podemos ver sus colores alterados en función del indicador.

La última opción en "Estilo" es la de "Guardar como plantilla". Si pulsamos este botón, podemos guardar la configuración en un fichero para cargarla después en cualquier indicador (desde la opción "Plantilla" que hay al principio de "Estilo"). No se porque, pero no siempre se muestran mis plantillas (será algún problema que todavía no está corregido).

Tener plantillas por indicador tiene la ventaja de que permite que cada indicador tenga una plantilla distinta (las plantillas que conocemos de VisualChart 4 se aplican a toda la ventana). Desde VisualChart, seria muy interesante poder hacer como se hace con las plantillas antiguas: asociar una plantilla con un indicador para que siempre se abra con el aspecto previamente guardado.

En el siguiente artículo os expondré unas funciones nuevas que hay en el entorno VBA que permiten hacer cosas muy interesantes. Cuando termine de investigarlas pondré todo lo que haya aprendido en un artículo. Hasta entonces, comentar que se puede personalizar el aspecto de cada barra de cada línea del indicador. Esto podemos usarlo para que algunas barras sueltas, tendencias... se pinten de forma que resalten del resto.

viernes, 31 de octubre de 2008

Trabajar con ventanas en VisualChart 5

La nueva interfaz de VisualChart 5 es bien distinta a la de versiones previas, similar a la que Microsoft incluye en su paquete ofimático Office 2007.

Trabajar con ventanas es imprescindible y resulta vital para sacarle provecho al programa. En esta nueva versión, el cambio es radical y, sin ninguna duda, es a mejor. Cuesta adaptarse al nuevo entorno pero pronto se van viendo detalles que hacen que, en poco tiempo, las ventanas de las versiones anteriores de VisualChart sean un infierno.

Las nuevas ventanas se expanden para ocupar el máximo espacio posible, que es lo que siempre se persigue. Si se abren dos ventanas, cada una se queda con la mitad del espacio aunque, si queremos, podemos darle a una mas tamaño que a otra.

También se pueden juntar dos ventanas de modo que ambas ocupen todo el espacio disponible aunque solo una de ellas se pueda ver en un momento dado. Para alternar entre una y otra ventana, usamos las pestañas que aparecen en la parte superior de la misma. En visualChart 4, las ventanas tenian pestañas abajo pero no se podian mover de una ventana a otra.

En el video podéis ver algunas de las cosas que se pueden hacer con las ventanas (debajo explico más detalladamente aspectos que creo interesantes).



Mover las ventanas para que se pongan todas juntas (y se trabaje con ellas usando las pestañas) en una sola es muy sencillo y se puede hacer de distintas maneras. Algunas de ellas son:

  • Moviendo la pestaña junto a otra pestaña.
  • Moviendo la pestaña y dejándola sobre el centro de los cuadraditos que aparecen.
  • Haciendo click con el botón derecho del ratón sobre la pestaña ("Mover al siguiente grupo" y "Mover al anterior grupo").

En el menú "Ventana" se pueden acceder a algunas funciones interesantes. Podemos, por ejemplo, distribuir el espacio equitativamente a todas las ventanas ("Rebalanceo") o hacer que se vean todas las ventanas de modo que ninguna estaría con varias pestañas ("Tile").

En este menú hay una opción "Ver solo pestañas activas" que permite ganar espacio ya que solo muestra las pestañas de la ventana que está activada. En las demás, al no mostrarse, se gana un espacio extra. Esto es muy apreciable en pantallas grandes donde se apilan bastantes ventanas en la vertical.

Por último y bastante interesante, la opción de "Maximizar" para que la ventana ocupe todo el espacio (las demás desaparecen). El menú "Ventana" se cambia automáticamente al menú "Gráficos" cuando se pincha en un gráfico y es algo incómodo maximizar y restaurar ventanas. Por suerte, haciendo doble click en la pestaña podemos maximizar y restaurar las ventanas.

jueves, 30 de octubre de 2008

Blai5 y VisualChart 5

Por petición de un amigo, he estado investigando como hacer que funcionen los indicadores de blai5 en VisualChart 5. Los problemas en cuestión los comenta su creador en http://www.diasdebolsa.com/foros-bolsa/forum_posts.asp?TID=6439

El siguiente video muestra los pasos a seguir para configurar MACDh en VisualChart 5:


Los problemas de compilación que se mencionan a mi no me ocurren. Los he compilado todos sin errores.

Respecto a las plantillas, que son el problema, parece que basta con crearlas desde VisualChart 5 para que funcionen (quizá no se de soporte a las plantillas en la nueva versión o se deba a algún problema de compatibilidad).

Seguidores