24 de septiembre de 2013

Curso de Programación. 2. Medias Móviles (Parte 2)

En el presente artículo, continuamos con el análisis de las medias móviles.

También dejamos a su disposición un nuevo ejercicio cuyo contenido está relacionado con éste artículo.

2. MEDIAS MOVILES

2. 7. Uso combinado de medias móviles

El uso combinado de varias medias aparece como alternativa al análisis de la evolución de una única media frente al precio.

En este tipo de estudios, normalmente se utilizan tan solo dos medias, aunque existen algunas estrategias que basan su criterio en el uso de un número mayor (como la estrategia Triple Cruce de la Muerte o el estudio de la nube de medias llamada Rainbow Chart).

Nosotros nos centraremos en el cruce entre dos medias exclusivamente, puesto que es el método más extendido y más sencillo de entender.

Tipo de Combinaciones
Dentro de este tipo de estrategia no sólo existe variedad en cuanto al número de medias implicadas, sino además en el tipo de base que se usa para calcular las medias, pudiendo distinguir entre:

1) Medias de distinto periodo
Consiste en una combinación de dos medias aplicadas a la cotización pero con un tamaño de la población distinto.

2) Media aplicada a otra media
Consiste en una combinación entre una media aplicada a la cotización y una segunda media calculada sobre la primera.

La diferencia respecto a la primera opción es muy tenue, si bien este tipo de estrategia genera menos señales como consecuencia de la suavización de la segunda media.


A fin de no complicar la explicación dela estrategia, centraremos nuestro estudio en el primer tipo, es decir, aquel basado en el uso de dos medias aplicadas sobre el precio.


2.8. Cruce entre Medias frente Cruce con Cotización

En el punto 2.4 de este temario vimos la estrategia basada en el cruce con la cotización. Si comparamos esta nueva estrategia respecto a aquella, las diferencias a destacar serían la siguientes:

A Favor
El principal punto a su favor, es que el cruce entre medias filtra en mayor medida las señales falsas, como consecuencia de la suavización de la señal de cruce

En Contra
Al ser una estrategia más conservadora, cuando se alcanza un movimiento ganador, el punto de posicionamiento de ésta estrategia normalmente será peor que el usado en el cruce con el precio.



2.9. La estrategia cruce entre medias

Vistos los puntos a favor y en contra entre una y otra estrategia, la mejor forma de decidir qué criterio obtiene mayores garantías es diseñar un sistema basado en esta regla y comparar resultados.

Para ello, definiremos la regla de trading asociada a esta idea:
1) Si la media corta se mueve por encima de la media larga, se mantienen posiciones largas.
2) Si la media corta se mueve por debajo de la media larga, se mantienen posiciones cortas.

De donde cabe destacar que cuando hablamos de una media corta nos referimos a una media de periodo menor (por tanto, representa el movimiento a corto plazo) y cuando hablamos de una media larga nos referimos a una media de periodo mayor (por tanto, representa el movimiento a largo plazo).

La comparación entre medias nos sirve para llegar a la siguiente conclusión: Si el movimiento a corto plazo es inverso al movimiento a largo plazo, podemos suponer que se está adelantando al cambio de movimiento largoplacista, por lo que podemos aprovechar esta oportunidad para posicionarnos a favor de la tendencia a corto plazo, ya que suponemos que seguidamente se producirá un movimiento a largo plazo en la misma dirección que nuestro negocio.

Una vez dicho esto, veamos a continuación cómo diseñar el sistema correspondiente.

2.10. Código Fuente (PDV)

En el punto 2.5 de nuestro temario vimos los pasos a seguir para introducir una media exponencial en un sistema en PDV, por lo que nos saltaremos este proceso.

Sin embargo, vamos a detenernos en la explicación de cómo añadir dos medias exponenciales. Para ello:

1. Una vez hemos añadido la primera media exponencial, cuando aparezca el cuadro de diálogo asociado a los parámetros, vamos a cambiar el nombre de la media para una mejor comprensión tal que así:


2. Repetiríamos el proceso para una segunda media. Cabe recordar que para esta segunda media, debemos cambiar el valor del Periodo poniendo un valor mayor (por ejemplo, 100).


Una vez añadidas las medias ya sólo nos queda añadir las condiciones de entrada a largo y corto. En la siguiente imagen podemos ver cómo quedaría el diseño de dicho sistema:


2.11. Código Fuente (VBA)

En el punto 2.6 de nuestro temario vimos el proceso a seguir para añadir una media al código del sistema. En esta ocasión, el proceso es exactamente el mismo, con la salvedad de que en este caso hay que definir dos medias en lugar de una.

Crearemos dos variables de tipo DataIdentifier a las que llamaremos AvCortaData y AvLargaData con el fin de identificar rápidamente a quién hacer referencia cada una. Quedaría del siguiente modo:

'¡¡ Parameters
Dim PeriodoCorta As Integer '30
Dim PRefCorta As Price 'PriceClose
Dim PeriodoLarga As Integer '100
Dim PRefLarga As Price 'PriceClose
'Parameters !!
Dim AvCortaData As DataIdentifier
Dim AvLargaData As DataIdentifier
Option Explicit
Public APP As SysUserApp
Implements System
Public Sub System_OnInitCalculate()
With APP
AvCortaData = .GetIndicatorIdentifier(AvExponential, Data, PeriodoCorta, PRefCorta)
AvLargaData = .GetIndicatorIdentifier(AvExponential, Data, PeriodoLarga, PRefLarga)
.StartBar = 0
End With
End Sub

Tal y como hicimos en el punto 2.6, usamos la función GetIndicatorValue para extraer el valor de las medias de modo que podamos compararlas. El resultado sería el siguiente:

Public Sub System_OnCalculateBar(ByVal Bar As Long)
With APP
    Dim MediaLarga As Double
    Dim MediaCorta As Double
    MediaLarga = .GetIndicatorValue(AvLargaData)
    MediaCorta = .GetIndicatorValue(AvCortaData)
    If MediaCorta > MediaLarga Then
        .Buy AtClose, 1
    Else
        If MediaCorta < MediaLarga Then
            .Sell AtClose, 1
        End If
    End If
End With
End Sub

No hay comentarios:

Publicar un comentario