Me llena de orgullo y satisfacción (como diría alguien conocido), presentaros un nuevo indicador creado conjuntamente con el forero Rookie de http://www.bolsacafe.com/
En cierta ocasión , leí un comentario muy acertado de Blai5 sobre los grandes y pequeños inversores.
Los tiburones y las sardinitas .Los tiburones son solitarios y egoístas. Las sardinitas van en bandadas y/o bancos, intercambian ideas entre ellas,colaboran poniendo sus cabezas a trabajar juntas...y aquí es donde entra Rookie.
En los principios de mis pinitos con la programación de indicadores en la plataforma Prorealtime, tuve una idea que me sobrevino.La idea era básica, combinar en un solo indicador un Rsi, una media exponencial y un Macd central cuya línea cero coincidiera con la línea 50 de un Rsi. La idea quedó aparcada y la retomé hace unos días.
Conseguí crear un código para la idea, pero, no salía visualmente como yo quería.
Si teneís curiosidad, podeís leer los post del hilo "Vigia Cutre" de http://www.bolsacafe.com/
El caso es que no tenía manera de modificar el código para mostrarlo tal y como lo tenía en mente.
Decidí pedir ayuda a Rookie (que sabe de programación) y el tio monstruo,ese mismo día ya lo tenía listo.
Los parámetros por defecto del Especulator son : un Rsi de 14 sesiones,una media Exponencial de 20 sesiones y un histograma Macd con la configuración estándar de 12, 26, 9.
El mismo Rookie me animó a poner los parámetros cambiables para que se pudiera experimentar con otras combinaciones, de manera que el código tiene las variables modificables.
En el gráfico de Mapfre ,podeís ver la comparativa de este indicador respecto al Macd y al Rsi.
SU USO
Los cortes de la media Exponencial sobre el Rsi nos dan señales de compra y/o venta.
Muchos de los cortes son señales falsas, para ello tenemos el Macd que nos hace de filtro.
Cualquier señal que no esté sincronizada, es decir , tenemos por ejemplo , una señal de corte alcista en el Rsi , pero el histograma Macd está en negativo, la ignoraremos.
Como en el Rsi ,también tenemos zona de sobrecompra y sobreventa,formadas por las líneas 20 y -20.
El Código para Prorealtime es :
----------------------------------------------------------------------------------------------------------
Rem Especulator
xrsi=RSI[a](close)
se=ExponentialAverage[b](xrsi)
Lmacd=ExponentialAverage[p](xrsi)-ExponentialAverage[q](se)
Lsignal=ExponentialAverage[r](Lmacd-xrsi+se)
mimacd=(Lmacd-Lsignal)
RETURN mimacd AS "MACD",(xrsi-50) AS "RSI",(se-50) AS "SE",20 AS "linea 20",-20 AS "linea -20"
-----------------------------------------------------------------------------------------------------------
En la parte de variables añadiremos:
a= RSI=14
b=Media=20
p=Macd corto=12
q=Macd largo=26
r=Señal Macd=9
Así pués,solo queda testearlo y comprobarlo.
A las sardinitas les estan saliendo dientecitos y cada vez se parecen más a las pirañas, ¿quién sabe si algún día la presa será un tiburón ?
nota : Por cierto, según el indicador Especulator, Mapfre, por el momento está bajista.
Para los curiosos y analíticos indicarles que la diferencia entre MACD-ESPECULATOR y MACD tradicional es que el primero extrae sus datos del RSI(14) y SE(EMA20), mientras el tradicional trabaja con sus EMA,s.(12,26,9).
ResponderEliminarSe puede automatizar en sistema ese indicador, en cuanto pueda lo publicaré, así sería adaptable automáticamente a cada indice/accion/etc. y saber los resultados inmediatamente.
SUERTE
Hola, aquí se los dejo, cambiando algunas cosas para hacerle más alisado (Max RSI 8 velas) y mejor pegado al precio (Media Ponderada).
ResponderEliminarxrsi= HIGHEST[8](RSI[a](weightedclose))
se= WeightedAverage[b](xrsi)
Lmacd= ExponentialAverage[p](xrsi)-ExponentialAverage[q](se)
Lsignal= ExponentialAverage[r](Lmacd-xrsi+se)
mimacd= (Lmacd-Lsignal)
indicator1 = xrsi
indicator2 = se
indicator3 = mimacd
c1 = indicator1 > indicator2 and indicator3 > indicator3[z]
IF C1 THEN
BUY 1 SHARES AT MARKET THISBARONCLOSE
ENDIF
c2 = indicator1 < indicator2 and indicator3 < indicator3[z]
IF C2 THEN
SELLSHORT 1 SHARES AT MARKET THISBARONCLOSE
ENDIF
c3 = indicator1 < indicator2 and indicator3 < indicator3[z]
IF C3 THEN
SELL AT MARKET THISBARONCLOSE
ENDIF
c4 = indicator1 > indicator2 and indicator3 > indicator3[z]
IF C4 THEN
EXITSHORT AT MARKET THISBARONCLOSE
ENDIF
variables:
a(8 a 14-Paso2, b(8-20/3),p (8-12/2), q (13-26/2), r (3-9/2), z(2-10/1)
SUERTE
Buenos dias a tod@s.
ResponderEliminarSoy muy esceptico con los indicadores/osciladores/mm/... porque realmente todos tienen diferencias entre plataformas o van retrasados, así que lo realmente común a todas las plataformas y con lo que podemos operar en igualdad de condiciones y al final en lo que se basa ntro. resultado es en el PRECIO, ahí no hay ninguna discusión.
Pues bien, he modificado el indicados RSI por el PRECIO (Oscilador), los resultados, aprovechando las variables que ya tenemos, pues por supuesto mucho mejores, así que les dejo ésta otra opción y puedan elegir.
REM ESPECULATOR CON PRECIO(OSCILADOR)
precosc= PriceOscillator[p,q](weightedclose)
se= WeightedAverage[b](precosc)
Lmacd= wEIGHTEDAverage[p](precosc)-WEIGHTEDAverage[q](se)
Lsignal= WeightedAverage[r](Lmacd-precosc+se)
mimacd= (Lmacd-Lsignal)
indicator1 = precosc
indicator2 = se
indicator3 = mimacd
c1 = indicator1 > indicator2 and indicator3 > indicator3[z]
IF C1 THEN
BUY 1 SHARES AT MARKET
ENDIF
c2 = indicator1 < indicator2 and indicator3 < indicator3[z]
IF C2 THEN
SELLSHORT 1 SHARES AT MARKET
ENDIF
c3 = indicator1 < indicator2 and indicator3 < indicator3[z]
IF C3 THEN
SELL AT MARKET
ENDIF
c4 = indicator1 > indicator2 and indicator3 > indicator3[z]
IF C4 THEN
EXITSHORT AT MARKET
ENDIF
VARIABLES: b(8-20/3), p(6-12/2), a(13-26/2), r(3-9/2), z(2-10/1)
PERDONNNNN. ATENCIONNNNNNN deben cambiar la variable a por q, añadir q en nombre en vez de a, de lo contrario le dará error.
ResponderEliminarGRACIAS
Misterioso anónimo, esta último código , el de Especulator con Oscilador de Precios,pienso mirarlo en cuanto tenga un ratito.
EliminarMuchas gracias por los códigos.
ULYSES, jajajajajajja, nada de misterioso ANONIMO, soy ROOKIE, pero no tengo nada de cuentas y cosas de esas, por eso viendo la simplicidad con esa opción opté hacerlo así.
ResponderEliminarTú en la presentación haces mención de mi nick y yo continué escribiendo como si fuera el aludido.
Todo lo que desees en éste mundo tan especial de la bolsa no tengas problema de exponermelo, al menos lo analizaré, estudiaré y si te doy la solución mejor para tod@s.
SUERTE
Anonimo de las 10:12, sorry pero no.pillo lo de añadir q en nombre
ResponderEliminarUlyses me sale error en "corto=12"
ResponderEliminarkiko
Algo estás haciendo mal, Kiko.Primero copia y pega todo el código puesto aquí en la ventana de "nuevo indicador",una vez hecho esto,en el lado de la derecha arriba ,hay un recuadro que pone "variables".Debes añadir (pulsa botón añadir) las variables una a una.
Eliminarte aparecerá un recuadro definición de variable,si empiezas desde el primer parámetro,pondrías en:
nombre usado en programa : a
Etiqueta en ventana propiedades: RSI
Tipo: Entero
Restricción: >0
Valor por defecto:14
le dás a aceptar y así vas metiendo todas las variables.cuando las tengas todas,le dás a validar programa y te tiene que salir.
Un saludo Kiko.
Hola, buenos dias.
ResponderEliminarPara que no haya ninguna duda, el renglón de definiciones de variables debe quedar como sique:
VARIABLES: b(8-20/3), p(6-12/2), q(13-26/2), r(3-9/2), z(2-10/1)
La "a" no aparece en el código y por eso no debe tener ninguna indicación en el apartado variables, sin embargo, la "q" sí que existe y por consiguiente debe aparecer en el mencionado apartado variables.
SUERTE.-
ROOKIE
una versión más simple/simplona de la primera versión:
ResponderEliminar==================================================
Rem Especulator Creado por Rookie y Ulyses
Rem Modificado por Anónimo
r=RSI[RR](close)-50
m=ExponentialAverage[MM](r)
o = MACD[MC,ML,MS](r+m)*FF
return o as "MACDh", r coloured(0,0,255) as "RSI", m coloured(255,0,0) as "EMA", 0 as "0", 20 AS "linea 20",-20 AS "linea -20"
=============================================
XAO
OPS me dejé las variables y cambio FF por FH:
ResponderEliminar#########################################
Food Factory 016 CP - barras de granola, verduras para barbacoas, queso azul y pasteles de arroz
r=RSI[RR](close)-50
m=ExponentialAverage[MM](r)
o = MACD[MC,ML,MS](r+m)*FH
return o as "MACDh", r coloured(0,0,255) as "RSI", m coloured(255,0,0) as "EMA", 0 as "0", 20 AS "linea 20",-20 AS "linea -20"
VARIABLES
============================
RR = RSI#14
MM = Media Exponencial#20
MC = MACD corto#12
ML = MACD largo#26
MS = MACD Señal#9
FH = Factor Histograma
#########################################
XAITO
el mismo que se dejó el factor histograma:
ResponderEliminar#################################
FH = Factor Histograma#3
#################################
.