Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Buen artículo. El gráfico de predicción de los datos de prueba es decepcionante. Bien podrías saltarte todo ese modelado/entrenamiento DNN y simplemente usar una predicción del próximo precio igual al último precio conocido. Apuesto a que la precisión de la predicción de un modelo tan trivial será mayor que utilizando su modelo DNN. Sugiero comparar esas dos precisiones y mostrarlas aquí. En general, usar DNN para predecir precios es una mala idea. Son más adecuados para la clasificación de los patrones de precios (por ejemplo, comprar, vender, mantener). Además, el número de pesos en su DNN es astronómico. Debe de ser un ajuste excesivo.
Gracias Vladimir.
Sólo para discutir, cuando el tiempo lo permita, modificaría este modelo para hacer la clasificación para la comparación.
Por favor, hágamelo saber si usted tiene ideas.
El tutorial da una entrada de un lote SAMPLE_SIZE número de entradas cercanas, usted quiere un lote de entradas input_count.
También su modelo no utiliza flotadores como entradas, pero los dobles,
Nota del Moderador: Este mensaje está fuera de secuencia debido a los mensajes a continuación se ha movido de otro tema. Por favor, vea el post de abajo.
Hola comunidad MQL5, He estado tratando de seguir este tutorial sobre cómo utilizar ONNX en su EA. En el tutorial de una red neuronal fue el modelo de elección, He utilizado un gradiente impulsado árbol.
Construí el modelo utilizando el paquete Python InterpretML, y lo exporté a ONNX utilizando ebm2onnx.
Resumiré el proceso mediante el cual se entrenó el modelo.
1) El modelo fue entrenado en 5 entradas, OHLC y Altura, la altura se calcula como ((H + L) / 2) - C.
2) El modelo es un clasificador binario, con el objetivo de clasificar la siguiente vela como ARRIBA (1) o ABAJO (0).
Los datos utilizados para entrenar el modelo.
3) El modelo se exportó al formato ONNX
Representación del modelo ONNX.
Para conseguir que el modelo funcionara, me desvié del código del tutorial y seguí editando el código para intentar que el modelo ONNX funcionara, pero ahora realmente no sé qué estoy haciendo mal. Sigo recibiendo un error que el mango para el modelo no es válido.
He adjuntado el código MQL5 a continuación.
Ahora voy a resumir los pasos que tomé en mi código que se desvían de lo que está en el tutorial, y voy a explicar por qué me desvié del tutorial también
1) LINEA 57: Configuración de la forma de entrada del modelo.
En el tutorial se utilizaron 3 dimensiones para establecer la forma de entrada y salida, es decir {1,SAMPLE_SIZE,1}; Sin embargo, cuando seguí ese enfoque seguí recibiendo un error, específicamente el error 5808. Después del proceso habitual de prueba y error me di cuenta de que si utilizaba sólo 1 dimensión, el número de entradas, el error desaparecía.
2) LINEA 68: Configuración de la forma de salida del modelo.
Misma lógica que la anterior.
Las otras desviaciones que hice no afectan al modelo, por ejemplo, llevé la cuenta del tiempo usando una lógica que me pareció más intuitiva que la lógica implementada en el tutorial. No necesité normalizar las entradas porque es un modelo basado en árboles.
Si usted puede detectar otros errores que he hecho , le agradecería su perspicacia.
Foro sobre trading, sistemas automatizados de trading y testeo de estrategias de trading
Discusión del artículo "Cómo utilizar modelos ONNX en MQL5"
Stian Andreassen, 2023.12.08 20:51
El tutorial da una entrada de un lote SAMPLE_SIZE número de entradas de cierre, que desea un lote de entradas input_count.
También su modelo no utiliza flotadores como entradas, pero los dobles,
Gracias por compartir Sitan, he aplicado lo que usted ha señalado, pero el error sigue ahí
Un lote de entradas input_count.

Establecer entrada en doble
Mensaje de error.
Hello MQL5 community, I've been trying to follow this tutorial on how to use ONNX in your EA's. In the tutorial a neural network was the model of choice, I've used a gradient boosted tree.
Construí el modelo utilizando el paquete InterpretML Python, y lo exporté a ONNX utilizando ebm2onnx.
Resumiré el proceso mediante el cual se entrenó el modelo.
1) El modelo fue entrenado en 5 entradas, OHLC y Altura, la altura se calcula como ((H + L) / 2) - C.
2) El modelo es un clasificador binario, cuyo objetivo es clasificar la siguiente vela como ARRIBA (1) o ABAJO (0).
Los datos utilizados para entrenar el modelo.
3) El modelo se exportó al formato ONNX
Representación del modelo ONNX.
Para conseguir que el modelo funcionara, me desvié del código del tutorial y seguí editando el código para intentar que el modelo ONNX funcionara, pero ahora realmente no sé qué estoy haciendo mal. Sigo recibiendo un error que el mango para el modelo no es válido.
He adjuntado el código MQL5 a continuación.
Ahora voy a resumir los pasos que tomé en mi código que se desvían de lo que está en el tutorial, y voy a explicar por qué me desvié del tutorial también
1) LINEA 57: Configuración de la forma de entrada del modelo.
En el tutorial se utilizaron 3 dimensiones para establecer la forma de entrada y salida, es decir {1,SAMPLE_SIZE,1}; Sin embargo, cuando seguí ese enfoque seguí recibiendo un error, específicamente el error 5808. Después del proceso habitual de prueba y error me di cuenta de que si utilizaba sólo 1 dimensión, el número de entradas, el error desaparecía.
2) LINEA 68: Configuración de la forma de salida del modelo.
Misma lógica que la anterior.
Las otras desviaciones que hice no afectan al modelo, por ejemplo, llevé la cuenta del tiempo usando una lógica que me pareció más intuitiva que la lógica implementada en el tutorial. No necesité normalizar las entradas porque es un modelo basado en árboles.
Si usted puede detectar otros errores que he hecho , le agradecería su perspicacia.
Gracias por compartir Sitan, he aplicado lo que señaló, pero el error sigue ahí
Un lote de entradas input_count.
Establecer entrada en doble
Mensaje de error.
Parece que MQL5 (o mejor dicho ONNXMLTools) todavía no soporta ONNX de EBM:
https://www.mql5.com/es/docs/onnx/onnx_conversion
Si consulta los archivos adjuntos ONNX (especialmente model.eurusd.D1.10.class.onnx que utiliza 4 entradas) de https://www.mql5.com/es/articles/12484; y utiliza Netron(versión web) para visualizar los archivos onnx verá las diferencias.
Creo que los dos artículos siguientes también te ayudarán a entenderlo mejor:
Modelos de regresión de la librería Scikit-learn y su exportación a ONNX
Modelos de clasificación de la librería Scikit-Learn y su exportación a ONNX
Hola a todos,
Estamos intentando utilizar una red neuronal keras con 11 predictores en un momento dado (tamaño de lote 32) para hacer predicciones en el XauUsd (donde la salida es un número singular entre 0 y 1). En primer lugar, cargamos desde OnnxCreatefrombuffer (porque OnnxCreate en sí no funciona para nosotros), entonces siempre obtenemos un error en la etapa OnnxRun, donde he adjuntado ambos errores a continuación. Cualquier ayuda sobre qué dimensión para remodelar la entrada, qué formato para poner nuestro vector predictor en (si debe ser un vector en absoluto?), o simplemente cualquier ayuda o sugerencias con la sintaxis para ayudar a hacer frente a estos errores sería increíble. Hemos tratado de remodelación a todo tipo de combinaciones de 32,1,11 vectores y no hubo suerte y realmente ni idea con los próximos pasos ... Muchas gracias a quien pueda ayudarnos. Ben.
Error 5808
ONNX: input parameter #0 tensor has wrong dimension [0], try to use OnnxSetInputShape'
ONNX: parámetro de entrada #0 tamaño inválido, se esperaban 1408 bytes en lugar de 480'
Hola, intento utilizar el
OnnxModelInfo.mq5pero no consigo que funcione, ¿qué estoy haciendo mal? no puede ser tan complicado.
He copiado y pegado el script OnnxModelInfo, y lo he guardado en la carpeta Files.
Tengo un modelo onnx (adjunto)
y cuando compilo el script aparecen 21 errores.
¿Alguien me puede ayudar con esto? Por favor
Se ha publicado el nuevo artículo Uso de modelos ONNX en MQL5:
Autor: MetaQuotes
Hola señores.
Alguien me puede ayudar, porque al final del proceso en python, sale el siguiente error: AttributeError: 'Sequential' object has no attribute 'output_names'. No se mucho de python ni de programación. ¡Así que cualquier ayuda se agradecería! Gracias.
Hola Alberto, por favor, publica la parte de tu código[usando el botónCÓDIGO (Alt -S)] donde se produce el error para que alguien que sepa Python(MetaTrader para Python | ONNX Models) pueda indicarte la solución...