NewsRForestExpert
- Utilidades
- Vitaliy Davydov
- Versión: 4.2
- Actualizado: 17 septiembre 2025
Asistente comercial NewsRForestExpert v4.01
-
Objetivo y principio de funcionamiento
NewsRForestExpert es un asistente comercial para MetaTrader 5, que utiliza el calendario económico incorporado
y el modelo de aprendizaje automático "Random Forest" de la biblioteca ALGLIB (en adelante, simplemente "modelo").
El asistente
-
en esta versión sólo funciona en los marcos temporales del par de divisas EURUSD M1 - M5;
-
carga el historial de noticias para el periodo seleccionado y forma muestras de entrenamiento y prueba;
-
se entrena con los datos obtenidos o carga un modelo ya entrenado;
-
comprueba la calidad del entrenamiento del modelo;
-
dibuja noticias en el gráfico, muestra un panel de control. En un gráfico adicional muestra las métricas de calidad del entrenamiento/prueba;
-
en el Probador de Estrategias comprueba en el historial la calidad de negociación del modelo entrenado, o realiza el entrenamiento de un nuevo modelo con la posibilidad de optimizar los parámetros del modelo y comprobar la calidad de negociación en el historial;
-
en tiempo real recibe nuevos eventos, el modelo entrenado forma señales: VENDER / FUERA DE NEGOCIACIÓN / COMPRAR;
-
puede funcionar en modo de negociación automática o con confirmación manual.
-
no está pensado para trading intensivo y scalping
-
Requisitos
Terminal MetaTrader 5 (versión actual).
Conexión a Internet.
Disponibilidad del calendario económico incorporado en el terminal.
Historial de precios de calidad M1/M5 para una correcta sincronización y cálculos.
Autotrading permitido, si está previsto ExpertAutoTrade = true.
Par de divisas EURUSD, timeframes M1 - M5.
-
Instalación y puesta en marcha
Copie los archivos en el directorio del terminal MT5. El asistente (*.ex5) debe estar ubicado en MQL5/Experts.
Inicie MT5 y arrastre el asistente a un gráfico de negociación normal del instrumento requerido (EURUSD, periodo M1 - M5). No lo instale en gráficos de "servicio".
Permita Algo Trading.
Pulse OK. Cuando se inicie, el asistente
-
preparará muestras "train" y "test" (train - para el periodo especificado, test - el día de la fecha final de la muestra train hasta la hora actual);
-
entrenará el modelo o cargará uno guardado, dependiendo de la configuración del usuario;
-
creará una subventana con un panel de control, dibujará noticias en el gráfico;
-
enviará al registro las fechas recomendadas para el Probador de Estrategias;
Además, el asesor experto actualizará las noticias y previsiones por temporizador y nueva barra M1. En modo no automático, aparecerá una ventana de confirmación antes de abrir una posición.
-
Panel de control en el gráfico
Elementos:
-
Cuatro selectores de fecha: inicio y fin del periodo TRAIN (para entrenamiento) e inicio y fin del periodo TEST (para verificación);
Botones:
-
ENTRENAR: vuelve a entrenar el modelo en el periodo de ENTRENAMIENTO seleccionado. Tras el entrenamiento, se construyen métricas/gráficos de "entrenamiento";
-
PRUEBA: prueba el modelo en el periodo de PRUEBA seleccionado. Se crean métricas/gráficos de "Prueba" y se imprimen en el registro las fechas de prueba recomendadas para el Probador de Estrategias;
-
GUARDAR - guarda el modelo actual (sobrescribe el anterior);
Comportamiento:
-
la subventana y el panel se restauran si se cierran accidentalmente;
-
el color del panel se adapta al fondo del gráfico (oscuro/claro);
-
cuando se introducen fechas incorrectas (inicio >= fin - 1 día) se emite una advertencia.
-
Trabajo en el Probador de Estrategias
Antes de iniciar el probador, prepare los datos:
Inicie elasesor expertoen un gráfico real, esto cargará los datos históricos del calendario económico y formará las muestras de entrenamiento y prueba, de acuerdo con las fechas establecidas en la configuración del usuario.
El registro del asesor experto mostrará las fechas recomendadas "Fecha de inicio de la prueba" y "Fecha de finalización de la prueba".
En el Probador (Ctrl+R):
Establezca el asesor experto, símbolo, modo "Every tick" o "1 Minute OHLC".
Establezca las fechas recomendadas.
Parámetro SavedModelUse:
true - cargar un modelo previamente guardado (StateRandomForest).
false - entrenar de nuevo en tren. Opción SaveStateModel = true guardará el modelo entrenado en el Probador de Estrategias con el sufijo Probador.
Dentro del probador, el asesor experto se sincroniza con las marcas de tiempo de los eventos y ejecuta las operaciones en el "minuto de publicación" de la noticia. Los grupos de noticias se procesan colectivamente como en el trading real.
-
Parámetros de entrada
PARÁMETROS DE PREPARACIÓN DE LAS CARACTERÍSTICAS DE ENTRADA
**Fecha de inicio para la carga de eventos del calendario económico (datetime) - fecha de inicio del tren.
**Fecha de fin para la carga de eventos del calendario económico (datetime) - fecha de fin del tren.
**Importancia mínima de las noticias (lov_level, medium_level, high_level) - importancia mínima de los eventos.
*Normalización de las características de entrada (without_normalization, MinMax_method, RobustScaler_method) - normalización de las características (básica).
PARÁMETROS DE RANDOM FOREST
Use a previously saved Random Forest (bool) - usar un modelo previamente entrenado y guardado.
Selecting Random Forest Model Variants ( stationary model_1, random model_2) - variante de implementación del bosque (para Free by default model_1).
Number of trees in a Random Forest (int) - número de árboles en el modelo.
Share of data used to train the tree (double) - proporción de muestra para entrenar cada árbol "bootstrap" (0.2 - 0.95).
Número de características para cada división (int) - número de características para cada división (0 - 48; si -1 entonces auto)
Selección automática de los mejores parámetros Forest (bool) - selección automática de los mejores parámetros Forest (opción beta).
Valor mínimo de la probabilidad de previsión (doble) - umbral de confianza del modelo en su previsión (0.2 - 0.95).
PARÁMETROS DE OPER ACIÓN
*Expert Auto Trade (bool) - activar la operación automática.
*Magic number (int) - número mágico.
Lot size (double) - tamaño del lote.
Stop loss in points / Take profit in points (int, puntos)- niveles SL/TP.
Slippage in points (int, puntos) - deslizamiento.
PARÁMETROS DE PRUEBAEN EL PROBADOR DE ESTRATEGIAS
* Guardar el estado del modelo entrenado en el probador de estrategias (bool) - guardar el modelo entrenado en el probador.
PARÁMETROS DE VISUALIZACIÓN DE LOS EVENTOS DEL CALENDARIO ECONÓMICO
*Importancia baja- LowImpactColor.
*Importancia media- MediumImpactColor.
*Importancia alta- HighImpactColor.
*Anchura de línea - anchura de línea.
*Estilo de línea - estilo de línea.
Nota:
Los parámetros marcados con "*" en el código fuente no afectan a la optimización en el probador.
Los parámetros marcados con "**" deben coincidir en el probador y en la configuración real,
de lo contrario el trabajo y la optimización en el Probador de Estrategias serán incorrectos.
-
Lógica de señales y ejecución de operaciones
El modelo emite unaprevisiónpara cada evento: clase y confianza (probabilidad).
La señal final se construye a partir de la suma de "votos ponderados" en el minuto de publicación del evento:
Peso = confianza en la previsión × importancia de la noticia.
Las sumas se calculan para COMPRA y VENTA para todos los eventos en el minuto.
Si pesos COMPRA > pesos VENTA - señal COMPRA, si pesos VENTA > pesos COMPRA - señal VENTA, de lo contrario NEUTRAL.
El umbral ProbabilityOfPrediction corta los pronósticos con baja confianza.
Cuando se da una señal:
En modo no-autotrading, se muestra una ventana de confirmación; si ya hay una posición en la misma dirección - notificación, la operación no se repite.
Antes de abrir una nueva posición, el asesor experto cierra posiciones opuestas de este MagicNumber.
Las posiciones se abren por trade_signal con Lot/SL/TP/Slippage especificado.
-
Archivos y nombres generados
Prefijo: número de cuenta + par de divisas +marco temporal, por ejemplo "34764EURUSD_5_".
Principales archivos creados por el asistente:
StateRandomForestC.bin - modelo entrenado guardado(real).
StateRandomForestTesterC.bin - modelo entrenado guardado (tester).
FilteredCalendarData_train.bin / _test.bin - conjuntos de datos binarios (utilizados por el Probador de Estrategias).
Archivos adicionales creados por el asistente (control):
FilteredCalendarData_train.csv - conjunto de datos preparado para el entrenamiento del modelo (real).
FilteredCalendarData_test.csv - conjunto de datos preparado para probar la calidad del modelo (real).
DatasetDataForTester_train.csv - conjunto de datos preparado para el entrenamiento del modelo (probador).
DatasetDataForTester_test.csv - conjunto de datos preparado para comprobar el funcionamiento del modelo en la negociación con el historial (probador).
ControlDatasetTester_test.csv - conjunto de datos de control - para comprobar la corrección de la alimentación de datos durante la prueba en el Probador de Estrategias.
Ubicación del archivo: C:\Users\User\AppData\Roaming\MetaQuotes\Terminal\Common\Files
-
Procedimiento de verificación y prueba
En un gráfico real:
Entrene el modelo (TRAIN) en el periodo de entrenamiento- obtenga métricas y un mapa de calor.
Verifique (TEST) en otro periodo de prueba - obtenga métricas y un mapa de calor.
Si los resultados del entrenamiento son satisfactorios, guarde el modelo con el botón Save.
En el probador de estrategias:
Utilice las fechas recomendadas del registro.
Ejecute en el probador de estrategias, evalúe los resultados de negociación del modelo.
Fuera de la muestra:
Mueva las ventanas de periodo para evitar el sobreajuste.
Vuelva a entrenar periódicamente el modelo para tener en cuenta los nuevos datos.
IMPORTANTE:
Dado que las cotizaciones proporcionadas por un corredor pueden diferir de las cotizaciones de otros corredores, se recomienda entrenar el modelo mediante optimización antes de utilizar el asistente NewsRForestExpert en operaciones reales.
El parámetro Utilizar un bosque aleatorio previamente guardado debe establecerse en false.
Lista de parámetros optimizables del modelo:
-
Número de árboles en un Random Forest (10 - 4000);
-
Porcentaje de datos utilizados para entrenar el árbol (0,2 - 0,95);
-
Número de características para cada división (0 - 48);
-
Valor mínimo de la probabilidad de pronóstico (0,2 - 0,95).
También pueden optimizarse, a elección del usuario, los parámetros de la sección "PARÁMETROS DE LA OPERACIÓN".
Tras la optimización, vuelva a cargar el asistente configurando los parámetros del mejor resultado.
-
Problemas frecuentes y soluciones
No hay datos/señales:
Asegúrese de que el calendario está disponible (Ver → Calendario), internet está disponible.
Compruebe el rango Begin/EndDateForLoad, reduzca NewsImportance.
Baja calidad:
Aumente TreeCount/TrainRatio, ajuste ProbabilityOfPrediction.
Compruebe la integridad del historial de precios, cambios de hora del broker.
Las horas no coinciden en el comprobador:
Utilice las fechas recomendadas del registro tras pulsar TEST en real.
-
Limitaciones y características
Se excluyen los eventos con hora indefinida ("durante el día").
Para realizar pruebas fiables, utilice exactamente las fechas que el asesor experto muestra en los registros tras la preparación de los datos en un gráfico real.
-
Lista de comprobación antes de activar el autotrading
Probado en elProbador de Estrategiascon archivos preparados y fechas correctas.
Comprobadas las métricas en TRAIN y TEST en el panel.
Optimizados los parámetros del modelo en el Probador de Estrategias (si es necesario).
Establecido un único MagicNumber en cada símbolo/marco de tiempo.
Seleccionados SL/TP y lotes según volatilidad y riesgos.
ProbabilityOfPrediction optimizada para la selectividad de señal deseada.
-
Notas sobre la normalización
Existen métodos básicos de normalización (Sin/MinMax/RobustScaler).
Los parámetros por defecto en esta build están enfocados a un funcionamiento estable; aumente la potencia (TreeCount, etc.) gradualmente.
-
Seguridad y gestión de riesgos
Comience con una demo y confirmación manual (ExpertAutoTrade = false).
Considere la ampliación del spread y el deslizamiento en las noticias.
Vuelva a entrenar regularmente el modelo y controle los resultados fuera de la muestra.
El trading automatizado conlleva riesgos significativos de pérdida de fondos. El asistente NewsRForestExpert utiliza el análisis de noticias y el aprendizaje automático, pero no garantiza beneficios. Pruebe la estrategia en una cuenta de demostración antes de realizar operaciones reales. Utilice el asistente bajo su propia responsabilidad.
