El misterioso número 63 :)
He puesto la misma fecha y los mismos ajustes, pero los resultados han sido diferentes. ¿Alguien sabe por qué?
Resultados del primer modeloResultados de las pruebas del segundo modelo
En primer lugar, muchas gracias por reunir todo esto, es agradable mirar en diferentes direcciones. Es fácil de seguir y bien elaborado.
Para mí tengo tasas de éxito similares y un número ligeramente inferior de los oficios con la cuenta de demostración, pero cuando uso la cuenta de demostración meta comerciante. Con mi cuenta de operaciones sólo se negocia una vez. Estoy asumiendo que es la zona horaria para el corredor de mi corredor está en Australia (GMT + 10). La primera transacción de la cuenta demo es; Core 1 2023.01.02 07:02:00 deal #2 sell 1 EURUSD at 1.07016 done(based on order #2)
La primera transacción de Mi Broker Australia (GMT+10) es; Core 1 2023.01.03 00:00:00 mercado fallido vender 1 EURUSD [Mercado cerrado] y no exactamente seguro de cómo resolver esto. Posiblemente todo el modelo depende de la zona horaria. Si ese fuera el caso, los tiempos deberían estar en horas enteras, pero ¿cómo se convierte la transacción de inicio 2023.01.02 07:02:00 en 2023.01.03 00:00:00?
Agradecería cualquier sugerencia al respecto.
servicio comercial
Lo mismo digo, logro reproducir resultados muy similares con los archivos onnx originales en mi cuenta MetaQuates-Demo.
Luego, logro re-entrenar los MLs de Python hasta completarlos; aunque con las siguientes advertencias/errores que pueden ser ignorados:
D:\MT5 Demo1\MQL5\Experts\article_12433\Python>python ONNX.eurusd.D1.10.Training.py 2023-11-19 18:07:38.169418: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found 2023-11-19 18:07:38.169664: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. data path to save onnx model 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 5187/5187 [00:00<00:00, 6068.93it/s] 2023-11-19 18:07:40.434910: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'nvcuda.dll'; dlerror: nvcuda.dll not found 2023-11-19 18:07:40.435070: W tensorflow/stream_executor/cuda/cuda_driver.cc:263] failed call to cuInit: UNKNOWN ERROR (303) 2023-11-19 18:07:40.437138: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:169] retrieving CUDA diagnostic information for host: WIN-SSPXX7BO0B0 2023-11-19 18:07:40.437323: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:176] hostname: WIN-SSPXX7BO0B0 2023-11-19 18:07:40.437676: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2 To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. Epoch 1/50 111/111 - 1s - loss: 1.6160 - mae: 0.9378 - val_loss: 2.7602 - val_mae: 1.3423 - lr: 0.0010 - 1s/epoch - 12ms/step Epoch 2/50 111/111 - 0s - loss: 1.4932 - mae: 0.8952 - val_loss: 2.4339 - val_mae: 1.2412 - lr: 0.0010 - 287ms/epoch - 3ms/step ...
ambos scripts ML terminan con:
111/111 - 0 s - loss: 1.2812 - mae: 0.8145 - val_loss: 1.2598 - val_mae: 0.8142 - lr: 1.0000 e-06 - 366 ms/epoch - 3 ms/step Epoch 50/50 111/111 - 0 s - loss: 1.3030 - mae: 0.8203 - val_loss: 1.2604 - val_mae: 0.8143 - lr: 1.0000 e-06 - 365 ms/epoch - 3 ms/step 33/33 [==============================] - 0 s 1 ms/step - loss: 1.1542 - mae: 0.7584 test_loss=1.154 test_mae=0.758 2023-11-19 18:07:57.480814: I tensorflow/core/grappler/devices.cc:66] Number of eligible GPUs (core count >= 8, compute capability >= 0.0): 0 2023-11-19 18:07:57.481315: I tensorflow/core/grappler/clusters/single_machine.cc:358] Starting new session 2023-11-19 18:07:57.560110: I tensorflow/core/grappler/devices.cc:66] Number of eligible GPUs (core count >= 8, compute capability >= 0.0): 0 2023-11-19 18:07:57.560380: I tensorflow/core/grappler/clusters/single_machine.cc:358] Starting new session 2023-11-19 18:07:57.611678: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:354] MLIR V1 optimization pass is not enabled saved model to model.eurusd.D1.10.onnx
24/24 - 0 s - loss: 0.6618 - accuracy: 0.6736 - val_loss: 0.8993 - val_accuracy: 0.4759 - lr: 4.1746 e-05 - 37 ms/epoch - 2 ms/step Epoch 300/300 24/24 - 0 s - loss: 0.6531 - accuracy: 0.6770 - val_loss: 0.8997 - val_accuracy: 0.4789 - lr: 4.1746 e-05 - 39 ms/epoch - 2 ms/step 11/11 [==============================] - 0 s 682 us/step - loss: 0.8997 - accuracy: 0.4789 test_loss=0.900 test_accuracy=0.479 2023-11-19 18:07:19.838160: I tensorflow/core/grappler/devices.cc:66] Number of eligible GPUs (core count >= 8, compute capability >= 0.0): 0 2023-11-19 18:07:19.838516: I tensorflow/core/grappler/clusters/single_machine.cc:358] Starting new session 2023-11-19 18:07:19.872285: I tensorflow/core/grappler/devices.cc:66] Number of eligible GPUs (core count >= 8, compute capability >= 0.0): 0 2023-11-19 18:07:19.872584: I tensorflow/core/grappler/clusters/single_machine.cc:358] Starting new session saved model to model.eurusd.D1.63.onnx
A continuación vuelvo a compilar el original ONNX.Price.Prediction.2M.D1.mq5 para utilizar los nuevos MLs que he entrenado.
Los resultados del backtest con la misma cuenta MetaQuates-Demo fueron muy diferentes de los originales; lo cual no tiene buena pinta.
Me gustaría saber qué ha fallado:
Muchas gracias.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso


Artículo publicado Ejemplo de un conjunto de modelos ONNX en MQL5:
ONNX (Open Neural Network eXchange) es un estándar abierto para representar redes neuronales. En este artículo, le mostraremos la posibilidad de usar dos modelos ONNX simultáneamente en un asesor experto.
Para lograr un comercio estable, resulta deseable diversificar tanto los instrumentos negociados como las estrategias comerciales. La situación es la misma con los modelos de aprendizaje automático: resulta más sencillo crear varios modelos más simples que uno complejo, si bien podríamos tener dificultades al ensamblar estos modelos en un modelo ONNX.
Sin embargo, podemos combinar el uso de varios modelos ONNX ya entrenados en un programa MQL5. Vamos a ver lo fácil que resulta implementar uno de los conjuntos llamado clasificador de votación.
Resultados de la prueba del primer modelo.
Ahora probaremos solo el segundo modelo. Aquí tenemos los resultados de las pruebas del segundo modelo.
Autor: MetaQuotes