Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 2957

 
Aleksey Nikolayev #:

Si elimina el interruptor ONNX_NO_CONVERSION, puede introducir un vector doble. La salida debe seguir siendo un vector flotante.

Después de la compilación el modelo permanece como un archivo separado o se cose en .ex5 ?
 
Evgeny Dyuka #:
Después de la compilación, ¿el modelo permanece como archivo independiente o se cose en .ex5?

Si no se "cose", ¿cómo venderlo? Supongo que se convierte en un recurso como los demás archivos.

 
Vladimir Perervenko reducción de la dimensionalidad y otros trucos de ingeniería. La regla principal de cualquier predictor y transformación de objetivos en esta etapa es que todos los parámetros de transformación (como media, mediana, sd, mad, etc.) se calculan en el conjunto de entrenamiento. El conjunto de prueba y los nuevos datos se procesan utilizando los parámetros obtenidos en el conjunto de entrenamiento.

Así que en el ejemplo era necesario calcular media/sd en el tren, pasar estos datos a la parte donde se hace el predicado, procesar los nuevos datos con estos parámetros. Después, desnormalizar y obtener los valores reales del precio predicho. Esta secuencia es importante.

Está claro que nadie alimenta los precios reales a la entrada del modelo, pero esto ya es específico.

Suerte

En nuestro ejemplo de modelo onnx, los precios de entrada se normalizan utilizando media y std en toda la serie. A continuación, el resultado obtenido se varnormaliza utilizando las mismas reglas

 
Evgeny Dyuka #:
Después de la compilación, el modelo sigue siendo un archivo separado o se cose en .ex5 ?

En mi ejemplo no, sigue siendo un archivo independiente. En el ejemplo de Renate (proyecto público ONNX.Price.Prediction) se escribe en .ex5.

 
Slava #:

En nuestro ejemplo del modelo onnx, los precios de los insumos se normalizan utilizando la media y la std de toda la serie. A continuación, el resultado obtenido se varnormaliza utilizando las mismas reglas

Me explico con los dedos. En ONNX.Price.Prediction.mq5 se obtienen 10 OHLC. Luego sobre estos datos determinas media y sd, y normalizas estos 10 valores con ellos. Esto no es correcto.

Para estos nuevos datos, debes utilizar la media y la sd obtenidas en el conjunto de entrenamiento. Es decir, en el script anterior. ¿Queda claro?

 
Vladimir Perervenko #:

Voy a explicar en mis dedos. En ONNX.Price.Prediction.mq5 obtienes 10 OHLC. Luego sobre estos datos determinas media y sd, y normalizas estos 10 valores con ellos. Eso no es correcto.

Para estos nuevos datos, debes utilizar la media y la sd obtenidas en el conjunto de entrenamiento. Es decir, en el script anterior. ¿Está claro?

Por supuesto que está claro y se hizo deliberadamente.

El ejemplo se hizo para probar la carga del modelo onnx, no para extraer un resultado razonable del modelo.

 
Evgeny Dyuka #:
Tras la compilación, ¿el modelo sigue siendo un archivo independiente o se cose en .ex5?

Utiliza proyectos *.mqproj en lugar de archivos sueltos, incluye tus modelos onnx y otros archivos como recursos. Esta es ahora la opción preferida para escribir programas.

Especialmente porque tiene más configurabilidad y sólo en archivos *.mqproj aumentaremos la configurabilidad de los programas. Pronto habilitaremos la gestión de conjuntos de comandos AVX/AVX2/AVX512 al optimizar el código del robot.

Los recursos se incrustan automáticamente en el archivo EX5, comprimido y encriptado para su protección.

Eche un vistazo al proyecto público ONNX.Price.Prediction para ver un ejemplo.

Создание и работа с проектом - Проекты и MQL5 Storage - Справка по MetaEditor
  • www.metatrader5.com
MetaEditor позволяет удобно работать над большими проектами: объединять множество файлов в одну структуру, управлять настройками проекта и вести...
 
Renat Fatkhullin #:

Ciertamente comprensible y hecho deliberadamente.

El ejemplo se hizo para probar la carga del modelo onnx, no para extraer un resultado razonable del modelo.

Sí, claro que lo he entendido. ¿Pero lo entendieron los que utilizaron el ejemplo?

Quizá estoy siendo quisquilloso.

 
Vladimir Perervenko #:

Voy a explicar en mis dedos. En ONNX.Price.Prediction.mq5 obtienes 10 OHLC. Luego sobre estos datos determinas media y sd, y normalizas estos 10 valores con ellos. Eso no es correcto.

Para estos nuevos datos, debes utilizar la media y la sd obtenidas en el conjunto de entrenamiento. Es decir, en el script anterior. ¿Está claro?

Por supuesto que sí. No hay problema. Este modelo se hizo muy rápido. Sólo como un ejemplo.

Necesitábamos comprobar la corrección de la inferencia en MQL5 muy rápidamente.

Y por supuesto, comprobamos la eficacia de la predicción en los datos actuales. Alrededor del 52%. El viernes escribí un script de verificación con comentarios detallados sobre los detalles técnicos. Rashid escribió un Asesor Experto basado en este modelo para ejecutarlo en el probador. Al parecer, aún no se ha publicado

 
Vladimir Perervenko #:

Por supuesto que me he dado cuenta. Pero, ¿lo entienden las personas que utilizan el ejemplo?

52% de eficiencia. Deberían entenderlo.

MAE=0,0005