Curso de Programación. 11.1. Los indicadores Pivot Point
Los indicadores de tipo Pivot Point (o puntos pivote) son unas herramientas de análisis técnico que trazan sobre el gráfico niveles de soporte y resistencia considerados como relevantes. Esto es así debido a que se trata de puntos especiales donde se espera una reacción del precio. Su detección permite al usuario tomar diferentes decisiones una vez que el precio rebasa estos valores.
El cálculo de los puntos pivote se basa en los precios generados durante periodos temporales previos. El más habitual que podemos encontrar es aquel que se obtiene tomando como referencia los precios del día anterior. No obstante, es posible utilizar otro tipo de temporalidades en función del estudio que desee hacerse.
Los indicadores de Visual Chart dedicados al estudio del punto pivote usan precisamente el Pivot Point Diario. Pueden encontrar estos indicadores por los nombres PivotPoint01 y PivotPoint02. Más adelante explicaremos las diferencias entre un tipo y otro.
Su aspecto sería como se muestra a continuación:
Calculo del Pivot Point
Cuando se estudian los puntos pivote, se suele usar, por un lado, el punto pivote primario (llamado nivel P), y por otro lado una serie de niveles de soporte y resistencia calculados a partir de éste.
El punto pivote primario (P) se obtiene de la siguiente fórmula:
Mientras que el resto de niveles se calculan de la siguiente manera:
Utilidades
Podemos destacar tres utilidades principales en el uso de los puntos pivotes:
1. Como método para detectar tendencias. Puesto que el nivel primario P se considera como un punto de inflexión en el comportamiento del mercado, la ruptura de dicho nivel sirve como posible medidor de la dirección del precio. De este modo, si el precio se encuentra por encima del nivel P, tendríamos una tendencia alcista mientras que si el precio se encuentra por debajo del nivel sería tendencia bajista.
2. Como referencia para tomar puntos de entrada y salida. Podemos colocar órdenes de compra y venta en los precios fijados por los niveles del Pivot Point, tanto en sentido a favor de la ruptura, como en sentido opuesto, en función de si esperamos la continuación del movimiento o una reacción de retroceso. También se puede usar el momento de cruce con dichos niveles como señal de referencia para la toma de decisiones, tal y como veremos en la estrategia planteada en éste artículo.
3. Aplicado a un oscilador. En lugar de trabajar directamente sobre el valor, podemos aplicar el indicador de pivotes sobre un oscilador (como el RSI o el estocástico). El funcionamiento será el mismo que si se aplica sobre el subyacente, sólo que al actuar a través del indicador base se pueden filtrar ciertas señales falsas o pequeños retrocesos, ya que el oscilador suavizará el movimiento del precio.
Diferencias entre el PivotPoint01 y el PivotPoint02
Anteriormente hemos indicado que Visual Chart ofrece dos posibles indicadores del tipo Pivot Point llamados PivotPoint01 y PivotPoint02. Las diferencias entre una y otra versión serían las siguientes:
PivotPoint01
Permite la opción de hasta tres métodos distintos de cálculo del nivel primario. En función del parámetro VariantType, seleccionamos el método tradicional o bien otros dos tipos:
1. La variante 1 calcula el pivote primario siguiendo la siguiente fórmula:
2. La variante 2 calcula el pivote primario siguiendo la siguiente fórmula:
PivotPoint02
Ésta versión sólo utiliza el método tradicional de cálculo, sin embargo aporta un juego más de niveles de soporte y resistencia, pasando a tener tres niveles de soporte y tres niveles de resistencia.
1. El nivel de resistencia 3 se calcula según la siguiente fórmula:
2. El nivel de soporte 3 se calcula según la siguiente fórmula:
De las dos versiones, la más utilizada suele ser la versión 1, si bien depende de si queremos hacer uso de los niveles R3 y S3, en cuyo caso usaríamos la versión 2.
A continuación vamos a plantear una estrategia basada en el cruce de niveles que utiliza el PivotPoint01.
Estrategia Ruptura Niveles S1 y R1
Esta sencilla estrategia se basará en el estudio de los cruces de los distintos niveles del indicador PivotPoint01. Las reglas que sigue la estrategia serían las siguientes:
Cuando el precio cruce al alza el nivel de resistencia R1, tomar posiciones largas.
Cuando el precio cruce a la baja el nivel de resistencia S1, tomar posiciones cortas.
Este sistema sólo va a realizar una operación por sesión, de modo que no va a permitir girar la posición.
Una vez en mercado, el sistema deshace posiciones cuando el precio vuelve a cortar alguno de los otros niveles.
Antes de empezar a operar, el sistema realizará un chequeo para decidir si la sesión es alcista o bajista. Si considera que la sesión es alcista, sólo permitirá tomar posiciones largas. El caso contrario si la sesión es bajista.
La decisión de si la tendencia de la sesión es en un sentido u otro dependerá de la posición del precio al inicio de la sesión con respecto al nivel primario (P).
El diseño del sistema sería el siguiente:
Código PDV
Código VBA
El cálculo de los puntos pivote se basa en los precios generados durante periodos temporales previos. El más habitual que podemos encontrar es aquel que se obtiene tomando como referencia los precios del día anterior. No obstante, es posible utilizar otro tipo de temporalidades en función del estudio que desee hacerse.
Los indicadores de Visual Chart dedicados al estudio del punto pivote usan precisamente el Pivot Point Diario. Pueden encontrar estos indicadores por los nombres PivotPoint01 y PivotPoint02. Más adelante explicaremos las diferencias entre un tipo y otro.
Su aspecto sería como se muestra a continuación:
Calculo del Pivot Point
Cuando se estudian los puntos pivote, se suele usar, por un lado, el punto pivote primario (llamado nivel P), y por otro lado una serie de niveles de soporte y resistencia calculados a partir de éste.
El punto pivote primario (P) se obtiene de la siguiente fórmula:
Mientras que el resto de niveles se calculan de la siguiente manera:
Utilidades
Podemos destacar tres utilidades principales en el uso de los puntos pivotes:
1. Como método para detectar tendencias. Puesto que el nivel primario P se considera como un punto de inflexión en el comportamiento del mercado, la ruptura de dicho nivel sirve como posible medidor de la dirección del precio. De este modo, si el precio se encuentra por encima del nivel P, tendríamos una tendencia alcista mientras que si el precio se encuentra por debajo del nivel sería tendencia bajista.
2. Como referencia para tomar puntos de entrada y salida. Podemos colocar órdenes de compra y venta en los precios fijados por los niveles del Pivot Point, tanto en sentido a favor de la ruptura, como en sentido opuesto, en función de si esperamos la continuación del movimiento o una reacción de retroceso. También se puede usar el momento de cruce con dichos niveles como señal de referencia para la toma de decisiones, tal y como veremos en la estrategia planteada en éste artículo.
3. Aplicado a un oscilador. En lugar de trabajar directamente sobre el valor, podemos aplicar el indicador de pivotes sobre un oscilador (como el RSI o el estocástico). El funcionamiento será el mismo que si se aplica sobre el subyacente, sólo que al actuar a través del indicador base se pueden filtrar ciertas señales falsas o pequeños retrocesos, ya que el oscilador suavizará el movimiento del precio.
Diferencias entre el PivotPoint01 y el PivotPoint02
Anteriormente hemos indicado que Visual Chart ofrece dos posibles indicadores del tipo Pivot Point llamados PivotPoint01 y PivotPoint02. Las diferencias entre una y otra versión serían las siguientes:
PivotPoint01
Permite la opción de hasta tres métodos distintos de cálculo del nivel primario. En función del parámetro VariantType, seleccionamos el método tradicional o bien otros dos tipos:
1. La variante 1 calcula el pivote primario siguiendo la siguiente fórmula:
2. La variante 2 calcula el pivote primario siguiendo la siguiente fórmula:
PivotPoint02
Ésta versión sólo utiliza el método tradicional de cálculo, sin embargo aporta un juego más de niveles de soporte y resistencia, pasando a tener tres niveles de soporte y tres niveles de resistencia.
1. El nivel de resistencia 3 se calcula según la siguiente fórmula:
2. El nivel de soporte 3 se calcula según la siguiente fórmula:
De las dos versiones, la más utilizada suele ser la versión 1, si bien depende de si queremos hacer uso de los niveles R3 y S3, en cuyo caso usaríamos la versión 2.
A continuación vamos a plantear una estrategia basada en el cruce de niveles que utiliza el PivotPoint01.
Estrategia Ruptura Niveles S1 y R1
Esta sencilla estrategia se basará en el estudio de los cruces de los distintos niveles del indicador PivotPoint01. Las reglas que sigue la estrategia serían las siguientes:
Cuando el precio cruce al alza el nivel de resistencia R1, tomar posiciones largas.
Cuando el precio cruce a la baja el nivel de resistencia S1, tomar posiciones cortas.
Este sistema sólo va a realizar una operación por sesión, de modo que no va a permitir girar la posición.
Una vez en mercado, el sistema deshace posiciones cuando el precio vuelve a cortar alguno de los otros niveles.
Antes de empezar a operar, el sistema realizará un chequeo para decidir si la sesión es alcista o bajista. Si considera que la sesión es alcista, sólo permitirá tomar posiciones largas. El caso contrario si la sesión es bajista.
La decisión de si la tendencia de la sesión es en un sentido u otro dependerá de la posición del precio al inicio de la sesión con respecto al nivel primario (P).
El diseño del sistema sería el siguiente:
Código PDV
Código VBA
'¡¡ Parameters
Dim Contratos As Long '1
Dim HoraIni As Integer '930
Dim HoraFin As Double '1900
'Parameters !!
Dim pvtdata As DataIdentifier
Option Explicit
Dim signoentrada As Integer
Public APP As SysUserApp
Implements System
Public Sub System_OnInitCalculate()
With APP
Dim horainipvt As Double
horainipvt = .GetSymbolInfo(SbiFirstSessionStart)
pvtdata = .GII(PVTPOINT01, Data, horainipvt, 0)
signoentrada = 0
End With
End Sub
Public Sub System_OnCalculateBar(ByVal Bar As Long)
With APP
Dim r2 As Double
Dim r1 As Double
Dim p As Double
Dim s1 As Double
Dim s2 As Double
'niveles
r2 = .GetIndicatorValue(pvtdata)
r1 = .GetIndicatorValue(pvtdata, 0, 2)
p = .GetIndicatorValue(pvtdata, 0, 3)
s1 = .GetIndicatorValue(pvtdata, 0, 4)
s2 = .GetIndicatorValue(pvtdata, 0, 5)
'Cambio de día
If (.Date <> .Date(1)) Then
'Comprobar sentido del día
If (.Close() > p And .Close() < r1) Then
signoentrada = 1
ElseIf (.Close() < p And .Close() > s1) Then
signoentrada = -1
Else
signoentrada = 0
End If
End If
If (.Time >= HoraIni And .Time < HoraFin) Then
If (.GetMarketPosition = 1) Then
'salida largos
If (.Close() > r2 Or .Close() < p) Then
.ExitLong AtClose, Contratos
End If
ElseIf (.GetMarketPosition = -1) Then
'salida cortos
If (.Close() < s2 Or .Close() > p) Then
.ExitShort AtClose, Contratos
End If
Else
'entradas
If (signoentrada = 1) Then
If (.Close() > r1) Then
.Buy AtClose, Contratos
signoentrada = 0
End If
ElseIf (signoentrada = -1) Then
If (.Close() < s1) Then
.Sell AtClose, Contratos
signoentrada = 0
End If
End If
End If
Else
If (.GetMarketPosition = 1) Then
.ExitLong AtClose, Contratos
ElseIf (.GetMarketPosition = -1) Then
.ExitShort AtClose, Contratos
End If
End If
End With
End Sub
Comentarios
Publicar un comentario