El comercio en los mercados financieros se relaciona con una serie de riesgos que deben ser tenidos en cuenta en los algoritmos de los sistemas comerciales. La reducción de dichos riesgos es una tarea vital a la hora de obtener beneficios en el trading.
Antes de iniciar un robot en la cuenta comercial, habitualmente lo probamos y optimizamos usando el historial de las cotizaciones. Pues, aquí surge una pregunta razonable, ¿cómo nos pueden ayudar los resultados anteriores en el historial en el futuro? En este artículo, se muestra la aplicación del método de Monte Carlo para construir sus propios criterios de optimización de las estrategias comerciales. Aparte de eso, se consideran los criterios de la estabilidad del Asesor Experto.
Se han analizado 7 tipos de medias móviles (MA), asimismo, se ha desarrollado una estrategia comercial para trabajar con ellas. Se ha realizado la simulación y la comparación de diferentes MA en una estrategia comercial, dando una característica comparativa de la efectividad del uso de las diferentes MA.
Al buscar una Señal, los suscriptores en primer lugar se orientan por el crecimiento general en la cuenta comercial del Proveedor, y esto es lógico en cierta medida. Pero aparte de esto, conviene prestar atención a los riesgos potenciales que conlleva una estrategia comercial concreta. En este artículo vamos a mostrar cómo valorar de forma rápida y visual la Señal que le interese con la ayuda de varios índices.
Ha sido considerado otro criterio de usuario para la optimización de las estrategias comerciales basado en el análisis del gráfico del balance. Para eso, ha sido utilizado el cálculo de la regresión lineal con la ayuda de la librería ALGLIB.
En este artículo se consideran las técnicas que permiten emular con precisión la optimización walk-forward a través del Probador incorporado y librerías auxiliares implementadas en MQL.
¡La página MQL5.com recuerda perfectamente a cada uno de ustedes! Cuántas de sus operaciones han resultado épicas, cuán populares han resultado sus artículos y con cuánta frecuencia se han descargado sus programas del Code Base, es sólo una pequeña parte de lo que recuerda sobre usted MQL5.com. Los logros de cada uno de ustedes están disponibles en su perfil, pero ¿qué aspecto tiene la imagen en general? En este artículo construiremos una imagen general de los logros de todos los participantes de MQL5.community.
Ha pasado un año desde el lanzamiento de ventas en el Mercado de MQL5 (MQL5 Market). Ha sido un año de trabajo duro que ha resultado en el nuevo servicio de la mayor tienda de robots de trading e indicadores técnicos para la plataforma MetaTrader 5.
En el artículo, vamos a analizar la combinación de las listas de objetos de barra de cada periodo utilizado del símbolo en un objeto de series temporales del símbolo. De esta forma, tendremos preparado para cada símbolo un objeto que guarde las listas de todos los periodos utilizados de la serie temporal de un símbolo.
El Terminal de Cliente MetaTrader 5 ofrece un gran abanico de posibilidades para la optimización de parámetros de Asesores Expertos. Además de los criterios de optimización incluidos en el Probador de Estrategias, los desarrolladores tienen la posibilidad de crear sus propios criterios. Esto lleva a un número casi ilimitado de posibilidades para poner a prueba y optimizar los Asesores Expertos. Este artículo describe formas prácticas de crear estos criterios, tanto complejas como simples.
En este artículo me gustaría mostrar un ejemplo de cómo puede ser el programa de un operador y qué resultados pueden obtenerse en 9 meses, empezando el aprendizaje de MQL5 desde cero. También mostraré lo multifuncional e informativo que puede ser dicho programa para un operador ocupando el mínimo espacio en el gráfico de precio. Y podremos ver lo colorido, brillante e intuitivamente claro que pueden ser para el usuario los paneles de información sobre transacciones. Así como muchas otras características...
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.
Si el primer artículo de la serie estaba dedicado a la creación de la biblioteca DLL que utilizaremos en nuestro optimizador automático y en el robot, este estará completamente dedicado al lenguaje MQL5.
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.
En este artículo, analizaremos la idea del monitoreo multidivisas de las señales comerciales, desarrollaremos la estructura y el prototipo de la futura aplicación, así como, crearemos su plantilla para el trabajo ulterior. Crearemos paso a paso una aplicación multidivisas ajustada de forma flexible que permite tanto crear las señales comerciales, como ayudar a los traders a buscarlas.
El desarrollo de estrategias comerciales está relacionado con el procesamiento de grandes volúmenes de datos. Ahora, usted podrá trabajar directamente en MQL5 con bases de datos con la ayuda de solicitudes SQL basadas en SQLite. Una ventaja importante de este motor es que toda la base de datos se encuentra en un único archivo estándar, ubicado en la computadora del usuario.
El presente artículo describe el preprocesador, escáner y el parser (analizador sintáctico) para el análisis sintáctico de los códigos fuente en el lenguaje MQL. La implementación en MQL se adjunta.
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.
La primera parte del artículo está dedicada a la creación de una herramienta para trabajar con los informes de optimización y su importación desde el terminal, así como a los procesos de filtrado y clasificación de los datos obtenidos. MetaTrader 5 permite descargar informes sobre las pasadas de optimización, pero querríamos tener la posibilidad de añadir al informe nuestros propios datos.
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 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, se describe cómo se puede crear su propio símbolo de un instrumento de la bolsa de valores usando el lenguaje MQL5. En particular, se puede utilizar las cotizaciones bursátiles del sitio web popular «Finam.ru». Otra opción considerada es la posibilidad de trabajar con un formato aleatorio de los archivos de texto usados para crear un símbolo personalizado. Por esa razón, podemos trabajar con cualquier instrumento financiero y fuente de datos. Después de crear un símbolo personalizado, podemos usar todas las posibilidades del Simulador de Estrategias de MetaTrader 5 para testear los algoritmos comerciales para los instrumentos bursátiles.
Es la continuación del artículo anterior que describe la creación de la interfaz gráfica para gestionar la optimización. Aquí, vamos a considerar la lógica del funcionamiento de la extensión creada. Vamos a crear un envoltorio para el terminal MetaTrader 5 con el fin de iniciarlo como un proceso controlado usando C#. Además, vamos a analizar el trabajo con los archivos de configuración y archivos de los ajustes. La lógica del programa será dividida en dos partes: en la primera estarán descritos los métodos que se invocan después de pulsar algún botón, la segunda parte se encargará del inicio y de la gestión de la optimización.
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.