Hoy me complace presentaros en primicia en este blog , un nuevo indicador creado por jose7674.
Los artículos y estudios de jose7674 en su blog http://jose7674.blogspot.com.es/ fueron mi inspiración para el desarrollo del estraperlo que posteriormente derivó en el estraperlo chivato .
Habiéndole perdido el rastro a este hombre , fué una grata sorpresa encontrarlo en los comentarios de "test para estraperlo chivato" en este mismo blog.
Ahí me comentó que tenía algo parecido a las barras chivatas...y ahí quedó la cosa.
Hace unos días,recibí un correo donde Jose me enviaba su indicador :
Un Detector de Divergencias Macd , cuyo aspecto en forma de histograma , nos representa mediante barras la localización de divergencias alcistas o bajistas,tal que así...
El Detector de Divergencias Macd está construido para los parámetros de un Macd 5,13,1 y como podeís ver en gráfico , nos marca las divergencias en esta configuración...
Demos las gracias a jose7674 ( y yo especialmente por permitirme publicarlo), por cedernos este código de libre acceso para la plataforma Prorealtime , sin tener que pagar ni un duro.
------------------------------------------------------------------------------------------------------
/// Detector de divergencias
///Por jose7674
///La variable N es el numero de barras hacia atras que utilizamos para encontrar una divergencia
///MACD 5-131
miMACD = exponentialAverage[5](close) - exponentialAverage[13](close)
cero = 0
////Comenzamos el detector
IF (BarIndex > 10+1+N) THEN
IF (miMACD[1]>miMACD AND miMACD[1]>miMACD[2]) THEN
extremum2=miMACD[1]
extremum1=highest[N](miMACD)
preciomax2=close[1]
preciomax=Highest[N](close)
ENDIF
IF (miMACD[1]<miMACD AND miMACD[1]<miMACD[2]) THEN
extremum22=miMACD[1]
extremum11=lowest[N](miMACD)
preciomin2=close[1]
preciomin=lowest[N](close)
ENDIF
REM aseguramos que el maximo actual es inferior al maximo de las N barras previas
IF(extremum2<extremum1 AND preciomax2>preciomax[1]) THEN
signal = -1
ELSE
signal = 0
ENDIF
IF(extremum22>extremum11 AND preciomin2<preciomin[1]) THEN
signal = 1
ENDIF
ENDIF
Return cero as "0", signal as "Divergencia"
/// Si Divergencia = 1, hay divergencia alcista. Si D =-1, divergencia bajista
///FIN
-----------------------------------------------------------------------------------------------------
En el cuadro de variables:
N = periodo divergencia= 20
nota:el periodo por defecto es 20,según su propio autor,también podríamos aplicar 15.
Valores más pequeños , nos darán más falsas señales.
A probarlo mangurrianes...
Muchas gracias de nuevo, maestro!!
ResponderEliminarUn saludo,
Jordi
Que lo disfruteis... modificarlo para cualquier otro indicador es muy sencillo.
ResponderEliminarSolo habria que cambiar miMACd por el valor del nuevo indicador.
Un saludo
Muy interesante y muy buen trabajo, ya lo estoy probando, parece que da buenas señales, a excepción de Indra en 2014, que las divergencias alcistas detectadas han sido inicio de un tramo bajista.
ResponderEliminarUn saludo.
Muchas gracias tanto a Jose que es el padre de la criatura como a Miguel Angel por difundirlo en este blog que consulto habitualmente.
ResponderEliminarQuería aplicarlo al macd 12,26,9 y me gustaría que mediérais vuestra opinión sobre su eficacia ya que vosotros lo habéis testeado más.
He aplicado la referencia high (en vez de close) en precios en las divergencias alcistas y low en las bajistas y he ampliado el perido de búsqueda a 40. Parece que va bien pero temo cometer algún error de concepto ya que no tengo mucha experiencia. ¿Qué os parece?
Gracias y saludos
En principio parece perfecto.... hay que probar y buscar que macd o estocastico o rsi se justa a que valor (o índice)
ResponderEliminarCuando más lento el macd, menos señales... pero más fiables Suelen ser. Nada es perfecto!
Pues está muy bien el indicador!!! Miguel o jose7674 , teneis por ahí elaborado el screener para pasarlo sobre listas???
ResponderEliminarSaludos
Luis.
Gracias a los dos
Hola, tengo la version 12.0 y estoy empezando, no se programar, al pegar el codigo, me da error en la ultima linea y no se como solucionar el error. La linea es:
ResponderEliminarReturn cero as "0", signal as "Divergencia"
Gracias