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:
- 4177
- Ranking:
- Publicado:
- 2023.03.27 12:12
- Actualizado:
- 2023.08.25 08:53
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
La función de ejecución del modelo Onnx requiere que se definan los tamaños de entrada y salida. Las funciones OnnxSetInputShape y OnnxSetOutputShape se usan para especificar los tamaños, respectivamente.
No todos los modelos indican entradas y salidas de tamaño fijo. En tales casos, el script mostrará un valor de -1 (menos 1).
OnnxTypeInfo type_info; long input_count=OnnxGetInputCount(session_handle); Print("model has ",input_count," input(s)"); for(long i=0; i<input_count; i++) { string input_name=OnnxGetInputName(session_handle,i); Print(i," input name is ",input_name); if(OnnxGetInputTypeInfo(session_handle,i,type_info)) PrintTypeInfo(i,"input",type_info); } long output_count=OnnxGetOutputCount(session_handle); Print("model has ",output_count," output(s)"); for(long i=0; i<output_count; i++) { string output_name=OnnxGetOutputName(session_handle,i); Print(i," output name is ",output_name); if(OnnxGetOutputTypeInfo(session_handle,i,type_info)) PrintTypeInfo(i,"output",type_info); }
La selección del modelo en la carpeta MQL5\Files se realiza con la ayuda de la función FileSelectDialog
A continuación, puede ver un ejemplo del funcinamiento del script:
Create model from mnist.onnx with debug logs ONNX: Creating and using per session threadpools since use_per_session_threads_ is true ONNX: Dynamic block base set to 0 ONNX: Initializing session. ONNX: Adding default CPU execution provider. ONNX: Removing initializer 'Parameter6'. It is no longer used by any node. ONNX: Removing initializer 'Parameter88'. It is no longer used by any node. ONNX: Total shared scalar initializer count: 0 ONNX: Removing initializer 'Parameter193_reshape1_shape'. It is no longer used by any node. ONNX: Removing initializer 'Parameter193'. It is no longer used by any node. ONNX: Total fused reshape node count: 0 ONNX: Total shared scalar initializer count: 0 ONNX: Total fused reshape node count: 0 ONNX: Removing initializer 'Parameter5'. It is no longer used by any node. ONNX: Removing initializer 'Parameter87'. It is no longer used by any node. ONNX: Use DeviceBasedPartition as default ONNX: Saving initialized tensors. ONNX: Done saving initialized tensors ONNX: Session successfully initialized. model has 1 input(s) 0 input name is Input3 type ONNX_TYPE_TENSOR data type ONNX_DATA_TYPE_FLOAT shape [1, 1, 28, 28] shape of input data can be reduced to [28, 28] model has 1 output(s) 0 output name is Plus214_Output_0 type ONNX_TYPE_TENSOR data type ONNX_DATA_TYPE_FLOAT shape [1, 10] shape of output data can be reduced to [10]
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/43452
![Función que Calcula la Reducción Relativa](https://c.mql5.com/i/code/expert.png)
La reducción relativa es una relación entre la reducción máxima y el valor del máximo local correspondiente del capital. Es importante utilizar el Drawdown Relativo según el saldo como filtro de optimización.
![SCRIPTS PARA EJECUTAR ORDEN DE COMPRA, VENTA Y CERRAR LAS POSICIONES](https://c.mql5.com/i/code/script.png)
Útiles atajo de teclado que te van agilizar tu operativa del trading. Facilitan la entrada al mercado y el cierre de las operación abiertas. Yo no fui el creador de los scripts, no se quien fue, solo encontré los archivos y tenían un error los solucione para que fueran útiles y efectivos al incorporarlos a la plataforma. Espero no tener problemas por publicarlos, solo quiero aportar a la comunidad.
![Ejemplo de uso de un modelo ONNX para reconocer números manuiscritos](https://c.mql5.com/i/code/expert.png)
Este asesor no comercia. Este sencillo panel, implementado con la ayuda de la biblioteca estándar Canvas, permite dibujar números con el ratón. Los dibujos se reconocen usando el modelo entrenado mnist.onnx.
![Programación en MQL5 para tráders: códigos fuente del libro: Parte 1](https://c.mql5.com/i/code/expert.png)
El primer capítulo del libro presenta el lenguaje y el entorno de desarrollo MQL5. Uno de los principales cambios del lenguaje MQL5 en comparación con MQL4 (el lenguaje de MetaTrader 4) es la compatibilidad con la programación orientada a objetos (POO), lo cual lo hace similar a C++.