Las bases de la programación orientada a objetos
Las bases de la programación orientada a objetos
No necesita saber qué es poliformismo, encapsulación, etc. para usar la programación orientada a objetos (OOP)... puede simplemente utilizar estas funciones. Este artículo trata las bases de la OOP con ejemplos prácticos.
OpenCL: De una programación simple a una más intuitiva
OpenCL: De una programación simple a una más intuitiva
Este artículo se centra en algunas capacidades de optimización que surgen cuando se tiene en cuenta el hardware subyacente en el que se ejecuta el kernel de OpenCL. Las cifras obtenidas están lejos de ser un límite pero aún así sugieren que al tener disponibles los recursos existentes aquí y ahora (la API de OpenCL como se implementó por los desarrolladores del terminal no permite el control de algunos parámetros importantes para la optimización, particularmente el tamaño del grupo) la ganancia de rendimiento sobre la ejecución del programa anfitrión es muy sustancial.
Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando el panel HedgeTerminal, Parte 1
Trading bidireccional y cobertura (hedging) de posiciones en MetaTrader 5 usando el panel HedgeTerminal, Parte 1
En este artículo se describe el nuevo enfoque en las cuestiones de la cobertura (hedging) de posiciones y se pone punto en las discusiones entre los usuarios de MetaTrader 4 y MetaTrader 5 sobre esta materia. Se explican los algoritmos que hacen esta cobertura bastante segura tomando de ejemplo los esquemas y diagramas sencillos y usando los términos comprensible. El articulo está dedicado a la descripción del nuevo panel HedgeTerminal que en realidad representa un terminal de trading totalmente funcional dentro del terminal MetaTrader 5. Con su ayuda y gracias a la virtualización del comercio Usted puede controlar sus posiciones comerciales tal como está acostumbrado a hacerlo en MetaTrader 4.
La última cruzada
La última cruzada
Eche un vistazo a su terminal de cliente. ¿Qué sistema de presentación del precio puede ver? Barras, velas, líneas. Perseguimos el tiempo y los precios mientras que solo obtenemos beneficio a partir de los precios. ¿Debemos prestar atención solo a los precios cuando analizamos el mercado? Este artículo propone un algoritmo y un script para el trazado de punto y forma ("ceros y cruces"). Se consideran varios patrones de precio cuyo uso práctico se muestra mediante las recomendaciones que se incluyen.
Programación basada en autómatas como nuevo enfoque en la creación de sistemas de trading automatizados
Programación basada en autómatas como nuevo enfoque en la creación de sistemas de trading automatizados
Este artículo nos lleva en una nueva dirección a la hora de desarrollar Asesores Expertos, indicadores y scripts en MQL4 y MQL5. En el futuro, este modelo de programación se convertirá en un estándar para todos los operadores en la implementación de Asesores Expertos. Utilizando el modelo de programación basado en autómatas, los desarrolladores de MQL5 y Meta Trader 5 estarán cerca de poder crear un nuevo lenguaje, MQL6, y una nueva plataforma, Meta Trader 6.
Los miembros más activos de la comunidad MQL5 ¡han sido premiados con iPhones!
Los miembros más activos de la comunidad MQL5 ¡han sido premiados con iPhones!
Después de que decidiéramos premiar a los participantes más destacados de MQL5.com, hemos seleccionado el criterio clave para determinar la contribución de cada participante al desarrollo de la Comunidad. Como resultado, tenemos los siguientes campeones que publicaron la mayor cantidad de artículos en la website - investeo (11 artículos) y victorg (10 artículos) y quien envió sus programas a la Base de Código - GODZILLA (340 programas), Integer (61 programas) y abolk (21 programas).
Suministradores de señal Johnpaul77: "Nuestra estrategia lleva dando un resultado magnífico más de tres años, ¿por qué íbamos a cambiarla?"
Suministradores de señal Johnpaul77: "Nuestra estrategia lleva dando un resultado magnífico más de tres años, ¿por qué íbamos a cambiarla?"
Descubriremos un pequeño secreto: los visitantes de la página MQL5.com pasan la mayor parte del tiempo en la página de Johnpaul77. Es el líder de nuestra clasificación, cerca de 900 traders están suscritos a él, con un total conjunto de $5.7 millones en medios en cuentas reales. Hemos hecho una entrevista a los proveedores de la señal, ¡y resulta que son cuatro! Puede leer aquí cómo unos sencillos gamers indonesios se han convertido en suministradores de una señal top y qué instrumentos de análisis técnico usan, así como la distribución de los roles dentro de su colectivo.
Recetas MQL5 - procesamiento del evento BookEvent
Recetas MQL5 - procesamiento del evento BookEvent
En el artículo se estudia el evento de la profundidad de mercado BookEvent y su principio de procesamiento. En calidad de ejemplo se crea un programa MQL5, que procesa el estado de la profundidad de mercado. Se usa una aproximación orientada a objetos. Los resultados del procesamiento se muestran en la pantalla en forma de panel y de niveles de profundidad.
Uso del análisis discriminante para desarrollar sistemas de trading
Uso del análisis discriminante para desarrollar sistemas de trading
Al desarrollar un sistema de trading, surge normalmente un problema en relación a la elección de la mejor combinación de indicadores y sus señales. El análisis discriminante es uno de los métodos que existen para encontrar esas combinaciones. El artículo muestra un ejemplo del desarrollo de un EA para la recogida de datos del mercado y explica el uso del análisis discriminante para crear modelos de pronóstico para el mercado FOREX en el software Statistica.
MQL5-RPC. Llamadas a procedimientos remotos desde MQL5: acceso al servicio web y analizador XML-RPC ATC para divertirse y conseguir beneficios
MQL5-RPC. Llamadas a procedimientos remotos desde MQL5: acceso al servicio web y analizador XML-RPC ATC para divertirse y conseguir beneficios
Este artículo describe el esquema conceptual de MQL5-RPC que permite las llamadas a procedimientos remotos desde MQL5. Comienza con los fundamentos de XML-RPC, la implementación de MQL5 y continúa con dos ejemplos de uso real. El primer ejemplo es el uso de un servicio web externo y el segundo es un cliente del servicio del analizador XML-RPC ATC 2011 simple. Si está interesado en conocer cómo se implementan y analizan las distintas estadísticas de ATC 2011 en tiempo real, este es su artículo.
Uso de MetaTrader 5 como proveedor de señales comerciales para MetaTrader 4
Uso de MetaTrader 5 como proveedor de señales comerciales para MetaTrader 4
En este artículo se discuten las particularidades del uso de MetaTrader 5 como proveedor de señales comerciales para MetaTrader 4. Ustedes conocerán cómo crear un sencillo proveedor de señales desde MetaTrader 5 y cómo conectarlo a varios terminales MetaTrader 4. Además, conocerán cómo copiar en tiempo real las transacciones de los participantes de Automated Trading Championship a su cuenta real en MetaTrader 4.
Solución sin DLL para la comunicación entre terminales MetaTrader 5 mediante canalizaciones con nombre
Solución sin DLL para la comunicación entre terminales MetaTrader 5 mediante canalizaciones con nombre
El artículo describe el modo de implementar la comunicación entre procesos, entre terminales de cliente MetaTrader 5 mediante canalizaciones con nombre. Se desarrolla la clase CNamedPipes para utilizar las canalizaciones con nombre. Con el fin de probar su uso y medir el rendimiento de la conexión, se proporciona el tick del indicador y los scripts del servidor y el cliente. El uso de las canalizaciones con nombre es suficiente para las cotizaciones en tiempo real.
Crear Multi-Expert Advisors basados en los modelos de trading
Crear Multi-Expert Advisors basados en los modelos de trading
El uso del enfoque orientado a objetos de MQL5 simplifica enormemente la creación de Expert Advisors multidivisa, multisistema y con multiperíodo. Imagine su único EA operando con docenas de estrategias de trading, con todos los instrumentos disponibles y todos los períodos de tiempo posibles. Además, se prueba el EA fácilmente en el probador, y dispone de uno o varios sistemas funcionales de gestión de dinero para todas las estrategias que lo componen.
Usar Pseudo-Plantillas como Alternativa a Plantillas C++
Usar Pseudo-Plantillas como Alternativa a Plantillas C++
Este artículo describe una forma de programas sin usar plantillas, pero manteniendo el estilo de programación inherente a ellas. Trata sobre la implementación de plantillas usando métodos personalizados y tiene un archivo adjunto con un script ya hecho para crear un código basado en las plantillas especificadas.
Análisis de regresión múltiple, generador y probador de estrategias en una sola aplicación
Análisis de regresión múltiple, generador y probador de estrategias en una sola aplicación
El artículo ofrece una descripción de las formas de utilización del análisis de regresión múltiple para el desarrollo de sistemas de trading. Muestra el uso del análisis de regresión para la automatización de la búsqueda de estrategias. Se proporciona como ejemplo una ecuación de regresión generada e integrada en un asesor experto sin necesidad de disponer de habilidades de programación.
Cómo intercambiar datos: una DLL para MQL5 en 10 minutos.
Cómo intercambiar datos: una DLL para MQL5 en 10 minutos.
No hay muchos programadores que recuerden cómo escribir una simple DLL y cuáles son las características especiales de los distintos tipos de vinculación del sistema. Usando varios ejemplos intentaré mostrar todo el proceso de creación de la DLL en 10 minutos, así como discutir algunos aspectos técnicos de nuestra implementación de la vinculación. Mostraré el proceso paso a paso de la creación de la DLL en Visual Studio con ejemplos de intercambio de distintos tipos de variables (números, matrices, strings, etc.). Además, explicaré cómo proteger su terminal de cliente de errores fatales con las DLL personalizadas.
Interacción entre MetaTrader 5 y MATLAB
Interacción entre MetaTrader 5 y MATLAB
Este artículo trata sobre la interacción entre MetaTrader 5 y el paquete matemático MatLab. Muestra el mecanismo de conversión de datos y el proceso de desarrollo de una librería universal para interactuar con el escritorio de MatLab. También describe el uso de las DLL generadas por el entorno de MatLab. Este artículo está dirigido a lectores experimentados que tienen conocimientos de C+ y MQL5.
Asesor Experto basado en las "Nuevas Dimensiones de Trading" ("New Trading Dimensions"), de Bill Williams
Asesor Experto basado en las "Nuevas Dimensiones de Trading" ("New Trading Dimensions"), de Bill Williams
En este artículo, trataré el tema del desarrollo del Asesor Experto basándome en el libro "New Trading Dimensions: How to Profit from Chaos in Stocks, Bonds, and Commodities" ("Nuevas dimensiones de trading: como beneficiarse del caos en bolsa, bonos y bienes"), de Bill Williams. La estrategia en sí misma es muy conocida, y su uso todavía causa controversia entre traders. El artículo tiene en cuenta señales de trading del sistema, detalles específicos de implementación, y los resultados de simulaciones en datos históricos.
Gas neuronal creciente: implementación en MQL5
Gas neuronal creciente: implementación en MQL5
Este artículo muestra un ejemplo de cómo desarrollar un programa MQL5 implementando el algoritmo adaptativo de agrupamiento llamado gas neuronal creciente (GNG). El artículo está dirigido a aquellos usuarios que han estudiado la documentación del lenguaje y tienen cierta capacidad para programar y un conocimiento básico en el área de la neuroinformática.
Indicadores William Blau y sistemas de trading en MQL5. Parte 1: indicadores
Indicadores William Blau y sistemas de trading en MQL5. Parte 1: indicadores
Este artículo trata sobre los indicadores descritos en el libro de William Blau "Momentum, Direction, y Divergence". El enfoque de William Blau nos permite, con rapidez y precisión, hacer una aproximación sobre las fluctuaciones de la curva de precios para determinar la tendencia del movimiento de precios y los puntos de cambio, eliminando el ruido de fondo en los precios. Mientras tanto, también podemos detectar los estados de sobrecompra/sobreventa del mercado y las señales, que indican el final de una tendencia y el cambio de dirección en los precios.
Monta tu asesor comercial en la Guía MQL5
Monta tu asesor comercial en la Guía MQL5
Para crear robots comerciales ya no es una condición imprescindible conocer lenguajes de programación. Si antes esto era un obstáculo verdaderamente insalvable para llevar a cabo sus propias estrategias comerciales, ahora la aparición de la Guía MQL5 ha cambiado la situación radicalmente. Los traders novatos ya pueden dejar de preocuparse por su escasa o nula experiencia en el campo de la programación, con el nuevo wizard ya no le hará falta, ahora es posible general el código de un asesor rápidamente.
Analizando los parámetros estadísticos de los indicadores
Analizando los parámetros estadísticos de los indicadores
El análisis técnico implementa ampliamente los indicadores mostrando las cotizaciones básicas "más claramente" y permitiendo a los operadores realizar el análisis y la predicción del movimiento de precios del mercado. Es bastante obvio que no tiene sentido usar los indicadores y mucho menos aplicarlos a la creación de sistemas de trading, a menos que podamos resolver los problemas relativos a la transformación de las cotizaciones iniciales y la credibilidad del resultado obtenido. En este artículo mostramos que hay serias razones para dicha conclusión.
Intercambio de datos entre indicadores. Es fácil
Intercambio de datos entre indicadores. Es fácil
Queremos crear un entorno que proporcione acceso a los datos de los indicadores adjuntos a un gráfico y que tenga las siguientes propiedades: ausencia de copiado de datos; modificación mínima del código de métodos disponibles si necesitamos usarlo; es preferible el código de MQL (por supuesto, tenemos que usar DLL pero usaremos una docena de strings de código de C++). El artículo describe un método sencillo para desarrollar un entorno de programa para el terminal de MetaTrader que proporcione medios para acceder a los buffers del indicador desde otros programas MQL.
Aprendizaje Automático: Cómo usar las Máquinas de Vectores de Soporte en Trading
Aprendizaje Automático: Cómo usar las Máquinas de Vectores de Soporte en Trading
Las máquinas de vectores de soporte se usan desde hace mucho tiempo en campos como la bioinformática y matemáticas aplicadas para estudiar conjuntos de datos complejos y extraer patrones que se pueden usar para clasificar datos. Este artículo examina qué es una máquina de vectores de soporte, cómo funciona y por qué puede resultar muy útil a la hora de extraer patrones complejos. Después investigaremos cómo se puede aplicar al mercado y usar potencialmente para tomar decisiones de trading. Usando la Herramienta de Aprendizaje de Máquina de Vectores de Soporte, el artículo facilitará ejemplos listos que permitirán a los lectores experimentar con sus propias operaciones de trading.
Introducción al método de descomposición de modo empírico
Introducción al método de descomposición de modo empírico
Este artículo sirve para familiarizar al lector con el método de descomposición de modo empírico (EMD, según sus siglas en inglés). Es la parte fundamental de la transformada de Hilbert-Huang y tiene como finalidad analizar los datos de procesos no estacionarios y no lineales. Este artículo también presenta una posible implementación de software de este método junto con una breve consideración de sus peculiaridades y proporciona algunos ejemplos simples de su uso.
Exponer código C# a MQL5 usando exportaciones no gestionadas
Exponer código C# a MQL5 usando exportaciones no gestionadas
En este artículo presento diferentes métodos de interacción entre código MQL5 y código gestionado C#. También facilito varios ejemplos sobre cómo ordenar estructuras MQL5 en contraposición a C#, y cómo invocar funciones DLL exportadas en scripts MQL5. Creo que los ejemplos que proporciono podrán servir como base para estudios futuros sobre escritura de DLLs en código gestionado. Este artículo también abre puertas para MetaTrader para usar varias bibliotecas que ya están implementadas en C#.
¡Impresione sus clientes con un cóctel eficiente de tecnologías!
¡Impresione sus clientes con un cóctel eficiente de tecnologías!
MQL5 proporciona a los programadores un conjunto muy completo de funciones y API orientados a objetos, permitiéndoles hacer todo lo que quieran en el entorno de MetaTrader. Sin embargo, hoy en día, la tecnología web es una herramienta extremadamente versátil y puede resultar útil cuando le surge la necesidad de hacer algo muy específico, quiere sorprender sus clientes con algo diferente o simplemente no dispone del tiempo suficiente para dominar una parte concreta de la librería estándar de MQL5. A través del ejercicio de hoy, vamos a recorrer un ejemplo práctico acerca de cómo puede manejar el tiempo que dedica al desarrollo al mismo tiempo que crea un impresionante cóctel tecnológico.
Ampliación de la librería estándar de MQL5 y la reutilización del código
Ampliación de la librería estándar de MQL5 y la reutilización del código
La librería estándar de MQL5 le facilita la vida como desarrollador. No obstante, no abarca todas las necesidades de todos los desarrolladores del mundo, con lo cual querrá tener a su disposición más material personalizado para dar un paso más y ampliarla. En este artículo, se describe la integración del indicador técnico Zig-Zag de MetaQuotes en la librería estándar. Para conseguir nuestro objetivo, nos hemos basado en la filosofía de diseño de MetaQuotes.
Indicadores técnicos y filtros digitales
Indicadores técnicos y filtros digitales
En este artículo, se tratan los indicadores técnicos como si fueran filtros digitales. Se explican los principios de funcionamiento y las características básicas de los filtros digitales. Además, se van a tratar algunos métodos prácticos para obtener la respuesta al impulso (kernel) del filtro en el terminal de MetaTrader 5 y su integración con un analizador de espectro, que ya existe, descrito en el artículo "Construyendo un analizador de espectro". Como ejemplos, se usan las características del impulso y el espectro de los filtros digitales típicos.
Usar Indicadores de MetaTrader 5 con la Estructura de Aprendizaje Automático ENCOG para Predicción de Series Cronológicas
Usar Indicadores de MetaTrader 5 con la Estructura de Aprendizaje Automático ENCOG para Predicción de Series Cronológicas
Este artículo presenta modos de conectar MetaTrader 5 a ENCOG - Red Neuronal Avanzada y Estructura de Aprendizaje Automático. Contiene la descripción e implementación de un indicador de red neuronal sencillo basado en indicadores técnicos estándar y un Asesor Experto basado en un indicador neuronal. Todos los códigos fuente, binarios combinados, DLLs y un ejemplo de red formada se pueden encontrar como archivos adjuntos a este artículo.
El Papel de las Distribuciones Estadísticas en el Trabajo del Trader
El Papel de las Distribuciones Estadísticas en el Trabajo del Trader
Este artículo es una continuación lógica de mi artículo "Statistical Probability Distributions in MQL5" ("Distribuciones de Probabilidad Estadísticas en MQL5"), que presentó las clases para trabajar con algunas distribuciones estadísticas teóricas. Ahora que ya tenemos una base teórica, sugiero proceder directamente a conjuntos de datos reales para darle un uso a esta base.
Cómo crear documentación usando los códigos fuente MQL5
Cómo crear documentación usando los códigos fuente MQL5
En el artículo se analiza la creación de documentación para el código en MQL5, comenzando por la automatización de la colocación de los tags necesarios. A continuación, se describe el trabajo con el programa Doxygen, su correcta configuración y la obtención de resultados en diferentes formatos: en html, en HtmlHelp y en PDF.
Cálculos Estadísticos
Cálculos Estadísticos
El cálculo de parámetros estadísticos de una secuencia es muy importante, puesto que la mayoría de los modelos y métodos matemáticos se basan en suposiciones simples. Por ejemplo, la normalidad de la ley de distribución o valor de dispersión, u otros parámetros. Por tanto, al analizar y pronosticar series cronológicas necesitamos una herramienta simple y conveniente que nos permita calcular de forma rápida y clara los principales parámetros estadísticos. Este artículo describe brevemente los parámetros estadísticos más sencillos de secuencias aleatorias y varios métodos de su análisis visual. Ofrece además la implementación de estos métodos en MQL5 y los métodos de visualización del resultado de los cálculos usando la aplicación Gnuplot.
Implementar un trader de noticias automático
Implementar un trader de noticias automático
Esta es la continuación de otro artículo acerca de la clase POO de MQL5, en el cual se le mostró el modo de implementar un Asesor Experto orientado a objetos desde cero y se le dieron algunos trucos sobre la programación orientada a objetos. Hoy, le voy a mostrar los fundamentos técnicos necesarios para desarrollar un Asesor Experto capaz de hacer trading con noticias. Mi objetivo es seguir proporcionándole ideas acerca de la POO y también abarcar un nuevo tema en esta serie de artículos, trabajando con el sistema de archivos.
Predicción de series de tiempo usando el ajuste exponencial (continuación)
Predicción de series de tiempo usando el ajuste exponencial (continuación)
Este artículo pretende actualizar el indicador creado anteriormente y trata brevemente sobre un método para estimar intervalos de confianza en las predicciones usando bootstrapping y cuantiles. Como resultado, obtendremos el indicador de predicción y los scripts a usar para la estimación de la precisión de la predicción.
Random Walk y el Indicador de Tendencias
Random Walk y el Indicador de Tendencias
Random Walk (RW) es muy parecido a los datos del mercado real, pero tiene algunos detalles significativos. En este artículo veremos las propiedades de Random Walk, que simularemos usando el juego de cara o cruz. Para estudiar las propiedades de los datos se desarrolló el indicador de tendencias.
Documentación generada automáticamente para el código de MQL5
Documentación generada automáticamente para el código de MQL5
La mayoría de desarrolladores de código Java estarán familiarizados con la documentación generada automáticamente que puede obtenerse con JavaDocs. La idea es añadir comentarios al código de forma semiestructurada para que pueda ser extraída en forma de una archivo de ayuda por el que sea fácil navegar. El mundo de C++ tiene también una serie de autogeneradores de documentación, siendo líderes SandCastle y Doxygen, ambos de Microsoft. El artículo describe el uso de Doxygen para crear archivos de ayuda de html a partir de comentarios estructurados en código MQL5. El experimento funcionó muy bien y creo que la documentación de ayuda que ofrece Doxygen a partir del código MQL5 añadirá una gran cantidad de valor a este.
Trabajo con el SGBD MySQL desde MQL5 (MQL4)
Trabajo con el SGBD MySQL desde MQL5 (MQL4)
Este artículo está dedicado al desarrollo de la interfaz entre MQL y SGBD MySQL. En el artículo se consideran las soluciones prácticas que existen en actualidad y se propone la versión más cómoda de ejecución de la biblioteca para el trabajo con SGBD. El artículo contiene la descripción detallada de las funciones, estructura de la interfaz, se dan los ejemplos y se describen algunas detalles a la hora de trabajar con MySQL. En cuanto a la solución de programa, han sido adjuntados los archivos con bibliotecas dinámicas, documentación y los ejemplos de los scripts para los lenguajes MQL4 y MQL5.
Aplicación del método de coordenadas de Eigen al análisis estructural de distribuciones estadísticas no extensivas
Aplicación del método de coordenadas de Eigen al análisis estructural de distribuciones estadísticas no extensivas
El mayor problema de la estadística aplicada es la aceptación de hipótesis estadísticas. Durante mucho tiempo se consideró un problema imposible de resolver. La situación cambió con la aparición del método de las coordenadas de Eigen. Es una refinada y potente herramienta para el estudio estructural de una señal, permitiendo ver más de lo que es posible utilizando métodos de la estadística moderna aplicada. El artículo se centra en la utilización práctica de este método y plantea distintos programas en MQL5. También trata sobre el problema de la identificación de la función usando como ejemplo la distribución de Hilhorst y Schehr.