Descargar MetaTrader 5

Análisis comparativo de 30 indicadores y osciladores

6 enero 2016, 09:57
Александр
0
345

Introducción

En la actualidad, la abundancia de indicadores y osciladores conduce inevitablemente a un problema: ¿cómo elegir los más eficientes? Los traders se enfrentan a menudo a un abanico abrumador de posibilidades, con cientos y cientos de herramientas de predicción y análisis, y tienen que invertir un esfuerzo considerable en la ejecución de sus pruebas en cuentas demo, con datos históricos reales. Al final del proceso se sacan conclusiones sobre la eficacia o la inutilidad de tal o cual indicador, en determinadas situaciones.

Sin embargo, tal estimación no es siempre objetiva debido a la gran cantidad de parámetros e información que hay que gestionar: símbolos, marcos temporales, gráficos, volatilidad, etc. Los análisis comparativos permiten llegar a conclusiones más fiables sobre los indicadores y osciladores.

El análisis comparativo de indicadores y osciladores no se puede hacer sin gráficos. Por otra parte, colocar diez indicadores distintos en un gráfico es una sobrecarga considerable. La figura obtenida se convierte en una maraña inadecuada para el análisis. Este artículo describe un Asesor Experto que resuelve este problema, haciendo más cómodo el análisis comparativo.


Asesor experto

Preste atención. Este EA no está diseñado para operar en el mercado real, y por lo tanto no incorpora ningún bloque de administración del dinero. El bloque de ejecución de órdenes se implementa de una manera muy sencilla. La tarea principal del Asesor Experto consiste en proporcionar información sobre la presencia o la ausencia de señales provenientes de diferentes indicadores, en relación con una tabla de precios.

El programa analiza los siguientes indicadores y osciladores:

  1. Aceleración/Desaceleración — АС
  2. Acumulación/Distribución - A/D
  3. Alligator y Fractales
  4. Oscilador Gator
  5. Índice de Movimiento Direccional Medio - ADX, Average Directional Movement Index
  6. Rango Medio Verdadero - ATR, Average True Range
  7. Oscilador impresionante
  8. Poder de los osos
  9. Bandas de Bollinger
  10. Poder de los toros
  11. Índice del Canal de Productos
  12. DeMarker
  13. Envelopes
  14. Índice de fuerza
  15. Ichimoku Kinko Hyo (1)
  16. Ichimoku Kinko Hyo (2)
  17. Ichimoku Kinko Hyo (3)
  18. Índice de Flujo del Dinero – MFI, Money Flow Index
  19. Media móvil
  20. MACD (1)
  21. MACD (2)
  22. Media Móvil del Oscilador (Histograma MACD) (1)
  23. Media Móvil del Oscilador (Histograma MACD) (2)
  24. SAR parabólico
  25. RSI
  26. RVI
  27. Desviación estándar
  28. Oscilador estocástico (1)
  29. Oscilador estocástico (2)
  30. Rango Porcentual de Williams

Para implementar esta tarea se dibuja en el gráfico una matriz formada por "-1", "0" y "1". Cada línea de la matriz pertenece a un indicador/oscilador. Las columnas de la matriz se forman en cada momento de tiempo, de acuerdo al periodo del gráfico seleccionado. La aparición de "-1" en una determinada línea de la matriz indica la presencia de una señal de venta producida por un indicador (oscilador). "1" significa señal de compra y "0" quiere decir ausencia de señal. La Figura. 1 ilustra los resultados del programa.

La Figura. 2 muestra el análisis de la operación RVI basada en la matriz. La línea 26, que contiene datos sobre este indicador, registra un "1" cuando la línea principal se desplaza sobre la señal uno (el indicador recomienda comprar), y "-1" cuando la línea de la señal está por encima de la principal (señal de venta). Debido a las características del indicador esta línea no contiene ningún "0".


Las características de los indicadores y osciladores permiten detectar dos tipos de índices en la matriz: las banderas (los valores de la matriz) que nunca valen cero y las banderas que pueden aceptar el cero, produciendo señales solo en ciertos momentos de tiempo, por ejemplo, el SAR parabólico. Esto se muestra en la Figura. 3.



Se recomienda analizar la información obtenida y formar un conjunto de indicadores de la siguiente manera. Primero de todo seleccione la parte del gráfico que muestra una tendencia. A continuación identifique el periodo de las operaciones potenciales. El inicio de la tendencia puede coincidir con un período plano antes de la tendencia seleccionada o el origen de la tendencia; el final del período indica el momento en que la operación deja de ser rentable. Así, las señales anticipatorias y las últimas señales no se toman en cuenta. La Figura. 4 muestra dicho periodo en líneas de color verde. Tras analizar la información de los indicadores (osciladores) en este período, se toman todos los indicadores que muestran correctamente la tendencia. A continuación el conjunto se puede ampliar o restringir mediante un análisis análogo sobre otros intervalos de tiempo, y como resultado se puede formar el paquete final.

El programa proporciona las pruebas de los paquetes formados. Con este objetivo se enumeran las condiciones en la línea correspondiente del bloque que procesa la estrategia, basándose en la decisión final de compraventa.

En consecuencia, la combinación del análisis del comportamiento del precio con las señales producidas por cada indicador (oscilador), ofrece a posibilidad de seleccionar lo que resulta más eficiente, esto para construir posteriormente el paquete de indicadores.


Algoritmo

En la primera etapa los valores de las "banderas" (-1, 0, 1) se definen en cada indicador. Suponiendo que un indicador, por ejemplo MACD, puede generar señales de varias maneras (convergencia/divergencia, cruce de línea de cero, etc.), el código del programa describe el principio de funcionamiento correspondiente. Por ejemplo, el análisis del oscilador "Rango Porcentual de Williams" se implementa así:

//30. Rango Porcentual de Williams
//Compra: cruce de -80 hacia arriba
//Venta: cruce de -20 hacia abajo
if (iWPR(NULL,piwpr,piwprbar,1)<-80&&iWPR(NULL,piwpr,piwprbar,0)>=-80)
{f30=1;}
if (iWPR(NULL,piwpr,piwprbar,1)>-20&&iWPR(NULL,piwpr,piwprbar,0)<=-20)
{f30=-1;}

A partir de los valores digitales obtenidos se forman objetos únicos de tipo 'Text'. El valor de la hora actual es para evitar la colisión de nombres de los objetos:

timeident=TimeCurrent(); //Con la hora se construye el nombre único del objeto
for (i=0;i<=29;i++) //Bucle para mostrar los valores
 
//Formación de nombres de objeto únicos
{ident=DoubleToStr(30-i,0)+"   "+DoubleToStr(timeident,0); 
 
//Creación de objetos, indicando su ubicación
ObjectCreate(ident,OBJ_TEXT,0,timeident,WindowPriceMin()+Point*5*(i+1));
 
info=DoubleToStr(f[30-i],0); //Formación de una línea de texto
ObjectSetText(ident,info,6,"Arial", Black);} //Descripción del formato de visualización

Para comprobar los paquetes formados el programa incluye "el bloque que procesa la estrategia y coloca la bandera principal". Este bloque tiene condiciones que determinan qué EA tiene que comprar (la bandera principal es igual a 1) o vender (la bandera principal vale -1). Si las condiciones descritas no se satisfacen, la bandera principal permanece igual a cero y no se ejecuta ninguna operación. El EA también contiene el siguiente bloque, con comentarios, para cerrar posiciones.

if(f8==1&&f21==1) //Conjunto de condiciones que establecen la compra a ejecutar
flag=1;
if(f8==-1&&f21==-1) //Conjunto de condiciones que establecen la venta a ejecutar
flag=-1;

Los parámetros de cada indicador (oscilador) se describen en forma de variables, lo que permite la optimización automática, siendo los parámetros iniciales los generalmente aceptados.


Conclusión

Como hemos dicho anteriormente, el Asesore Experto ofrecido no es un sistema de trading automático propiamente dicho. Su tarea principal es facilitar el análisis comparativo de los indicadores y osciladores, para compilar a continuación un paquete de herramientas. El EA genera señales a partir de unos indicadores que no sobrecargan el escritorio del trader, haciendo del análisis una experiencia más agradable.

La flexibilidad que ofrece el EA permite incluir un nuevo conjunto de indicadores en la matriz, y los paquetes formados se pueden probar en datos históricos.

Traducción del ruso hecha por MetaQuotes Software Corp.
Artículo original: https://www.mql5.com/ru/articles/1518

Archivos adjuntos |
Matrix.mq4 (32.39 KB)
Asesores Expertos basados en sistemas populares de trading, y un poco de alquimia en la optimización de robots (continuación) Asesores Expertos basados en sistemas populares de trading, y un poco de alquimia en la optimización de robots (continuación)

En este artículo el autor continúa analizando la implementación de algoritmos de los sistemas de trading más sencillos, y describe algunos detalles relevantes sobre la optimización de resultados. Los traders principiantes y los desarrolladores noveles de EA encontrarán especialmente útil este texto.

MetaEditor: plantillas como punto de apoyo MetaEditor: plantillas como punto de apoyo

Posiblemente a muchos de nuestros lectores les sorprenderá que es posible preparar la escritura de un EA solo una vez, y a continuación utilizar el robot tantas veces como se desee.

Un ayudante para el trader basado en un análisis MACD ampliado Un ayudante para el trader basado en un análisis MACD ampliado

El script 'Trader's Assistant' (ayudante del trader), que sirve para tomar decisiones en la apertura de operaciones, se basa en un análisis ampliado del estado de MACD en las tres últimas barras de cualquier marco temporal. También se puede utilizar en backtesting.

Asesores Expertos basados en sistemas populares de trading, y un poco de alquimia en la optimización de robots (continuación) Asesores Expertos basados en sistemas populares de trading, y un poco de alquimia en la optimización de robots (continuación)

En el presente artículo el autor continúa analizando la implementación de algoritmos de sistemas de trading sencillos, y explica cómo automatizar el backtesting. Los traders principiantes y los desarrolladores noveles de EA encontrarán especialmente útil este texto.