Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
- Visualizaciones:
- 185
- Ranking:
- Publicado:
- 2025.04.04 10:53
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Hay ocasiones en las que necesita ejecutar el Asesor Experto en múltiples símbolos. Para este propósito hay un modo "Todos los símbolos seleccionados en la ventana Market Watch" en el MT5-tester. Esto le permite ejecutar la misma configuración EA en diferentes símbolos.
Pero a veces es necesario hacer muchas ejecuciones diferentes de MT5-tester. Esta librería le permite hacerlo.
Características.
Puede establecer cualquier número de combinaciones de símbolos, plazos, intervalos. Y llevar a cabo no sólo las carreras individuales en ellos, sino también la optimización, incluyendo hacia adelante.
Escenarios.
- Investigar en qué símbolos y/o intervalos y/o marcos temporales la ST muestra buenos resultados.
- Realizar optimizaciones en intervalos consecutivos para evaluar las perspectivas de autooptimización de la ST.
Uso.
Configuramos MT5-Tester según nuestras necesidades.
La imagen muestra que la optimización se realizará por fuerza bruta completa sobre ticks reales en un intervalo determinado.
Crear una lista de optimizaciones necesarias. Por ejemplo, puede ejecutar un Asesor Experto de la entrega de esta biblioteca.
Con la configuración como se muestra en la imagen, se ejecutará la optimización en todos los símbolos de la Observación del Mercado, y para cada símbolo se optimizará en los marcos temporales M1 y M15.
El resultado será el siguiente
Y ahora puedes ver con seguridad los resultados de la optimización utilizando las herramientas estándar de MT5-tester.
Programación.
Ejemplo 1.
Consideremos primero un ejemplo muy simple.
#include <fxsaber\MultiTester\MultiTester.mqh> // Múltiples ejecuciones/optimizaciones en Tester. // Esta función es responsable de generar la lista de tareas. void SetTesterSettings() { TesterSettings.Add("AUDCAD"); // Ejecuta AUDCAD con la configuración especificada en el Comprobador. TesterSettings.Add("EURUSD", PERIOD_H1); // Ejecutar EURUSD H1 con la configuración especificada en el Probador. TesterSettings.Add("GBPUSD", PERIOD_M6, D'2019.07.01', D'2019.09.01'); // Ejecutar GBPUSD M6 en el intervalo especificado. }
El resultado de ejecutar este EA serán tres llamadas del Tester con la configuración que se lee en el código fuente.
Ejemplo2.
Analicemos el código fuente del Asesor Experto, cuya demostración de lanzamiento se ha dado al principio.
#include <fxsaber\MultiTester\MultiTester.mqh> // Múltiples ejecuciones/optimizaciones en Tester. sinput bool Period_M1 = false; // Conectar M1 sinput bool Period_M5 = false; // Conectar M5 sinput bool Period_M15 = false; // Conectar M15 sinput bool false; // Sólo caracteres personalizados // Esta función se encarga de generar la lista de tareas. void SetTesterSettings() { // Buscar todos los símbolos de la Observación del Mercado. for (int i = SymbolsTotal(true) - 1; i >= 0; i--) { const string Name = SymbolName(i, true); if (!OnlyCustomSymbols || SymbolInfoInteger(Name, SYMBOL_CUSTOM)) { if (Period_M1) TesterSettings.Add(Name, PERIOD_M1); // Si M1 está activado, añade cada carácter con este TF. if (Period_M5) TesterSettings.Add(Name, PERIOD_M5); // Si M1 está activado, añade cada carácter con este TF. if (Period_M15) TesterSettings.Add(Name, PERIOD_M15); // Si M15 está configurado, añade cada símbolo con este TF. if (!Period_M1 && !Period_M5 && !Period_M15) // Si no hay TF, vamos a ejecutar el Asesor Experto en el TF. TesterSettings.Add(Name); } } }
El segundo ejemplo genera una lista de tareas basándose en los TFs y símbolos marcados en la Observación del Mercado. De nuevo, fijémonos en los comentarios del código fuente.
Así, todo lo que necesitamos hacer es escribir esta cadena
#include <fxsaber\MultiTester\MultiTester.mqh> // Múltiples ejecuciones/optimizaciones en Tester.
y escribir sólo una función que genere tareas de forma intuitiva.
// Esta función se encarga de generar la lista de tareas. void SetTesterSettings()
Funciones.
- Requiere permiso para usar una DLL. Se llama a varias funciones WinAPI de user32.dll. Por lo tanto no es adecuado para el Mercado a menos que se omita.
- El archivo MTTester.mqh en la entrega contiene métodos de control de MT5-tester, que son convenientes para usar en otros proyectos.
- Es posible reanudar una tarea desde un lugar interrumpido.
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/26132

Detección del inicio de una nueva barra o vela en el manejador de eventos OnTick() de un Asesor Experto.

Calendario: análisis fundamental histórico y en tiempo real.

Esta biblioteca permite crear visualizaciones para enviar fácilmente información de texto al gráfico a la velocidad más óptima.

Panel basado en la clase CDialog. Trabaja sobre el símbolo actual. Borrar, establecer Take Profit, establecer Breakeven en un grupo de posiciones.