Il misterioso numero 63 :)
Ho impostato la stessa data e le stesse impostazioni, ma i risultati sono stati diversi. Qualcuno sa perché?
Risultati del test del primo modelloRisultati del secondo modello
Innanzitutto, grazie mille per aver messo insieme questo documento, è bello guardare in diverse direzioni. È facile da seguire e ben strutturato.
Per quanto mi riguarda, ottengo percentuali di successo simili e un numero di operazioni leggermente inferiore con il conto demo, ma quando utilizzo il conto demo di meta trader. Con il mio conto di trading si opera solo una volta. Presumo che sia il fuso orario del broker, il mio broker è in Australia (GMT+10). La prima transazione dal conto demo è; Core 1 2023.01.02 07:02:00 deal #2 sell 1 EURUSD at 1.07016 done(based on order #2)
La prima transazione dal mio Broker Australia (GMT+10) è; Core 1 2023.01.03 00:00:00 failed market sell 1 EURUSD [Mercato chiuso] e non so esattamente come risolverlo. Forse l'intero modello dipende dal fuso orario. Se così fosse i tempi dovrebbero essere espressi in ore intere, ma come fa la transazione iniziale 2023.01.02 07:02:00 a diventare 2023.01.03 00:00:00?
Apprezzerei qualsiasi suggerimento sulla causa di questo problema.
servizio commerciale
Lo stesso, riesco a riprodurre risultati molto simili con i file onnx originali sul mio conto MetaQuates-Demo.
Poi, riesco a riaddestrare le ML di Python fino al completamento, anche se con i seguenti avvertimenti/errori che possono essere ignorati:
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 ...
entrambi gli script ML terminano 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
Successivamente ricompilo l'originale ONNX.Price.Prediction.2M.D1.mq5 per utilizzare i nuovi ML addestrati.
I risultati del backtest con lo stesso conto MetaQuates-Demo sono molto diversi da quelli originali, il che non è positivo.
Mi piacerebbe molto sapere cosa è andato storto?
Grazie mille.
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso


Il nuovo articolo Un esempio di come assemblare i modelli ONNX in MQL5 è stato pubblicato:
ONNX (Open Neural Network eXchange) è un formato aperto costruito per rappresentare le reti neurali. In questo articolo mostreremo come utilizzare contemporaneamente due modelli ONNX in un Expert Advisor.
Per un trading stabile, di solito si raccomanda di diversificare sia gli strumenti negoziati che le strategie di trading. Lo stesso vale per i modelli di apprendimento automatico: è più facile creare diversi modelli semplici che uno complesso. Ma può essere difficile assemblare questi modelli in un unico modello ONNX.
Tuttavia, è possibile combinare diversi modelli ONNX addestrati in un unico programma MQL5. In questo articolo prenderemo in considerazione uno degli assemblaggi chiamato classificatore di voto. Vi mostreremo come sia facile implementare un tale assemblaggio.
Risultati del test del primo modello.
Verifichiamo ora il secondo modello. Ecco i risultati del test del secondo modello.
Autore: MetaQuotes