Volume Bar Colors. Parte 2

La semana pasada introdujimos la idea del Volume Bar Colors, con la cual podíamos distinguir de un vistazo la tendencia del volumen mediante el uso de colores.

En el actual artículo, vamos a proceder a explicar a los usuarios cómo hemos desarrollado en Visual Basic éste interesante indicador.

Programación del indicador

Tal y como explicamos, el color de las barras depende de que se cumplan una serie de condiciones. Por tanto, elegiremos el color y el número de línea a representar según éstas.

Lo primero que hacemos es definir una serie de variables que usaremos de referencia para las condiciones:

    Dim TypeBar As Integer
    Dim ColorBar As Long
    Dim P2 As Double
    Dim V2 As Double
    Dim P1 As Double
    Dim V1 As Double

    P2 = .Close
    V2 = .Volume
    P1 = .Close(LenVBC)
    V1 = .Volume(LenVBC)


Hecho esto, definimos cada una de las condiciones según el color.

1. Caso de color verde:

    'Green Bar
    If (P2 > P1 And V2 > V1) Then
        TypeBar = 1
        ColorBar = RGB(0, 255, 0)
    Else

2. Caso de color azul:

    'Blue Bar
    If (P2 > P1 And V2 <= V1) Then
        TypeBar = 2
        ColorBar = RGB(0, 0, 255)
    Else

3. Caso de color naranja:

    'Orange Bar
    If (P2 <= P1 And V2 <= V1) Then
        TypeBar = 3
        ColorBar = RGB(255, 104, 32)
    Else

4. Caso de color rojo:

    'Red Bar
    If (P2 <= P1 And V2 > V1) Then
        TypeBar = 4
        ColorBar = RGB(255, 0, 0)
    End If



Como vemos, en cada caso especificamos qué color vamos a usar y con qué línea vamos a pintar el volumen. Hacemos esto para dar la opción de que cada tipo de color sea independiente y que así el usuario tenga la opción posteriormente de cambiar el color por defecto.

Una vez hemos definido las condiciones, debemos dar dos pasos:

1. Asignar el valor NULO a cada una de las cuatro líneas.

    '--- Paint Bars
    .SetIndicatorValue NullValue, 1
    .SetIndicatorValue NullValue, 2
    .SetIndicatorValue NullValue, 3
    .SetIndicatorValue NullValue, 4

2. Asignar el valor del VOLUMEN a la línea seleccionada.

    If TypeBar <> 0 Then
        .SetIndicatorValue .Volume, TypeBar
        If ManualColor = 0 Then
            .SetBarProperties 0, TypeBar, ColorBar, 2, lsSolid, irVolume
        End If
    End If

Como hemos dicho, damos la oportunidad de poder cambiar el color manualmente. Para ello, añadimos el parámetro ManualColor, de modo que si está activo no le damos estilo al indicador desde programación y en el caso contrario sí le aplicamos estilo desde el código:


Cabe destacar que debemos especificar la opción de cambiar el estilo manualmente o no debido a que no se permite la acción de ambas posibilidades: Si añadimos estilo al indicador desde el código, luego no podremos cambiarlo desde las propiedades del indicador.

Volume Bar Colors mediante estudio

La idea del Volume Bar Colors también podemos desarrollarla a través de un estudio que dibuje igualmente los cuatro colores, opción que puede servirnos si por ejemplo, trabajamos con Visual Chart 4, ya que el indicador anteriormente visto sólo funcionará sobre la versión 5 de nuestro programa.

Pueden descargar el estudio del que les hablamos desde el siguiente enlace:

Volume Bar Colors Study

Además, el estudio se ha diseñado mediante la Plataforma Visual para que lo usuarios familiarizados con ésta herramienta puedan ver el proceso de desarrollo:


El problema que presenta la versión del estudio, es que no nos permite la opción de cambiar el estilo, pudiendo sólo cambiarla desde el código (como ocurre de hecho con todos los estudios).

Comentarios

Entradas populares de este blog

Como consultar el GAP % de un conjunto de valores

Bollinger Volatility Oscillator N

MANEJO DE PLANTILLAS. Eliminar plantilla de un gráfico activa