En el presente artículo, hemos decidido hablar del conocido esquema de Bernoulli, y también mostrar cómo podemos utilizarlo al describir conjuntos de datos relacionados con el trading, para su posterior uso en la futura creación de un sistema comercial autoadaptable. Asimismo, buscaremos un algoritmo más general (la fórmula de Bernoulli constituye un caso especial dentro de este tipo), y encontraremos una aplicación para él.
Como continuación lógica del tema, hoy analizaremos la necesidad de desarrollar modelos matemáticos multifuncionales para las tareas comerciales. En este sentido, el presente artículo describirá el proceso completo de desarrollo del primer modelo matemático para describir fractales desde cero. Dicho modelo debería convertirse en un componente importante, además de ser multifuncional y universal, incluso a la hora de sentar las bases teóricas para el futuro desarrollo de la rama.
Se ha puesto a disposición un paquete de Python con el propósito de desarrollar la integración en MQL, lo que abre las puertas a numerosas posibilidades como la exploración de datos, la creación y el uso de modelos de aprendizaje automático. Esta integración nativa de MQL5 en Python abre las puertas a muchas posibilidades de uso que nos permiten construir desde una simple regresión lineal a un modelo de aprendizaje profundo. Entendamos cómo instalar y preparar el entorno de desarrollo y usar algunas de las bibliotecas de aprendizaje automático.
Un indicador para informar de los niveles de spread Bid/Ask de sus brókeres. Ahora podremos usar los datos de ticks de MT5 para analizar cuál ha sido realmente el promedio histórico real del spread Bid/Ask reciente. No deberíamos necesitar mirar el spread actual, porque está disponible si mostramos las líneas de precio Bid/Ask.
Este es un artículo de lectura obligada para cualquiera que desee mejorar su carrera como programador. Esta serie de artículos tiene como objetivo convertirlo a usted en el mejor programador posible, sin importar la experiencia que tenga. Las ideas analizadas funcionan tanto para principiantes como para profesionales de la programación en MQL5.
El artículo inicia un ciclo de análisis de patrones de reversión en el marco del trading algorítmico. Comenzaremos la idea examinando la primera y más interesante familia entre estos patrones, originada a partir de los patrones Double Top y Double Bottom.
Tras analizar una ingente cantidad de estrategias comerciales, ejecutar multitud de encargos de preparación de programas para los terminales MT5 y MT4, y visitar distintos sitios web de MetaTrader, hemos llegado a la conclusión de que una mayoría aplastante de esta diversidad se construye en la práctica sobre un número fijo de funciones elementales, acciones y valores que se repiten de un programa a otro. El resultado de semejante trabajo es la biblioteca multiplataforma "DoEasy", que permite crear fácil y rápidamente programas para МetaТrader 5 y МetaТrader 4
En esta serie de artículos, buscaremos una aplicación práctica de la teoría de probabilidad para describir el proceso del trading y la fijación de los precios. En el primer artículo, nos familiarizaremos con los conceptos básicos de la combinatoria y la teoría de probabilidad, y analizaremos el primer ejemplo de la aplicación de fractales dentro de la teoría de probabilidad.
El análisis de clústeres es uno de los elementos más importantes de la inteligencia artificial. En este artículo, trataremos de aplicar el análisis de inclinación del clúster del indicador para obtener valores de umbral que nos ayuden a determinar la naturaleza plana o de tendencia del mercado.
En este artículo, analizaremos los métodos de trabajo con los eventos de cuenta (de la cuenta comercial) que permiten monitorear los eventos importantes de cambio en las propiedades de una cuenta comercial y que influyen de una forma u otra en el comercio automático. Ya creamos cierta parte de la funcionalidad para el seguimiento de eventos de cuenta en el artículo anterior, al crear la colección de objetos de cuenta.
Continuamos creando la gran biblioteca multiplataforma cuyo objetivo es simplificar la escritura de programas para las plataformas MetaTrader 5 y MetaTrader 4. En la décima parte, continuamos trabajando con la compatibilidad de la biblioteca con MQL4 e implementamos la definición de los eventos de apertura de posición y activación de órdenes pendientes. En el presente artículo, vamos a implementar la defición de los eventos de cierre de posición, eliminando al mismo tiempo las propiedades innecesarias de las órdenes.
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, hemos creado una clase que monitoreará los eventos de modificación de las órdenes y posiciones de mercado. En el presente artículo, comenzaremos a desarrollar la biblioteca para hacerla totalmente compatible con MQL4.
Ofrecemos al lector la descripción de una tecnología para aumentar la eficacia de cualquier sistema de comercio automático. El artículo expone brevemente la idea, los fundamentos básicos, las posibilidades y las desventajas del método.
Los gráficos en 3D resultan de gran ayuda a la hora de analizar grandes volúmenes de datos, ya que permiten visualizar regularidades ocultas. Estas tareas también se pueden resolver directamente en MQL5: las funciones de trabajo con DireсtX permiten MetaTrader 5. Comience el estudio dibujando figuras de volumen sencillas.
El artículo está dedicado a una corriente nueva con muy buenas perspectivas en el aprendizaje automático, al así llamado "aprendizaje profundo" y más concretamente a las "neuroredes profundas". Se ha efectuado una breve panorámica de las neuroredes de 2 generación, sus arquitecturas de conexiones y tipos, métodos y normas de aprendizaje principales, así como de sus defectos más destacables. A continuacón se estudia la historia de la aparición y el desarrollo de las neuroredes de tercera generación, sus tipos principales, sus particularidades y métodos de aprendizaje. Se han realizado experimentos prácticos sobre la construcción y aprendizaje con datos reales de neurored profunda, iniciada con los pesos del auto-codificador acumulado. Se han estudiado todas las etapas, desde los datos de origen hasta la obtención de la métrica. En la última parte del artículo, se adjunta la implementación programática de una neurored profunda en forma de indicador-experto en MQL4/R.
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 el método de vectores de soporte. Asimismo, presentamos su implementación en MQL, además de varios indicadores de prueba y expertos. Esta tecnología todavía no ha sido implementada en MQL. Vamos a comenzar familiarizándonos con el aparato matemático.
En el presente artículo, vamos a organizar el guardado de ciertos datos en el valor del número mágico de las órdenes y posiciones, y también implementaremos las solicitudes comerciales. Para comprobar el concepto, crearemos una primera solicitud pendiente de prueba para abrir posiciones de mercado al recibir del servidor un error que requiera la espera y el envío de una solicitud repetida.
En este artículo, presentaremos al lector la técnica del aprendizaje automático para el comercio con martingale y cuadrícula. Para nuestra sorpresa, este enfoque, por algún motivo, no se ha tratado en absoluto en la red global. Después de leer el artículo, podremos crear nuestros propios bots.
En este artículo vamos a analizar en clave crítica la divergencia clásica y estudiar la efectividad de diferentes indicadores. Asimismo, ofreceremos distintas variantes de filtrado para aumentar la precisión de análisis y continuaremos analizando soluciones no estándar. Como resultado, crearemos una herramienta atípica para resolver la tarea marcada.
En el artículo, vamos a analizar la creación de un indicador multiperiodo basado en la biblioteca DoEasy. Asimismo, vamos a mejorar las clases de las series temporales para obtener los datos de cualquier marco temporal y representarlos en el periodo actual del gráfico.
Hoy en día, quizás uno de los modelos de lenguaje de redes neuronales más avanzados sea GPT-3, que en su versión máxima contiene 175 mil millones de parámetros. Obviamente, no vamos a crear semejante monstruo en condiciones domésticas. Pero sí que podemos ver qué soluciones arquitectónicas se pueden usar en nuestro trabajo y qué ventajas nos ofrecerán.
Seguimos completando el algoritmo con la funcionalidad mínima necesaria y realizando pruebas con el material obtenido. La rentabilidad ha resultado baja, pero los artículos nos muestran un modelo que nos permite comerciar con beneficios de una forma completamente automática con instrumentos comerciales completamente diferentes, y no solo diferentes, sino que también se comercian en mercados fundamentalmente distintos.
No podemos obtener un algoritmo verdaderamente estable si para seleccionar los parámetros utilizamos la optimización basada en datos históricos. Un algoritmo estable en sí mismo debe saber qué parámetros se necesitan para trabajar con cualquier instrumento comercial en cualquier momento. El algoritmo no debe suponer ni adivinar: debe saber con certeza.
Ya hemos hablado con anterioridad del mecanismo de auto-atención (self-attention) en las redes neuronales. En la práctica, en las arquitecturas de las redes neuronales modernas, se usan varios hilos de auto-atención paralelos para buscar diversas dependencias entre los elementos de la secuencia. Vamos a ver la implementación de este enfoque y evaluar su influencia en el rendimiento general de la red.
Este artículo prosigue con el tema de la fuerza bruta, ofreciendo al algoritmo de nuestro programa nuevas posibilidades para el análisis de mercado, y acelerando la velocidad de análisis y la calidad de los resultados finales, lo cual brinda un punto de vista de máxima calidad sobre los patrones globales en el marco de este enfoque.
En el presente artículo, mostramos la posibilidad de crear modelos de aprendizaje automático con filtros temporales y también descubrimos la efectividad de este enfoque. Ahora, podremos descartar el factor humano, diciéndole simplemente al modelo: "Quiero que comercies a una hora determinada de un día concreto de la semana". Así, podremos delegar en el algoritmo la búsqueda de patrones.
En el presente artículo trataremos de comprobar la suposición de que cualquier sistema con un mínimo conocimiento del mercado puede operar a escala global. No vamos a inventar teorías ni leyes: reflexionaremos únicamente sobre la base de hechos conocidos por todos, convirtiendo paulatinamente dichos hechos al lenguaje del análisis matemático.
Ya hemos recorrido un largo camino y el código de nuestra biblioteca ha crecido de manera considerable. Resulta difícil monitorear todas las conexiones y dependencias. Y, obviamente, antes de proseguir con el desarrollo del proyecto, necesitaremos documentar el trabajo ya realizado y actualizar la documentación en cada paso posterior. Una documentación debidamente redactada nos ayudará a ver la integridad de nuestro trabajo.
En este artículo, continuaremos el tema del anterior. No obstante, primero flexibilizaremos el algoritmo desarrollado anteriormente. El algoritmo se ha vuelto más estable, con un aumento en el número de velas en la ventana de análisis o con un aumento en el porcentaje del umbral del preponderancia de velas descendentes o ascendentes. Hemos tenido que llegar a un compromiso y establecer un tamaño de muestra más grande para el análisis o un porcentaje mayor de preponderancia de la vela predominante.
En la presente serie de artículos, mostraremos un ejemplo de desarrollo de algoritmos autoadaptativos que tengan en cuenta los factores máximos que surgen en los mercados. Asimismo, veremos la sistematización de estas situaciones, su descripción dentro de una lógica y su consideración a la hora de comerciar. Comenzaremos con un algoritmo muy simple, que con el tiempo adquirirá su propia teoría y evolucionará hasta convertirse en un proyecto muy complejo.
El artículo describe los principios y técnicas básicos que nos permiten analizar cualquier estrategia usando hojas de cálculo: Excel, Calc, Google. Asimismo, hemos comparado los resultados con el simulador de MetaTrader 5.
En artículos anteriores, ya hemos puesto a prueba diferentes variantes para organizar las redes neuronales, incluyendo las redes convolucionales, adoptadas de algoritmos de procesamiento de imágenes. En el presente artículo, les proponemos analizar los mecanismos de atención, cuya aparición impulsó el desarrollo de los modelos de lenguaje.
En el presente artículo, continuaremos con el tema de la fuerza bruta. Intentaremos destacar mejor los patrones con la ayuda de la nueva versión mejorada de nuestro programa y trataremos de encontrar la diferencia en la estabilidad usando distintos segmentos temporales y diferentes marcos temporales para las cotizaciones.
Este artículo describe uno de los posibles enfoques respecto a la transformación de datos para mejorar las capacidades generalizadoras del modelo, y también analiza la iteración sobre los modelos CatBoost y la elección del mejor de ellos.
Continuando el tema de la redes neuronales, proponemos al lector analizar las redes neuronales convolucionales. Este tipo de redes neuronales ha sido desarrollado para buscar objetos en una imagen. Asimismo, analizaremos cómo nos pueden ayudar al operar en los mercados financieros.
En artículos anteriores, hemos usado el descenso de gradiente estocástico para entrenar una red neuronal utilizando una única tasa de aprendizaje para todas las neuronas de la red. En este artículo, proponemos al lector buscar métodos de aprendizaje adaptativo que nos permitan modificar la tasa de aprendizaje de cada neurona. Vamos a echar un vistazo a las ventajas y desventajas de este enfoque.
En el presente artículo, trataremos de mostrar con qué criterio elegir un sistema o señal para invertir nuestro dinero, además de cuál es el mejor enfoque para desarrollar sistemas comerciales y por qué este tema es tan importante en el comercio en fórex.
Este artículo continúa el ciclo en el que mostramos la creación de una biblioteca capaz de marcar gráficos manualmente utilizando atajos de teclado. El marcado se realiza con líneas rectas y combinaciones de estas. Esta parte habla directamente sobre el propio dibujado utilizando las funciones descritas en la primera parte. La biblioteca se puede conectar a cualquier asesor experto o indicador, lo cual simplifica sustancialmente las tareas de marcado. Esta solución NO UTILIZA dlls externas: todos los comandos se implementan usando las herramientas integradas de MQL.
Ya hemos hablado sobre algunos tipos de redes neuronales y su implementación. En todos los casos, hemos usado el método de descenso de gradiente para entrenar las redes neuronales, lo cual implica la elección de una tasa de aprendizaje. En este artículo, queremos mostrar con ejemplos lo importante que resulta elegir correctamente la tasa de aprendizaje, y también su impacto en el entrenamiento de una red neuronal.