- Soporte de ONNX
- Conversión de formatos
- Autoconversión de los datos
- Creación de un modelo
- Inicio del modelo
- Comprobación en el simulador
- OnnxCreate
- OnnxCreateFromBuffer
- OnnxRelease
- OnnxRun
- OnnxGetInputCount
- OnnxGetOutputCount
- OnnxGetInputName
- OnnxGetOutputName
- OnnxGetInputTypeInfo
- OnnxGetOutputTypeInfo
- OnnxSetInputShape
- OnnxSetOutputShape
- Estructura de los datos
Creación de un modelo
Hay varias formas de obtener un modelo terminado en formato ONNX. La biblioteca reconocida es ONNX Model Zoo, que contiene varios modelos ONNX previamente entrenados para diferentes tipos de tareas. La ventaja de esta colección es que el notebook de cada modelo contiene enlaces al conjunto de datos de entrenamiento, además de enlaces al documento científico original que describe la arquitectura del modelo.
La mayoría de plataformas para el aprendizaje automático usa Python, para instalar el entorrno ONNX para Python, use uno de los comandos siguientes:
pip install onnxruntime # CPU build
|
Para invocar el tiempo de ejecución de ONNX en Python, use el siguiente comando
import onnxruntime
|
Los datos de entrada y salida para usar el modelo deben encontrarse en la documentación del modelo correspondiente. También puede usar recursos de visualización como Netron o WinML Dashboard para ver el modelo. El tiempo de ejecución de ONNX también permite consultar los metadatos del modelo y sus datos de entrada y salida:
results = session.run(["output1", "output2"], {
|
Puede crear un modelo ONNX directamente en el terminal MetaTrader 5 o en el entorno de trabajo del MetaEditor en Python.
Python в MetaTrader 5
La plataforma MetaTrader 5 ofrece soporte al trabajo con scripts de Python listos para usar. Para ello, los desarrolladores del terminal ofrecen y mantienen un módulo MetaTrader5 para Python https://pypi.org/project/MetaTrader5.
El entorno de desarrollo integrado de MetaEditor permite escribir no solo aplicaciones en MQL5, sino también ejecutar scripts de Python directamente desde el editor. Para hacer esto, debe especificar la ruta al archivo ejecutable en los ajustes del MetaEditor:
Si no tiene Python en su computadora, pulse "Instalar" para descargar el archivo de instalación.
Puede crear un script de Python en el MetaEdtior o cargarlo en la carpeta de datos del terminal y ejecutarlo directamente usando la tecla F7 ("Compilar"). Después de eso, se abrirá el terminal MetaTrader 5 y se iniciará el script en el gráfico actual. Los mensajes de la consola Python (stdout, stderr) se mostrarán en el apartado "Errores".
Esquema de trabajo con modelos en MetaTrader 5
El lenguaje MQL5 le permite ejecutar modelos ONNX directamente en el terminal MetaTrader 5. Esto se hace en 3 pasos:
- Entrene el modelo en una plataforma de terceros, como Python.
- Convierta modelo a ONNX
- Incluya el modelo ONNX en el asesor utilizando las funciones ONNX y ejecútelo en el terminal MetaTrader 5.
La integración de Python del lenguaje MQL5 permite ejecutar un script de Python y guardar un modelo ONNX en MetaEditor o incluso ejecutarlo en un gráfico en MetaTrader 5. Puede entrenar el modelo usando un script de Python escrito una vez con la frecuencia que necesite directamente en el terminal. Como la biblioteca contiene funciones integradas preparadas para obtener datos de precio que se pueden suministrar a la entrada del modelo ONNX:
- copy_rates_from - obtiene las barras comenzando por la fecha especificada;
- copy_rates_from_pos - obtiene las barras comenzando por el índice especificado;
- copy_ticks_range - obtiene las barras en el rango de fechas especificado;
- copy_ticks_from - obtiene los ticks comenzando por la fecha especificada;
- copy_ticks_range - obtiene los ticks en el rango de fechas especificado.
Ejemplo de modelo preparado #
Puede encontrar un ejemplo de un modelo ONNX terminado en los proyectos públicos. Para hacer esto, primero debe activar MQL5 Storage en el Navegador especificando su login MQL5 en la configuración del MetaEditor, distinguiendo entre mayúsculas y minúsculas.
Después de la activación, busque el proyecto ONNX.Price.Prediction y únase a él usando el comando del menú contextual.
A continuación, actualice el proyecto desde MQL5 Storage.
Después de eso, para usted estará disponible un proyecto en el que encontrará un modelo ONNX listo para usar, dos scripts de python, un script MQL5 para el funcionamiento del proyecto y un archivo de proyecto MQL5 (ONNX.Price.Prediction.mqproj).
Puede crear un modelo ONNX usted mismo utilizando el script PricePredictionTraining.py incluido en el proyecto. Para hacer esto, primero debe instalar los módulos necesarios en la computadora desde la línea de comando.
python.exe -m pip install --upgrade pip
|
Después de instalar los módulos, abra el script PricePredictionTraining.py en MetaEditor y ejecútelo con el botón "Compilar" o con la tecla F7.
Antes de ejecutar el script Python, asegúrese de que el terminal MetaTrader 5 esté conectado a un servidor que tenga el símbolo EURUSD. Por ejemplo, conéctese al servidor MetaQuotes-Demo y compruebe en los ajustes del terminal la casilla de verificación "Integración con Python"
Durante el entrenamiento de la red, el MetaEditor mostrará mensajes del script de Python hasta que se complete el entrenamiento.
Cuando el resultado es del 100%, el modelo ONNX está listo y se guarda en la carpeta del proyecto <directorio de datos del terminal>\MQL5\Shared Projects\ONNX.Price.Prediction\Python.
Puede comprobar el modelo resultante ejecutando el segundo script PricePrediction.py haciendo clic en el botón F7.