Articulo

Creación de formulas personales en el MetaStock.

Autor

 

Antonio Carcelen (3/11/97)

Servicio de Actualización de Datos: RSIDAT

Redifusor oficial de la Sociedad de Bolsas (Entidad propietaria del Mercado Continuo)

 

Lectores que han leído el artículo de RSIDAT: (el dato no es real pues he puesto el contador con posterioridad a la publicación del artículo). Mi especial agradecimiento al servicio de Contadores de Pedro Hurtado.

 

 

 

 

CONDICIONES DE USO DE ESTE ARTICULO:

 

ATENCION: LA LECTURA DE ESTE ARTICULO ES VOLUNTARIA Y LA PUESTA EN PRACTICA DE LAS INDICACIONES DEL MISMO Y DE LOS POSIBLES RESULTADOS QUE ARROJEN LOS SISTEMAS TRATADOS NO SON RESPONSABILIDAD DEL AUTOR DE ESTE ARTICULO. LOS BENEFICIOS O PERDIDAS QUE SE ORIGINEN POR UN CORRECTO O INCORRECTO USO DE LA INFORMACION CONTENIDA EN ESTE ARTICULO SON RESPONSABILIDAD EXCLUSIVA DE USTED.

 

EL SEGUIR LEYENDO ESTE ARTICULO SUPONE LA ACEPTACION DE ESTAS CONDICIONES DE USO, SI NO ESTA DE ACUERDO CON ELLAS, POR FAVOR DEJER DE LEER ESTE ARTICULO.

 

El tema del  artículo de este mes, como su titulo indica versa sobre la creación de formulas personalizadas en el MetaStock, esta necesidad surge cuando a parte de los indicadores que de por sí incluye el programa, surge la necesidad de hacer variaciones sobre estos indicadores o bien crear otros nuevos que hayamos vistos en  artículos sobre este tema o bien, queremos experimentar nuestras propias ideas sobre la base de nuestra experiencia personal. Por ejemplo, se me ocurre sobre la marcha, podríamos intentar crear una formula, que en función de como este el movimiento direccional de un valor, si esta o no en tendencia, aplicar un indicador u otro (todos sabemos o debemos saber que los indicadores no siempre funcionan igual de bien, en función de como este el mercado si esta en movimiento lateral o no habrá  que aplicar unos indicadores u otros), el mercado es dinámico y las herramientas que utilicemos en su estudio también lo deben ser.

 

Como ya sabéis los  artículos los hago para que las instrucciones sirvan tanto para la versión 4.5 de MSDOS como para la versión 5.1 de Windows, en el tema de hoy en ambas versiones hay grandes diferencias en la versión de Windows podéis crear hasta 1000 formulas propias frente a las 250 en la versión MSDOS y como ya he dicho en anteriores ocasiones en la versión de Windows tenemos prácticamente el manual en la ayuda con lo cual podemos sacar bastante mas partido que en la versión de MSDOS. Las instrucciones de este  artículo serán válidas para ambas versiones, pero a los usuarios de Windows os pediría que no os quedéis aquí tenéis una "arma" muy potente para poder explotar la ventaja que es poder crear vuestras propias formulas, tenéis muchas mas funciones ("formulas" sencillas disponibles para crear nuevas formulas mucho mas complejas).

 

En primer lugar abordar‚ una serie de conceptos básicos para la creación de las propias formulas y después entraremos en faena creando una formula propia muy sencilla.

 

En la versión de MSDOS, el tema que nos ocupa esta en el apartado "Custom Formulas " en Windows es el apartado "Indicator Builder" en ambos apartados es el icono que se parece a f(x).

 

A.- Conceptos:

 

A.1.- Identificadores del precio: en nuestras formulas necesitaremos hacer referencia a los distintos precios que queramos utilizar así se pueden utilizar nombres largos o cortos estos son

 

NOMBRE LARGO NOMBRE CORTO

 

OPEN O

HIGH H

LOW L

CLOSE C

VOLUME V

INTEREST OI

INDICATOR I

 

Es decir, podremos hacer operaciones sobre estos campos, creo que no hace falta hacer ninguna traducción sobre estos campos, en muchas funciones (veremos mas adelante este concepto), requieren unos parámetros que aparecen como dataarray, cuando veamos esto en una función, deberemos poner unos de estos identificadores de precio.

 

A.2.- Operadores

 

En nuestras formulas necesitaremos hacer operaciones, estas operaciones se representaran de la siguiente forma:

 

+ Addition

- Subtraction

* Multiplication

/ Division

 

Las operaciones como veis son las mismas en cualquier sitio.

 

Operadores a la hora de efectuara comparaciones:

 

> mayor que

< menor que

= igual que

>= mayor o igual que

<= menor o igual que

<> distinto de

 

A.3.- Orden de precedencia: Al igual que en matemáticas, en función de como escribamos nuestras formulas se ejecutaran unos comandos u otros y el resultado de estos se utilizaran en nuevas operaciones, por ello debemos establecer que operaciones se deben ejecutar antes, pare ello nos apoyaremos en los paréntesis "(", con este instrumentos nosotros seremos que controlaremos la precedencia de las operaciones, ejemplo no es lo mismo (H+L)/2, que H+L/2, el resultado será totalmente distinto. Los usuarios de Windows, si os vais a ayuda, y en buscar escribís PRECEDENCE veréis el orden de precedencia que utiliza el programa.

 

A.4.- Funciones: el ms nos ofrece aparte de los operadores matemáticos de operaciones una serie de funciones que podemos y debemos utilizar en nuestras formulas, el ms para mdos tiene 80 formulas y el ms para win tiene 160, a su vez una vez que nosotros hayamos definido nuestra propia formula esta a su vez se puede reutilizar en otra formula nueva, es decir, una formula ya creada se convierte en una función disponible para poder utilizarla en otras formulas.

 

Por ejemplo la formula mov( ), hace una media sobre lo que queramos, cada función requiere unos parámetros en este caso la formula correcta es mov(dataarray,periods,method), esto es haremos la media sobre unos de los identificadores del precio (vistos mas arriba), el periodo de calculo de esta media y el tipo de media, un ejemplo valido sería mov(H,21,E), la explicación seria la media de los máximos de los últimos 21 días y calculado de forma exponencial. Los usuarios de win podéis ver en detalle esta función, si en la ayuda hacéis una búsqueda con el literal mov( )

 

Ahora, después, veremos donde podemos ver el listado de todas las funciones disponibles.

 

A.5.- Comentarios: Con el fin de hacer más legibles, más comprensibles nuestras formulas para nosotros mismos (con el paso de tiempo olvidaremos él porque de muchas cosas escritas en nuestras formulas) o bien para que alguien pueda entender mas fácilmente nuestras formulas, se utilizan los comentarios, con el fin de diferenciar estos de los elementos propios de la formula se utilizan las llaves el símbolo es { para abrir comentarios y } para cerrarlos.

 

Así podríamos escribir (H+L+C)/3 {precio medio}, así cualquiera que vea esta formula sabrá  inmediatamente que es esa formula.

 

A.6.- Parámetros en funciones: Aquí la idea que quiero que recogais es que una función puede ser uno de los parámetros de otra función, tranquilos, por ejemplo, podemos hacer una formula donde utilicemos la función mov( ) y dentro esta formula en vez de poner los identificadores de precio (si no sabes que es esto, vuelve a leer el apartado A.1), podemos poner por ejemplo la función rsi(), es decir, podríamos hacer una media del rsi, el ejemplo practico seria.

 

La función del rsi es rsi(periods), ejemplo rsi(14); as¡ seria mov(rsi(14),10,E) (si no comprendes esta formula, vuelve a leer el apartado A.4)

 

A.7.- La función if( ), pensareis esto se complica, no hombre/mujer no. esta es una herramienta muy potente con esta función podremos entrar en el ámbito de las decisiones ( bueno mas o menos), con esta función podemos poner una condición, si esta condición es cierta hará una cosa, si esta función es falsa se hará otra cosa.

 

Una forma muy sencilla y simplista de ver esta formula seria: if( x, > ,y, a, b) la lectura seria si x es mayor que y, pon a, si no es así, pon b

 

[ Solo para usuarios de win], los usuarios de la versión 5.0 o posteriores, tiene dos nuevas herramientas, estas son los operadores And y el Or, es decir con esto podréis hacer más complejos vuestros condicionantes, podréis anidar condiciones; Podéis poner una función if con varias condiciones. Podéis consultar la ayuda sobre este tema hace una búsqueda con el literal AND/ y os mostrara ejemplos de estos dos operadores.

 

Con esta función podremos determinar, por ejemplo, si un valor esta en movimiento lateral y si es cierto, después utilizaremos un formula o indicador apta/o para este tipo de movimiento de mercado y si no esta en movimiento lateral utilizar otro indicador más apto para un mercado en tendencia.

 

A.8.- Llamadas a otras formulas, afortunadamente, tenemos una función que hace posible que el trabajo que hemos hecho en una formula, lo podamos utilizar en otra formula o bien por ejemplo queramos desarrollar una formula tan larga que es preferible " partirla en varios trozos" con el fin de hacerla más simple y evitar posibles errores de sintaxis. La función en cuestión es fml(nombre de formula) o fml(numero de nuestra formula); el nombre de la formula debe ir entre comillas y él numero de ir precedido del símbolo #

 

Un ejemplo seria fml("mi formula") o bien fml(#3), os explico, cuando creamos una formula, le tenemos que dar un nombre, este nombre lo podemos después utilizar para poder re-utilizar esta formula o bien utilizar el numero de orden de nuestra formula, yo personalmente aconsejo utilizar el nombre pues será más fácil asociar ambas formulas y será mas difícil que nos equivoquemos

 

A.9.- El identificador P, si miráis el apartado A.1, veréis que al indicador se identifica como P, esto es, al tener un gráfico en pantalla y después insertamos un estudio por ejemplo el rsi, después cuando en nuestra formula aparezca el identificador P, significar  que la formula en cuestión se hará sobre el rsi (sobre el ultimo indicador o formula que hemos representado). Esta facilidad es de importancia para la versión de MSDOS, pues facilita la posibilidad por ejemplo de hacer un macd del rsi, sin embargo en la vesi¢n de Windows, esto ya no tiene mayor interés, pues en esta versión, se puede graficar directamente cualquier estudio sobre otro estudio, simplemente arrastrando la formula sobre el estudio en cuestión.

 

Una ejemplo claro, si tenemos el rsi representado, si definimos la siguiente formula, que es la formula del macd (diferencia entre la media exponencial de 12 y 26 días) mov( P, 12, E) - mov( P, 26, E), en este caso tendremos el macd del rsi

 

Se trata de probar todo aquellos que podamos probar, todo lo que se nos pase por nuestra imaginación.

 

Ahora, tomar un café, descansad un poquitin, repasar esto un poco y ahora vamos a entrar en faena, vamos a crear una formula muy sencilla, después podéis entrar en las formulas que trae el programa e intentar comprenderlas, con estos conceptos debéis de entender todas las formulas.

 

B.- Como crear una formula personal en el MetaStock

 

El ejemplo que voy a tratar se basa en hacer un macd al rsi y después una vez hecho el macd al rsi, aplicarle una media de 9 días y ver si esto tiene alguna utilidad o no, después cada uno que saque sus propias conclusiones.

 

Primero hacemos un gráfico de telefónica u otro valor, y después ponemos el rsi de 14 días por ejemplo, después ya pasamos a crear nuestra propia formula.

 

Para crear una formula personal en el MetaStock, debemos entrar en el custom formulas en la versión de MSDOS y el indicator builder en la versión para win , ambas opciones están en el icono que tiene una f(x). Después de entrar, los usuarios de MSDOS, debe localizar la primera formula que tenga la frase "NOT IN USE", situarse sobre esta y pinchar en edit, con esto ya estamos en situación de empezar a escribir nuestra formula. Para los usuarios de win el proceso difiere ligeramente, es pinchar en el icono del indicator builder, después pinchar en el botón new y con esto ya estamos en la situación para crear nuestra propia formula.

 

Una vez llegado aquí nos aparece una nueva ventana donde debemos digitar el nombre de nuestra formula, pinchar en el campo name y escribir mi macd/rsi.

 

Los usuarios de Windows, si se fijan aparece una opción con una x que dice "display in recipient list" esto significa que si quitáis la x, no aparece esta formula en la lista de indicadores, por lo general se deja la x para que sea mucho más cómodo el manejo de nuestra formula.

 

Bien ahora pinchamos en el campo formula y digitamos la siguiente formula mov( P, 12, E) - mov( P, 26, E) Si alguien no entiende que pongo aquí, le sugiero que lea de nuevo el apartado A.

 

Si deseamos saber la lista de funciones que incorpora nuestro programa, cuando estamos editando nuestra formula, los usuarios de MSDOS pueden pinchar con el ratón donde pone Help y le aparecerá un listado con todas las funciones, los usuarios de Windows si pinchan en functions verán lo mismo pero con mucha más información.

 

Bien ahora si pinchamos en plot, veremos como donde antes estaba el rsi, ahora aparece un nuevo gráfico, que eso mismo el macd del rsi.

El siguiente paso que voy a seguir, siguiendo la definición del macd, es ponerle una media de 9 días exponencial sobre mi anterior formula.

 

Como queremos crear una nueva formula el proceso sería el mismo: Para crear una formula personal en el MetaStock, debemos entrar en el custom formulas en la versión de MSDOS y el indicator builder en la versión para win, ambas opciones están en el icono que tiene una f(x). Después de entrar, los usuarios de MSDOS, debe localizar la primera formula que tenga la frase "NOT IN USE", situarse sobre esta y pinchar en edit, con esto ya estamos en situación de empezar a escribir nuestra formula. Para los usuarios de win el proceso difiere ligeramente, es pinchar en el icono del indicator builder, después pinchar en el boton new y con esto ya estamos en la situación para crear nuestra propia formula.

 

Pinchamos sobre el campo name y escribimos media macd/rsi, con esto ya tenemos el nuevo nombre de la siguiente formula, después pinchamos en formula y escribimos mov(fml("mi macd/rsi"), 9, E) y después pinchamos en plot y tendremos nuestro macd sobre el rsi suavizado con una media de 9 dias.

 

Los usuarios de win, después del dar al OK, verán como en la lista de indicadores los que empiezan por la f, son las funciones que están definidas y para su representación es como si fuese otro indicador mas, pinchar, arrastrar y situarlo sobre el gráfico, os aconsejo que los usuarios de Windows, pongáis en la misma pantalla, el precio abajo, el rsi normal y luego la formula media macd/rsi.

 

Cosas que os pueden suceder, cuando demos al botón plot, es fácil, sobre todo al principio, que os dé una mensaje de error, el cursor se quedara parpadeando donde este el error de sintaxis junto con un mensaje de error diciendo cual es la causa del error, repasar esto bien, cualquier coma que os falte, cualquier paréntesis que os falte, producirá el error, repasarlo bien... esto funciona, os apuesto un café.

 

Consejos, mirar las formulas que trae el programa, para ello pinchar en el icono de las formulas, y situaros sobre una de las que trae y pinchar en edit, así veréis otros ejemplos.

 

Mirar que sucede cada vez que llega 10 y -5 en MSDOS o 1000 y -500 en win. Como en otras ocasiones ya os he comentado, el tema de medias es algo muy personal, en función de vuestra propia personalidad querréis medias de mayor o menor longitud, probar las combinaciones que más os gusten.

 

Como es habitual yo no presto soporte adicional sobre este  artículo, os doy las líneas generales de uso, las conclusiones que os lleven los sistemas que utilicéis es vuestra propia responsabilidad.

 

Pensar que ya sabemos utilizar el explorer, crear formulas, el siguiente artículo que tratare ser  como saber que parámetros son los mejores para cada formula, por ejemplo por que no poner una media de 11 días en vez de una media de 9 días en la formula del  artículo del día de hoy, posteriormente intentare localizar formulas mas complejas y entraremos en el estudio de estas mismas.

 

Que os aproveche.

 

Saludos

Antonio Carcelen