Descargar MetaTrader 5

Análisis comparativo de 30 indicadores y osciladores

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

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)
MetaTrader 5 - ¡Más de lo que puedas imaginar! MetaTrader 5 - ¡Más de lo que puedas imaginar!

El terminal de cliente de MetaTrader 5 ha sido desarrollado desde cero y mejora con creces a su predecesor. La nueva plataforma ofrece oportunidades ilimitadas para operar en cualquier mercado financiero. Además, se ha ampliado su funcionalidad para ofrecer aún más características y facilidad de uso. Todo ello hace que sea muy difícil la enumeración de todas las ventajas de MetaTrader 5. Hemos intentado describir brevemente todas estas ventajas en un único artículo y nos ha sorprendido ver que el resultado ¡no ha sido nada breve!

Aumente la velocidad de los cálculos con la red en la nube de MQL5 Aumente la velocidad de los cálculos con la red en la nube de MQL5

¿Cuántos procesadores tiene tu ordenador? ¿Cuántos ordenadores puedes usar para optimizar una estrategia de trading? Aquí mostraremos cómo usar la red en la nube de MQL5 para acelerar los cálculos recibiendo la capacidad de procesamiento a través de la red mundial con solo el clic de un ratón. La frase "el tiempo es dinero" se hace más evidente aun con el paso de los años, y no podemos permitirnos esperar para realisar cálculos importantes durante decenas de horas o incluso días.

Trabajando con cestas de parejas de divisas en el mercado fórex Trabajando con cestas de parejas de divisas en el mercado fórex

En el artículo se analizan cuestiones relacionadas con la división en grupos de las parejas de divisas, las cestas; también sobre cómo obtener datos sobre el estado de estas cestas (por ejemplo, sobrecompra o sobreventa); qué indicadores pueden proporcionar estos datos; y al fin, sobre cómo se puede aplicar la información obtenida en el trading práctico.

Red neuronal profunda con Stacked RBM. Auto-aprendizaje, auto-control Red neuronal profunda con Stacked RBM. Auto-aprendizaje, auto-control

El artículo es la continuación de artículos anteriores sobre neuroredes profundas y elección de predictores. En este veremos las particularidades de una neurored iniciada con Stacked RBM, así como su implementación en el paquete "darch".