En el artículo se analiza la teoría y el uso práctico del algoritmo de pronosticación de series temporales usando como base la descomposición modal empírica, y se propone su implementación en MQL, además de presentarse indicadores de prueba y expertos.
En este artículo continuamos con la descripción de los algoritmos del motor comercial CStrategy. En la tercera parte de esta serie de artículos se analizan con detalle ejemplos de escritura de estrategias comerciales específicas que utilizan este enfoque. Además, se presta gran atención a los algoritmos auxiliares: el sistema de registro y el acceso a los datos bursátiles con la ayuda de un indexador convencional (Close[1], Open[0], etc.).
Hoy vamos a dar forma acabada a la idea de publicación de las señales comerciales del EA en el Twitter a base de PHP. Hemos empezado a hablar sobre eso en la primera parte del artículo. Vamos a reunir las partes separadas del SDSS. En cuanto al lado del cliente de la arquitectura del sistema, vamos a utilizar la nueva función WebRequest() del MQL5 para el envío de las señales comerciales vía HTTP.
Sistema comercial Rayos Elder basado en los indicadores Bulls Power, Bears Power y Moving Average (EMA — promediación exponencial). Este sistema fue descrito por Alexander Elder en su libro "Vivir del Trading" (Trading for a living).
Con este artículo, comenzamos una nueva serie en la descripción de la biblioteca "DoEasy" para la creación rápida y sencilla de programas. Hoy, empezaremos a preparar la funcionalidad de la biblioteca para acceder a los datos de las series temporales de los símbolos y trabajar con los mismos. Asimismo, crearemos el objeto "Barra", encargado de guardar los datos tanto básicos como ampliados de la barra de la serie temporal, y también ubicaremos los objetos de barra en la lista de serie temporal para que resulte más cómodo buscar y clasificar dichos objetos.
En el presente artículo, finalizaremos la descripción del concepto de trabajo con solicitudes pendientes y crearemos la funcionalidad para eliminar órdenes pendientes y posiciones según una condición. De esta forma, dispondremos de toda una funcionalidad con la que podremos crear estrategias de usuario sencillas, para ser más exactos, una cierta lógica de comportamiento que el asesor activará al cumplirse las condiciones establecidas por el usuario.
Continuamos trabajando con la funcionalidad de la biblioteca para implementar el comercio con la ayuda de solicitudes pendientes. Ya hemos implementado el envío de solicitudes comerciales según condiciones para la apertura de posiciones y la colocación de órdenes pendientes. Hoy, implementaremos el cierre de posiciones completo, parcial o por opuesta, según condiciones.
Continuamos creando la funcionalidad para comerciar con la ayuda de solicitudes comerciales. En el presente artículo, implementaremos la posibilidad de colocar órdenes pendientes según una condición.
A partir de este artículo, vamos a crear una funcionalidad que permita comerciar con la ayuda de solicitudes comerciales según una cierta condición. Por ejemplo, al llegar o superar una determinada hora, o bien al superar el parámetro de beneficio establecido, o bien al registrarse un evento de cierre de posición por stop loss.
En el anterior artículo, creamos las clases de los objetos de solicitudes pendientes que se corresponden con el concepto general de los objetos de la biblioteca. En el presente artículo, nos ocuparemos de la clase que permite controlar los objetos de solicitudes pendientes.
En artículos anteriores, comprobamos el concepto de solicitudes comerciales pendientes. Una solicitud pendiente, en esencia, es una orden comercial normal, pero ejecutada según una condición concreta. En esta ocasión, vamos a crear clases completas de objetos de solicitudes pendientes: el objeto de solicitud básico y sus herederos.
Este es el tercer artíclo sobre el concepto de las solicitudes pendientes. En él, terminaremos con la puesta a punto del trabajo con solicitudes comerciales pendientes, creando los métodos para cerrar posiciones, eliminar órdenes pendientes y modificar los parámetros de las posiciones y las órdenes pendientes.
En el presente artículo, continuaremos trabajando con las solicitudes comerciales e implementaremos la colocación de órdenes pendientes. Asimismo, corregiremos algunos errores localizados en el funcionamiento de la clase comercial.
Después de enviar una orden comercial al servidor, no deberíamos pensar que "ya está todo hecho", ya que ahora tendremos que comprobar los códigos de error, o bien la ausencia de los mismos. En el presente artículo, vamos a implementar el procesamiento de los errores retornados por el servidor comercial, preparando asimismo la base para crear solicitudes comerciales pendientes.
En el presente artículo, analizaremos el manejador de parámetros erróneos de la orden comercial, mejoraremos la clase comercial básica y también corregiremos el funcionamiento de la clase de eventos comerciales: ahora, todos los eventos comerciales, tanto únicos, como simultáneos en un mismo tick, serán correctamente determinados en los programas.
En el presente artículo, continuaremos el desarrollo de la clase comercial, organizando esta vez el control de los valores incorrectos de los parámetros de la orden comercial e implementando la notificación sonora de los eventos comerciales.
En el artículo, comenzaremos a crear la clase comercial principal de la biblioteca, equipándola con la primera versión de la funcionalidad para la comprobacion primaria de los permisos de realización de operaciones comerciales. Asimismo, ampliaremos un poco las posibilidades y el contenido de la clase comercial básica.
En este artículo vamos a comenzar un nuevo apartado de la biblioteca, las clases comerciales, y también vamos a analizar la creación de un objeto comercial básico único para las plataformas MetaTrader 5 y MetaTrader 4. Dicho objeto comercial, al enviar una solicitud al servidor, presupondrá que los parámetros de la solicitud comercial que se le han transmitido han sido verificados y son correctos.
En el artículo, vamos a analizar el guardado de datos en el código fuente del programa, así como la creación de archivos de sonido y audio a partir del mismo. Con frecuencia, al crear un programa, necesitamos usar sonidos e imágenes. En el lenguaje MQL existen varias posibilidades de uso de estos datos.
En el artículo, analizaremos la muestra de mensajes de texto. Ahora que tenemos un número suficiente de mensajes de texto distintos, merece la pena que pensemos en organizar un método para guardarlos, mostrarlos y adaptarlos a otros idiomas desde el ruso. Asimismo, también deberíamos pensar en un modo de añadir nuevos idiomas a la biblioteca y alternar rápidamente entre ellos.
Investigación ampliada de características estacionales: autocorrelación, mapas de calor y diagramas de dispersión. El objetivo de este artículo es mostrar que la "memoria del mercado" tiene un carácter estacional que se muestra a través de la maximización de la correlación de los incrementos de orden aleatorio.
Investigando las características estacionales de las series temporales financieras con la ayuda de diagramas Boxplot. Cada diagrama de caja individual ofrece una buena imagen sobre la distribución de los valores en el conjunto de datos. A pesar de sus similitudes visuales, no debemos confundir el diagrama de caja con el gráfico de velas japonesas.
En este artículo, continuaremos analizando la tecnología OLAP en aplicación al trading, ampliando la funcionalidad representada en dos artículos anteriores. Esta vez, al análisis operativo se le someterán las cotizaciones. Mostraremos cómo se hacen y se comprueban las hipótesis sobre las estrategias comerciales a base de los indicadores agregados del historial. Además, presentaremos los Asesores Expertos para analizar las regularidades barra por barra y el trading adaptativo.
En la mayor tienda de aplicaciones comerciales ya tiene a su disposición 13 970 productos. Entre ellos, encontrará 4 800 robots, 6 500 indicadores, 2 400 utilidades y otras soluciones. En este caso, además, la mitad de las aplicaciones (6 000) se pueden alquilar. Una cuarta parte del total de los productos (3 800) es de acceso gratuito.
En dos artículos anteriores, analizamos el uso de las figuras técnicas de Merrill aplicándolas a diferentes tipos de datos. Fue desarrollada una aplicación para la simulación a base de esta idea. En este artículo, continuaremos nuestro trabajo con el Constructor de estrategias, mejoraremos su funcionamiento, lo haremos más cómodo, así como ampliaremos su funcionalidad y capacidades.
En la versión 153, la edición de casi todos los parámetros del ZUP se puede realizar a través de la interfaz gráfica. En el artículo se ofrece una descripción de los últimos cambios en la interfaz gráfica del ZUP. También se describen los principales elementos del tridente de Andrews en ZUP para usar esta herramienta al analizar la situación de mercado.
Hoy vamos a finalizar de forma lógica la funcionalidad del objeto básico de todos los objetos de la biblioteca, que permitirá a cualquier objeto de la biblioteca creado sobre su base interactuar de forma activa con el usuario. Por ejemplo, podemos establecer el tamaño máximo aceptable del spread para abrir una posición y el valor del nivel de precio cuyo cruzamiento causará el envío de un evento desde el objeto de símbolo al programa sobre la señal del tamaño del spread y el cruzamiento del nivel controlado por parte del precio.
En el artículo anterior, analizamos un modelo de aplicación de las figuras técnicas de Merrill a diferentes datos, tales como el valor del precio en el gráfico de un instrumento de divisa y los valores de los diferentes indicadores del paquete estándar del terminal MetaTrader 5: ATR, WPR, CCI, RSI y otros. Ahora, vamos a intentar crear un constructor de estrategias basado en las ideas sobre el uso de las figuras técnicas de Merrill.
En los anteriores artículos de la serie, hemos intentado crear de formas distintas un asesor gradador más o menos rentable. En esta ocasión, vamos a tratar de aumentar la rentabilidad del asesor comercial con la ayuda de la diversificación. Nuestro objetivo es el 100% de beneficio anual anhelado por todos, con un 20% de reducción máxima del balance.
En el artículo se describe una sencilla biblioteca que usa componentes de terceros para parsear código HTML. El lector podrá saber cómo llegar hasta los datos que no se pueden obtener con solicitudes GET y POST. Vamos a elegir algún sitio web con páginas no demasiado voluminosas, e intentaremos obtener del mismo información interesante.
En este artículo, intentaremos crear el mejor asesor posible de aquellos que funcionan según el principio del gradador. Como siempre, se tratará de un asesor multiplataforma, capaz de funcionar tanto en MetaTrader 4, como en MetaTrader 5. El primer asesor era bueno en todo, excepto en que no podía traer beneficios en un periodo de tiempo prolongado. El segundo asesor podía funcionar en intervalos superiores a varios años. Pero era incapaz de lograr más de un 50% de beneficio anual con una reducción máxima inferior al 50%.
En el artículo analizaremos la creación de una colección de símbolos basada en el objeto de símbolo abstracto básico creado en el artículo anterior. Los herederos del símbolo abstracto concretarán la información sobre el símbolo. En ellos se organizará la determinación de la accesibilidad en el programa de las propiedades del objeto de símbolo básico, y también se diferenciarán los objetos de símbolo según su pertenencia a un grupo.
En este artículo vamos a crear un objeto de símbolo que será el objeto básico para crear la colección de símbolos. Con su ayuda, podremos obtener los datos de los símbolos necesarios para su posterior análisis y comparación.
En el presente artículo, vamos a analizar el modelo de las figuras técnicas de Merrill, e intentaremos averiguar hasta qué punto estos patrones técnicos son útiles hoy en día. Para este propósito, crearemos una herramienta para testearlos y aplicaremos este modelo a diferentes tipos de datos, a saber: precio de cierre, sus máximos y mínimos, indicadores del tipo oscilatorio.
No es ningún secreto que el éxito del funcionamiento de cualquier robot comercial depende de la correcta elección de sus parámetros (su optimización). Pero los parámetros óptimos para un intervalo temporal no siempre resultan los mejores en otro intervalo de la historia. Con frecuencia, asesores que son rentables en la simulación, dan pérdidas en tiempo real. Aquí nos surje la pregunta concerniente a la necesidad de optimizar continuamente. Allá donde aparece mucho trabajo rutinario, el hombre busca la forma de automatizarlo. En este artículo proponemos nuestro enfoque particular para solucionar esta tarea.
En el artículo anterior, definimos los eventos de cierre de posiciones para MQL4 en la biblioteca y eliminamos las propiedades de las órdenes que nos resultaban innecesarias. En el presente artículo, analizaremos la creación del objeto "Cuenta", crearemos una colección de objetos de cuenta y prepararemos la funcionalidad de para monitorear los eventos de las cuentas.
En anteriores artículos comenzamos a crear una gran biblioteca multiplataforma cuyo objetivo es simplificar la creación de programas para las plataformas MetaTrader 5 y MetaTrader 4. En la sexta parte, enseñamos a la biblioteca a trabajar con posiciones en las cuentas de compensación. En esta parte, implementaremos el seguimiento de los eventos de activación de órdenes StopLimit y prepararemos la funcionalidad necesaria para monitorear la modificación de órdenes y posiciones.
En artículos anteriores, comenzamos a crear una gran biblioteca multiplataforma, cuyo cometido es simplificar la escritura de programas para las plataformas MetaTrader 5 y MetaTrader 4. En la novena parte, comenzamos a completar las clases de la biblioteca para trabajar en MQL4. En el presente artículo, continuaremos desarrollando la biblioteca para hacerla totalmente compatible con MQL4.
En artículos anteriores, comenzamos a crear una gran biblioteca multiplataforma, cuyo cometido es simplificar la escritura de programas para las plataformas MetaTrader 5 y MetaTrader 4. En el séptimo artículo, añadimos el seguimiento de los eventos de activación de órdenes StopLimit y preparamos la funcionalidad para monitorear el resto de eventos que tienen lugar con las órdenes y posiciones. En el presente artículo, vamos a crear una clase que monitoreará los eventos de modificación de las órdenes y posiciones de mercado.
En el presente artículo, vamos a presentar la siguiente versión de la aplicación Pattern Analyzer. En esta versión se han corregido algunas imperfecciones y se han añadido nuevas capacidades; además, se ha dado un nuevo enfoque a la comodidad y la actualidad de la interfaz actual. En este caso, además, se han tenido en cuenta las sugerencias reflejadas en los comentarios de los artículos anteriores. Podrá familiarizarse con el resultado leyendo el presente artículo.