Estrategias en Visual Chart 6. The Fractal Indicator

El indicador de fractales que vamos a estudiar hoy parte de la idea desarrollada por Bill Williams.

La idea de éste indicador es la de detectar los fractales en el grafíco: Puntos que se forman cuando cinco barras seguidas se posicionan de una manera concreta.


En función del modo en el que se coloquen los precios, nos encontraremos con fractales alcistas o bajistas. Veamos cada uno de los casos:


Fractal Bajista (Bearish Fractals)

Este fractal se da cuando:

1) Detectamos un MAXIMO mayor estricto que los dos últimos máximos más cercanos a izquierda y derecha.


2) Llega un nuevo máximo que CRUZA al alza al MÁXIMO detectado en el primer punto.


Se considera un fractal bajista porque probabilísticamente precede a un movimiento descendente.




Fractal Alcista (Bullish Fractals)
Esta fractal se da cuando:

1) Detectamos un MINIMO menor estricto que los dos últimos mínimos más cercanos a izquierda y derecha.


2) Llega un nuevo mínimo que CRUZA a la baja al MINIMO detectado en el primer punto.


Se considera un fractal alcista porque probabilísticamente precede a un movimiento ascendente.




Desde Visual Chart 6 podemos encontrar un indicador con el que detectar estos patrones. Este indicador se llama Fractal Indicator y lo podrán encontrar en la sub carpeta Patterns.

El Fractal Indicator nos puede servir de señal para la detección de nuevos fractales: Cuando pasa de cero a uno, indica un nuevo fractal alcista, mientras que cuando pasa de uno a cero, indica un nuevo fractal bajista.


Interpretación

Cada uno de los puntos fractales representa un nivel de fuerza, de modo que los podemos usar también como puntos de referencia desde donde trazar niveles de resistencia y soporte.

Aunque hayamos dicho que, por definición, los Bearish Fractals actúan como señales de giro bajista, esto  no choca con la idea de definir niveles de resistencia, ya que, efectivamente, si el precio retrocede tras la aparición de un fractal bajista, quiere decir que el valor del fractal esta actuando precisamente de resistencia.

Teniendo en cuenta esto, si se suceden varios fractales bajistas de forma continuada, podríamos trazar una línea de resistencia que nos sirviera de referencia como punto de inflexión a un nuevo cambio: Si el precio supera dicha línea, existe un alto nivel de probabilidad de que el precio inicie una tendencia alcista con vigor, ya que las fuerzas compradoras han vencido un nivel relevante de resistencia bajista.

Llegaremos  a la misma conclusión para el caso de los Bullish Fractals.

El siguiente ejemplo muestra una posible técnica de trading siguiendo el patrón de soportes y resistencias comentado anteriormente:



Esta estrategia en VB.NET quedaría de la siguiente forma:
<Parameter(Name:="EndOfDay", DefaultValue:=1, MinValue:=0, MaxValue:=1, Step:=1)>
Private endofday As Integer

Dim fractdata As FRACTALIND
Dim nextpup As Double
Dim nextpdn As Double
Dim pup As Double
Dim pdn As Double
''' <summary>
''' This method is used to configure the strategy and is called once before any strategy method is called.
''' </summary>
Public Overrides Sub OnInitCalculate()

Me.fractdata = New FRACTALIND(Me.Data)
Me.pup = 0
Me.pdn = 0
Me.nextpdn = 0
Me.nextpup = 0
Me.ExitPositionsAtEndOfDay = (Me.endofday = 1)
End Sub
''' <summary>
''' Called on each bar update event.
''' </summary>
''' <param name="Bar">Bar index</param>
Public Overrides Sub OnCalculateBar(ByVal Bar As Integer)

If (Me.endofday = 0 Or Me.IsLastDayBar = False) Then

If (Me.fractdata.Value(1) <> CDbl(ErrorCodes.NullValue)) Then
If (Me.fractdata.Value(1) <> Me.fractdata.Value()) Then
If (Me.fractdata.Value() = 0) Then
'bearish fractal
Me.pup = Me.nextpup
Me.nextpdn = Me.Data.Low()
Else
'bullish fractal
Me.pdn = Me.nextpdn
Me.nextpup = Me.Data.High()
End If
End If
If (Me.fractdata.Value() = 0) Then
'bearish fractal
Me.nextpdn = Math.Min(Me.Data.Low(), Me.nextpdn)
Else
'bullish fractal
Me.nextpup = Math.Max(Me.Data.High(), Me.nextpup)
End If
If (Me.GetMarketPosition() <> 1 And Me.pup <> 0) Then
Me.Buy(TradeType.AtStop, 1, Me.pup)
End If
If (Me.GetMarketPosition() <> -1 And Me.pdn <> 0) Then
Me.Sell(TradeType.AtStop, 1, Me.pdn)
End If
End If
Else
Me.pup = 0
Me.pdn = 0
Me.nextpdn = 0
Me.nextpup = 0
End If
End Sub 

Los fractales es una de las cinco técnicas de trading descritas por Bill Williams, recogidas en su teoría del Caos integrado al sentimiento del mercado (Trading Chaos, Maximize profits with proven technical techniques. Bill Williams & Justine Gregory-Williams).

Comentarios

Entradas populares de este blog

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

Indicador Cuidatar

El indicador Volume Distribution