10. indicator builder

10
Curso de MetaStock 6.0 10.- Indicator Builder. X/1 ¿Qué es el “Indicator Builder”? El mundo bursátil, y paralelamente el mundo del Análisis Técnico están en una continua evolución. El programa MetaStock 6.0, incorpora desde los indicadores más “clásicos”, o aquellos cuya eficacia está probada hasta aquellos cuya aparición se produjo en fechas más bien recientes. Para que el programa no se quede rápidamente desfasado, o simplemente para satisfacer las ansias de investigar del usuario, aparece esta potente herramienta que permite construir cientos de indicadores de una manera sencilla y eficaz. Esta herramienta es el “Indicator Builder” o, tras una burda traducción, “El Constructor de Indicadores”. A través de un lenguaje muy similar al empleado en las hojas de cálculo, (Microsoft Excel, Lotus 1-2-3,...), se pueden fabricar aquellos indicadores cuya aparición sea nóvel y de los cuales se conozca su fórmula, (por ejemplo indicadores de nueva generación que aparecen en revistas especializadas de Análisis Técnico), o indicadores que el propio usuario del programa haya desarrollado. Para la correcta utilización de esta poderosa herramienta serán necesarios unos conocimientos básicos de matemáticas y lógica. Los indicadores creados con el "Indicator Builder" aparecerán junto al resto de indicadores cargados con el propio programa. Estos nuevos indicadores podrán emplearse desde la lista rápida de indicadores de la barra de herramientas principal o desde el menú “Insert” “indicator”, exactamente de la misma forma que el resto de indicadores. Trabajo con Fórmulas Los indicadores, las exploraciones y los test de sistemas para operar, son definidos todos y cada uno de ellos a través de fórmulas; fórmulas que no son más que expresiones matemáticas definidas por el usuario. Es posible crear 1.000 indicadores nuevos, además de los que ya aparecen con el propio programa. Estos indicadores son guardados y almacenados automáticamente por el programa para que la siguiente vez que se vayan a emplear no sea necesario tener que reintroducir de nuevo la fórmula. Los indicadores predefinidos y aquellos creados por el usuario son independientes entre sí, de este modo los cambio realizados en los últimos no afectan en absoluto a los primeros. Para comenzar a emplear el "Indicator Builder" se deberá realizar alguna de las tres siguientes acciones: 1.- Pulsar el botón: 2.- Acudir al menú “Tools” y seleccionar "Indicator Builder". 3.- Pulsar la combinación de teclas Ctrl+B. Una vez realizada cualquiera de ellas aparecerá la pantalla general del "Indicator Builder.

Upload: api-3764089

Post on 07-Jun-2015

101 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 10. Indicator Builder

Curso de MetaStock 6.0 10.- Indicator Builder.

X/1

¿Qué es el “Indicator Builder”?El mundo bursátil, y paralelamente el mundo del Análisis Técnico están en una

continua evolución. El programa MetaStock 6.0, incorpora desde los indicadores más“clásicos”, o aquellos cuya eficacia está probada hasta aquellos cuya aparición se produjoen fechas más bien recientes. Para que el programa no se quede rápidamente desfasado, osimplemente para satisfacer las ansias de investigar del usuario, aparece esta potenteherramienta que permite construir cientos de indicadores de una manera sencilla y eficaz.

Esta herramienta es el “Indicator Builder” o, tras una burda traducción, “El Constructorde Indicadores”. A través de un lenguaje muy similar al empleado en las hojas de cálculo,(Microsoft Excel, Lotus 1-2-3,...), se pueden fabricar aquellos indicadores cuya aparición seanóvel y de los cuales se conozca su fórmula, (por ejemplo indicadores de nueva generaciónque aparecen en revistas especializadas de Análisis Técnico), o indicadores que el propiousuario del programa haya desarrollado.

Para la correcta utilización de esta poderosa herramienta serán necesarios unosconocimientos básicos de matemáticas y lógica. Los indicadores creados con el "IndicatorBuilder" aparecerán junto al resto de indicadores cargados con el propio programa. Estosnuevos indicadores podrán emplearse desde la lista rápida de indicadores de la barra deherramientas principal o desde el menú “Insert” “indicator”, exactamente de la misma formaque el resto de indicadores.

Trabajo con FórmulasLos indicadores, las exploraciones y los test de sistemas para operar, son definidos

todos y cada uno de ellos a través de fórmulas; fórmulas que no son más que expresionesmatemáticas definidas por el usuario.

Es posible crear 1.000 indicadores nuevos, además de los que ya aparecen con elpropio programa. Estos indicadores son guardados y almacenados automáticamente por elprograma para que la siguiente vez que se vayan a emplear no sea necesario tener quereintroducir de nuevo la fórmula.

Los indicadores predefinidos y aquellos creados por el usuario son independientesentre sí, de este modo los cambio realizados en los últimos no afectan en absoluto a losprimeros.

Para comenzar a emplear el "Indicator Builder" se deberá realizar alguna de las tressiguientes acciones:

1.- Pulsar el botón:

2.- Acudir al menú “Tools” y seleccionar "Indicator Builder".

3.- Pulsar la combinación de teclas Ctrl+B.

Una vez realizada cualquiera de ellas aparecerá la pantalla general del "IndicatorBuilder.

Page 2: 10. Indicator Builder

Curso de MetaStock 6.0 10.- Indicator Builder

X/2

En esta pantalla aparecerán todos los indicadores creados por el usuario, (tambiénaparecen aquellos indicadores que se crearon en anteriores versiones de MetaStock, ya queal cargar MetaStock 6.0 cabe la opción de “rescatar” esos indicadores, y traspasarlos a lanueva versión). Los indicadores que aparecen en la fotografía serán distintos a los queaparecerán en esa misma ventana en su ordenador.

En la parte derecha de esta ventana aparecen siete botones diferentes cuyasfunciones son las siguientes: Close, (cierra esa pantalla), New, (creación de un nuevoindicador), Edit, (Modificación de un indicador ya creado), Copy, (Copia un indicador yacreado), Delete, (Borra el indicador seleccionado), Print, (Imprime el indicadorseleccionado) y Help, (Abre el libro de ayuda del programa).

Pulsando el botón “New” aparecerá la pantalla denominada “Editor de Indicadores”.

Page 3: 10. Indicator Builder

Curso de MetaStock 6.0 10.- Indicator Builder.

X/3

Dentro de esta pantalla aparece un recuadro denominado “Name” en el que apareceescrito <New Indicator>; aquí será donde se introducirá el nombre que denominará al nuevoindicador. Debajo de este campo, se encuentra un recuadro mucho mayor “Formula” queserá en el que habrá que introducir la expresión matemática (o f—rmula) que definirá elindicador. En la parte superior derecha aparece un recuadro a la izquierda de la frase“Display In QuiickList”, activando este recuadro, el indicador creado aparecerá en la listarápida que aparece en la barra de herramientas principal del programa. Pulsando el botón“Functions” aparecerá un listado de funciones que podrán ser empleadas en la construcciónde los indicadores.

Identificadores de Precios:

Los identificadores de precio especifican campos de precio. Estos campos de precioson los distintos precios o datos a los que la fórmula del indicador se puede referir, es decir,los precios de apertura, máximo, mínimo, cierre, volumen, open interest u otro indicador.

Pulsando el botón “new” crearemos un nuevo indicador que denominaremos “Indesfi”,en el recuadro de “Formula” introduciremos, por ejemplo, la palabra “Close”, (sin comillas);al hacer esto se creará un indicador llamado “Indesfi” que representará mediante una línealos precios de cierre.

Para que los fórmulas no sean muy costosas de escribir ni muy aparatosas estosidentificadores poseen abreviaturas que permiten ahorrar espacio y simplificar la sintaxis dela fórmula. Estas abreviaturas se muestran en la tabla siguiente:

Nombre Largo: Abreviatura:

Open (Apertura) O

High (Máximo) H

Low (Mínimo) L

Close (Cierre) C

Page 4: 10. Indicator Builder

Curso de MetaStock 6.0 10.- Indicator Builder

X/4

Volume (Volumen) V

Interest (Open Interes) OI

Indicator (Indicador) P

Operadores Matemáticos:

Las fórmulas pueden contener los siguientes operadores matemáticos: (tambiénpodrán emplearse operadores más complicados, raíces cuadradas por ejemplo, pero severán posteriormente).

Símbolo Operador

+ Suma

- Resta

* Multiplicación

/ División

Seleccionando el indicador “Indesfi” dentro de la pantalla general del "IndicatorBuilder" pulsaremos el botón “Edit”. En la fórmula en la cual habíamos introducido “close”ahora introducimos (C+O)/2; obtendremos un indicador que suma el precio de apertura y elde cierre y ese resultado lo divide para dos.

Precedencias de los Operadores:

Para acotar que fórmula o que parte de ella precede a otra se emplean los paréntesis.Los paréntesis serán los que controlaran el orden de las operaciones, (de la misma formaque se emplean los paréntesis en matemáticas). Si no se emplean paréntesis en las fórmulaslos operadores tienen las siguientes precedencias:

- Valores Negativos

* Multiplicación

/ División

+ Suma

- Resta

< Menor que

> Mayor que

<= Menor o igual que

>= Mayor o igual que

= Igual que

<> No igual a...

And “Y” lógico

Or “O” lógico

Page 5: 10. Indicator Builder

Curso de MetaStock 6.0 10.- Indicator Builder.

X/5

La expresión “C+O/2”, escrita sin paréntesis, el programa la calcularía como “O/2” más“C”, es decir, el precio de apertura dividido entre dos más el precio de cierre, resultadobastante diferente al que se consigue con la fórmula que anteriormente hemos introducido:“(C+O)/2”, por ello será casi siempre mejor emplear los paréntesis.

Funciones:

Sería algo complejo o casi imposible construir un buen indicador contandoúnicamente con los operadores anteriormente descritos. MetaStock 6.0 pone a disposicióndel usuario, alrededor de 190 funciones para utilizar y complementar al resto de operadores.Estas funciones se pueden añadir, bien escribiendo su nombre (en inglés) o bien pulsando elbotón “Functions”. Por ejemplo, para realizar una raíz cuadrada es necesario insertar lafórmula denominada “sqrt()”. La raíz cuadrada de los precios de cierre sería: sqrt(CLOSE).Este tipo de sintaxis es muy similar al de la mayoría de las hojas de cálculo.

Todas las funciones deberán ser seguidas por dos paréntesis (), si no se ponen estosparéntesis aparecerá un mensaje de error al pulsar el botón “OK”.

Parámetros de las Funciones:

Los parámetros de las funciones son los datos suplementarios que hay que introducir alas propias funciones. Así la función de la raíz cuadrada solo tiene un parámetro, es decir,sólo hay que indicar sobre que se quiere que se haga la raíz cuadrada, (Close o cierre ennuestro ejemplo). También existen algunas funciones que no requieren ningún parámetro,como por ejemplo la función del MACD: “macd()”, es decir, el MACD se calcula por si solo.

También es posible combinar varias fórmulas, por ejemplo haremos la raíz cuadradadel MACD: “sqrt( macd() )”

Son muchas las funciones que requieren de múltiples parámetros, como por ejemplola fórmula del Price Oscillator u Oscilador de Precio, que necesita cuatro parámetros parasu cálculo: oscp(10,20,EXPONENTIAL,%), que traducido significa que se calculará unOscilador de Precios 10-20 exponencial y calculado por el método porcentual. Si no seintroduce uno de los parámetros el programa se encargará de recordarlo, mostrando unmensaje de error.

Localización de errores en las Fórmulas:

El programa MetaStock 6.0 es por si solo una excelente herramienta para probar ycomprobar el funcionamiento correcto de nuevas fórmulas. Tanto es así, que es imposibleintroducir una formula incorrecta en cuanto a su construcción, que la fórmula introducidaproporcione un indicador de compra y venta fiable es otra cosa. Esto es así, porque si elprograma detecta algún error, al pulsar el botón OK advierte de ese error y no permite salirde la pantalla sin corregirlo. Por lo tanto, todas las fórmulas, que pasen la “prueba del OK”siempre serán válidas.

Si al introducir una fórmula se introduce un error el programa comprueba esa fórmula,y al pulsar el OK, se vuelve a mostrar la formula y se sitúa el cursor en el lugar donde se haencontrado el error, junto a un mensaje que indica cual es el error. Esta es la razón por laque no se pueden introducir fórmulas incorrectas. Esta forma de corregir los errores vamos ailustrarla a través de un ejemplo:

Suponemos que se quiere representar un indicador que contenga una media móvilexponencial de 10 períodos sobre los precios de cierre. Todo lo que recordamos es que lafunción de las medias móviles se denomina "mov". Introduciremos lo único que sabemos:mov y hacemos click en el botón OK.

Page 6: 10. Indicator Builder

Curso de MetaStock 6.0 10.- Indicator Builder

X/6

El cursor se posicionará detrás del nombre de la función ("mov") y aparecer‡ el cuadrode advertencia anterior, que significa que debe poner un paréntesis detrás del nombre de lafunción. Ahora se deberá añadir un paréntesis de apertura. mov( y haga click en OK. En estemomento, el cursor estará posicionado después de "(" y se mostrará el mensaje: "Price arrayor function expected", que significa que le falta el precio o una función detrás delparéntesis. Introduzca el identificador de precio "CLOSE" mov(CLOSE y haga click en OK.Si continúa este proceso Metastock le seguirá pidiendo datos hasta que la sintaxis de lafórmula sea la correcta, es decir: mov(CLOSE,10,EXPONENTIAL).

Insertar Funciones:

Haciendo click en el botón “Functions” mientras se está creando una fórmula nueva omodificando una ya creada aparecerá la pantalla denominada “Paste Functions”

Esta pantalla lista las categorías de funciones disponibles en el recuadro de laizquierda y los nombres de las funciones de cada categoría en el de la derecha. Haciendoclick en OK se insertará dentro de la fórmula (en el lugar en que se encuentre el cursor) lafunción que se haya seleccionado. La función también puede insertarse con unadescripción de los argumentos requeridos activando el recuadro Paste Arguments.

Page 7: 10. Indicator Builder

Curso de MetaStock 6.0 10.- Indicator Builder.

X/7

Introducción de comentarios:

Dentro del recuadro de la fórmula es posible introducir comentarios sobre el indicadorque se está creando o sobre lo que se desee. Para hacer esto simplemente se deberá escribirel comentario rodeándolo de corchetes “{“; ”}”.

La función if():

Esta función se emplea para crear proposiciones condicionadas del tipo:“si...entonces”. Ésta contiene tres parámetros tal y como lo plasma el ejemplo siguiente:

“if( CLOSE > (HIGH+LOW) / 2, +V, -V )

El primer campo (en color azul) es la condición que el programa analizará para ver sies cierta o falsa. El segundo campo (en color verde) es la acción que realizará si lacondición es cierta. El tercer campo (en color rojo) es la acción que realizará si lacondición es falsa.

La anterior formula suma el volumen si el cierre es mayor que la media entre máximoy mínimo o, si no, lo resta.

Utilización de los Operadores “And” (Y) y “Or” (ó).

Cuando se han de reunir varias condiciones en una sola formula se hace necesario eluso de los ya nombrados operadores “and” y “or”. Por ejemplo se podría crear un indicadorque tome el valor +1 cuando el MACD sea mayor que cero y a la vez que el RSI sea mayorque 80, para ello escribiríamos la fórmula siguiente.

“If( macd() > 0 AND rsi(14) > 80, +1, 0 )”

Se pueden añadir tantos operadores como espacio se disponga, y también se puedencombinar ambos operadores.

If((macd() > 0 OR close > mov(close,10,e)) AND rsi(14) > 80, +1, 0)

Traduciendo: este indicador valdrá +1 si el MACD es mayor de cero o el precio decierre está por encima de la media móvil exponencial de 10 sesiones de los precios decierre, y el RSI es mayor de 80. Para que la anterior fórmula tenga el resultado expuesto sehan colocado los paréntesis alrededor del operador “or”, ya que si no se hubiesen agrupadola media móvil y el RSI al tener prioridad en el cálculo el operador “And” según lo visto enuna de las tablas expuestas en este capítulo.

Referencias a otros indicadores creados por el usuario:

Los indicadores que se creen pueden contener referencias a otros indicadoresdiseñados por el propio usuario, para ello está diseñada la función fml(). Por ejemplo, lafunción "fml( "My MACD")" es igual a la fórmula cuyo texto contiene "My MACD" comonombre. No es necesario el nombre completo, sólo el texto suficiente que consigadiferenciar este indicador de otro no creándose confusión.

El siguiente indicador representará el valor del indicador denominado "Down Day" siel precio de cierre es menor o igual a la media móvil exponencial de 10 períodos de losprecios de cierre, por el contrario, si es mayor, se representa el valor del indicador llamado"Up Day. La fórmula es la siguiente:

" if( close <= mov(close, 10, E), fml("Down Day"), fml("Up Day") )

Esta técnica de incluir en una misma fórmula otras fórmulas recibe el nombre deanidado de fórmulas. El empleo de fórmulas anidadas es una manera excelente de abreviary simplificar largas y complejas fórmulas. Una fórmula anidada puede hacer referencia auna fórmula anidada que hace referencia a una fórmula anidada y así consecutivamente.

Page 8: 10. Indicator Builder

Curso de MetaStock 6.0 10.- Indicator Builder

X/8

Las referencias circulares (una fórmula llama a otra fórmula que llama a la primera)causarán un mensaje de error cuando se represente dicha fórmula.

Fórmulas autorreferenciadas con el empleo de la partícula “PREV”:

Empleando la constante PREV se pueden crear fórmulas que se autorreferencian. Unafórmula autorreferenciada es aquella que es capaz de tomar como referencia valores de lapropia fórmula pero de un período de tiempo pasado. Un ejemplo de este tipo de fórmulases la siguiente:

“(H+L) + PREV”

Esta fórmula lo que ha ce es sumar los precios máximos y mínimos y luego sumar estevalor al valor que tuvo ayer el mismo indicador. Un claro ejemplo en un indicador algo másserio, es el que se obtiene observando la fórmula del OBV:

“(if(c>ref(c,-1),1,-1)*volume)+PREV”

El identificador de precios “P”:

El programa dispone de un identificador de precio especial la variable "P" se empleapara referenciar cualquier línea o un indicador o precio, es decir, el indicador que se creese calculará sobre uno de estos elementos dependiendo de donde se “deposite” el indicador.

La variable "P" representa la el elemento sobre el que se ponga el indicador. Con lossystem tests y las exploraciones, la variable "P" representará el elemento que anteriormentese haya seleccionado. Esto puede ser útil si se quiere que un indicador, una exploración, unsystem test, o un Experto calcule un indicador por ejemplo en base a un determinadoelemento del gráfico y no en base únicamente al valor base del chart, que son los precios.

Si se aplica un indicador que contenga la variable "P" sobre las barras de precios, elprecio de cierre será el que use por la variable "P" para el cálculo del indicador.

Por ejemplo, la siguiente fórmula es un indicador "MACD-type" es decir, la diferenciaentre las medias móviles exponenciales de 12 y 26 periodos del elemento del gráfico sobreel que se deposite en el indicador:

“mov( P, 12, E) - mov( P, 26, E)”

Si por ejemplo se aplicase este indicador al indicador predefinidoAccumulation/Distribution, el resultado no será más que el MACD del indicadorAccumulation/Distribution. En resumen, con el anterior indicador, se pueden obtener loscorrespondientes “MACDs” del resto de indicadores.

“Binary Waves”Los "Binary Waves" son un tipo especial de indicadores que intentan expresar en qué

posición están con respecto a un valor y en que medida. No es concepto fácil de asumir sinantes dominar al completo el resto de "Indicator Builder".

Un indicador del tipo "Binary Wave" toma el valor +1 o -1 dependiendo de si e lindicador se encuentra alcista o bajista, de ahí viene su nombre, (onda doble). El auténticoy asombroso poder de estos indicadores se obtiene con múltiples (ondas), en lugar de poderobtener dos resultados podemos obtener muchas más.

Page 9: 10. Indicator Builder

Curso de MetaStock 6.0 10.- Indicator Builder.

X/9

Ejemplos de "Binary Waves”

La siguiente tabla muestra las reglas empleadas para cuatro indicadores del tipo"Binary Waves”:

Indicador Alcista si: Bajista si:

MACD > su media móvil < su media móvil

Media móvil cierre > mediamóvil

cierre < = mediamóvil

R.O.C. R.O.C. > 0 R.O.C.< = 0

Estocástico > 50 < = 50

Tal y como se muestra en la tabla, se considerará al MACD alcista siempre que estépor encima de su media móvil (de 9 sesiones y exponencial) o también denominada líneade señal, y del mismo modo se considerará al MACD bajista cuando se encuentre pordebajo o tome el mismo valor que su media móvil. Por lo tanto, el MACD Binary Wavetomará el valor +1 o -1 dependiendo de donde se encuentre el MACD con respecto a sumedia móvil, dependiendo de si en ese momento es alcista o bajista. Con el resto deindicadores sucede lo mismo siguiendo los mismos criterios.

También podríamos desear combinar a la vez estos cuatro "Binary Waves" en un soloindicador Binary Wave composite. De este modo cuando los cuatro Binary Waves sonalcistas, el valor que tomará el Binary Waves composite no será +1 sino que será +4, y asícuando los cuatro Binary Waves sean bajistas el Binary Waves composite tomará el valor -4.Cuando nos encontremos con dos alcistas y dos bajistas el valor del composite será cero.

Con el composite encontramos en un indicador cuatro indicadores a la vez, de estemodo, el filtro contra señales falsas para operar es tremendo y sólo se operará cuando cuatroindicadores a la vez lo señalen encontrándose todos ellos en la misma situación.

Page 10: 10. Indicator Builder

Curso de MetaStock 6.0 10.- Indicator Builder

X/10

Introducción del ejemplo:

Se deberán introducir cada "Binary Wave” por separado y posteriormente se realizaráel composite basándose en esas fórmulas ya introducidas. Así se puede emplear y modificarindividualmente cada "Binary Wave".

1.- Deberemos crear un nuevo indicador que denominaremos “MACD Wave”, quevaldrá +1 cuando el MACD sea superior a su media móvil, y -1 cuando sea inferior a ella:

if(macd() > mov(macd(),9,E), +1, -1)

2.- La segunda fórmula corresponde al indicador "Binary Wave" que denominaremos“Mov Wave”, el cual valdrá +1 si el precio de cierre es superior a la media móvil de 20sesiones exponencial; sino valdrá -1:

if(C > mov(C,20,E), +1, -1)

3.- El tercer indicador "Binary Waves" se llamará “ROC Wave”, tomará el valor +1 si elROC (hallado en porcentaje) de 12 períodos sobre los precios de cierre es mayor que cero;:si no es así el indicador tomará el valor -1:

if(roc(c,12,%) > 0, +1 , -1)

4.- La cuarta fórmula la llamaremos “Stoch Wave” y valdrá +1 si el indicadorEstocástico es mayor que 50 y -1 si es menor:

if(stoch(5,3) > 50, +1, -1)

5.- La última fórmula va a ser la que englobará las cuatro anteriores en un indicadordel tipo Binary Wave; a esta fórmula la llamaremos “Indesfi Composite”:

fml(“MACD Wave”) + fml(“Mov Wave”) + fml(“ROC Wave”) + fml(“Stoch Wave”)

El siguiente gráfico ilustra el resulado:

Valores más cercanos a +4 indican más estado alcista.