Clique com o botão direito do mouse no nome do projeto. Ele deve ficar assim:
Sim, isso existe, mas ele escreve um erro
2023.02.2813:05:45.151 Storage checkout started for MQL5\Shared Projects\ONNX.Price.Prediction
2023.02.2813:05:45.667 Storage Not authorized to open root of edit operation (220000)
Lançada a versão beta 3589, na qual você pode testar a operação dos modelos ONNX.
Etapas:
Atualize para 3589 via Help -> Check Desktop Updates -> Latest Beta Version
Ative o MQL5 Storage especificando o login correto do MQL5 (não o e-mail) em letras maiúsculas e minúsculas:
Se você tiver uma configuração corrompida e o MQL5 Storage não funcionar, abra o Explorer via File -> Open Data Folder, vá para o diretório MQL5 e exclua os seguintes arquivos:
. Em seguida, vá para a etapa 2.
Junte-se ao projeto ONNX.Price.Prediction no menu de contexto usando o comando Join.
Abra o Navigator, abra a seção Shared Projects e, no projeto ONNX.Price.Prediction, chame Update from Storage no menu de contexto:
O projeto será baixado do MQL5 Storage (Subversion).
Abra o projeto e clique em ONNX.Price.Prediction.mqproj - esse é o arquivo do projeto
Copie o projeto e execute-o no EURUSD, H1.
Obtenha o resultado:
2023.02.2821:54:43.316 Scripts script ONNX.Price.Prediction (EURUSD,H1) loaded successfully
2023.02.2821:54:43.348 ONNX initialized [API version 1.14.0]
в журнале Experts: важны две последние строки, а остальное - специально включенные отладочные логи по флагу ONNX_DEBUG_LOGS
2023.02.2822:11:53.441 ONNX.Price.Prediction (EURUSD,H1) ONNX: Creating and using per session threadpools since use_per_session_threads_ istrue2023.02.2822:11:53.441 ONNX.Price.Prediction (EURUSD,H1) ONNX: Dynamic block baseset to 02023.02.2822:11:53.442 ONNX.Price.Prediction (EURUSD,H1) ONNX: Initializing session.
2023.02.2822:11:53.442 ONNX.Price.Prediction (EURUSD,H1) ONNX: Adding default CPU execution provider.
2023.02.2822:11:53.442 ONNX.Price.Prediction (EURUSD,H1) ONNX: Total shared scalar initializer count: 02023.02.2822:11:53.443 ONNX.Price.Prediction (EURUSD,H1) ONNX: Total fused reshape node count: 02023.02.2822:11:53.443 ONNX.Price.Prediction (EURUSD,H1) ONNX: Total shared scalar initializer count: 02023.02.2822:11:53.443 ONNX.Price.Prediction (EURUSD,H1) ONNX: Total fused reshape node count: 02023.02.2822:11:53.444 ONNX.Price.Prediction (EURUSD,H1) ONNX: Use DeviceBasedPartition asdefault2023.02.2822:11:53.444 ONNX.Price.Prediction (EURUSD,H1) ONNX: Saving initialized tensors.
2023.02.2822:11:53.444 ONNX.Price.Prediction (EURUSD,H1) ONNX: Done saving initialized tensors
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: Session successfully initialized.
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: Number of streams: 12023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: Begin execution
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 02023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: ort value1 released
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 12023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: ort value2 released
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 32023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: ort value6 released
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 42023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: ort value8 released
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 52023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: ort value9 released
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 62023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 72023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 22023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: ort value3 released
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: ort value11 released
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 82023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 92023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: ort value16 released
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 102023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 112023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: ort value22 released
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 122023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: ort value25 released
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 132023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: ort value27 released
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 272023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 172023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 182023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: ort value28 released
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 282023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: ort value30 released
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) ONNX: stream 0 launch kernel with idx 26
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) [-1.5921557]
2023.02.2822:11:53.445 ONNX.Price.Prediction (EURUSD,H1) predicted 1.0591759612759748
Se não funcionar, isso significa que há uma versão antiga do ONNX Runtime ou que está faltando
. Nesse caso, faça download do arquivo ONNX Runtime 1.14, assinado pela Microsoft, expanda-o para o diretório raiz do terminal ao lado de terminal64.exe e reinicie o terminal:
No projeto, o model.onnx mais simples treinado para fins de exemplo é imediatamente anexado para que você possa ver a demonstração.
Para treinar o modelo por conta própria, você precisa usar os scripts python incluídos no projeto:
Instale o Python 3 (por exemplo, Python 3.10) e entregue/atualize os pacotes:
O pacote onnx com a versão 1.12 explicitamente declarada para não entrar em conflito com os requisitos do tensorflow.
Execute o MetaEditor e certifique-se de que o Python seja reconhecido em Tools -> Options -> Compilers:
Se necessário, especifique você mesmo o caminho, caso o editor não consiga detectá-lo sozinho.
O terminal de negociação deve estar conectado a um servidor com EURUSD (por exemplo, MetaQuotes-Demo)
Certifique-se de que a integração com Python esteja ativada nas configurações do terminal. Se ela estiver desativada, ative-a e reinicie o terminal:
Vá para o projeto ONNX.Price.Prediction no navegador e abra o arquivo PricePredictionTraning.py
Execute o script para compilação, o que, para um script Python, significa iniciar.
O script se conectará ao terminal com a ajuda do pacote MetaTrader5 (se estiver desligado, ele iniciará automaticamente) e começará o treinamento em EURUSD, H1:
Quando terminar, o editor do diário conterá: .
2023.02.2822:24:16.876 Python 107/107 [==============================] - 0 s 1 ms/step - loss: 1.9167 - mae: 0.85532023.02.2822:24:16.876 Python test_loss=1.9172023.02.2822:24:16.876 Python test_mae=0.8552023.02.2822:24:17.179 Python saved model to C:\Users\sys\AppData\Roaming\MetaQuotes\Terminal\8 D1E0A7047FFD62A8C00B09AEC1F3004\MQL5\Shared Projects\ONNX.Price.Prediction\Python\model.onnx
2023.02.2822:24:17.291 Storage modify MQL5\Shared Projects\ONNX.Price.Prediction\Python\model.onnx to base
O novo model.onnx será salvo/atualizado no projeto. Ele já pode ser usado.
Execute o script PricePrediction.py para ter certeza de que o modelo funciona: .
Coloque o Python 3 (por exemplo, Python 3.10) e entregue/atualize os pacotes: Package onnx com uma menção explícita da versão 1.12 para não entrar em conflito com os requisitos do tensorflow.
Não foi possível instalar esse pacote. Primeiro, ele exigia a instalação do CMake. Agora ele exige a instalação do Visual Studio?
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
2023.02.28 05:27:35.269 Storage juntou-se com sucesso ao projeto 'ONNX.Price.Prediction'
2023.02.28 05:27:56.191 Armazenamento Armazenamento MQL5 ativado
2023.02.28 05:27:56.191 Storage checkout iniciado para MQL5
2023.02.28 05:27:56.635 Storage Não foi possível encontrar o sistema de arquivos SVN solicitado (720003)
2023.02.28 05:28:32.432 Storage Owner MQL5 Storage is 'dinpae@gmail.com', change the MQL5 account
O que isso significa? Não é possível se conectar.
On - Connect MQL5 Storage. gives 2023.02.28 05:36:25.147 Storage Owner MQL5 Storage is 'dinpae@gmail.com', change the MQL5 account.
Em qual conta você fez login no MQL5 Storage?
Você especificou seu e-mail ou login com distinção exata entre maiúsculas e minúsculas?
O e-mail não é aceito.
Clique com o botão direito do mouse no nome do projeto. Ele deve ficar assim:
Há algum tipo de autorização em algum lugar
Sim, isso existe, mas dá um erro
. Há algum tipo de autorização em algum lugar.
Bem, eu não sei. Tente sair e excluir o projeto, depois volte a entrar nele e obtenha uma atualização do repositório.
Quando você sai de um projeto no registro:
Ao excluir, nada é escrito. Ao ingressar em um projeto:
Ao receber uma atualização:
A autorização era somente ao se conectar ao repositório - é impossível ingressar no projeto sem ela.
Não posso ajudá-lo mais. A menos que você tenha uma versão antiga - eu fiz isso na mais recente (beta e lançamento).
Bem, eu não sei. Tente sair e excluir o projeto, depois volte a entrar nele e obtenha uma atualização do repositório.
Quando você deixa um projeto no registro:
Ao excluir, nada é escrito. Ao ingressar em um projeto:
Ao receber uma atualização:
A autorização era apenas ao se conectar ao repositório - sem ela, é basicamente impossível ingressar no projeto.
Não posso ajudá-lo com mais nada. A menos que você tenha uma versão antiga - eu fiz isso na mais recente (beta e lançamento).
Entendi, obrigado.
Por precaução, estou publicando o projeto no arquivo.
Em que conta você fez login no MQL5 Storage?
Você especificou seu e-mail ou login com distinção exata entre maiúsculas e minúsculas?
O e-mail não é aceito.
No login, apenas o meu login está torto no início, com pontos dr.mr.mom, eu tenho há muito tempo, você pode alterar o login?
Lançada a versão beta 3589, na qual você pode testar a operação dos modelos ONNX.
Etapas:
. Em seguida, vá para a etapa 2.
O projeto será baixado do MQL5 Storage (Subversion).
. Nesse caso, faça download do arquivo ONNX Runtime 1.14, assinado pela Microsoft, expanda-o para o diretório raiz do terminal ao lado de terminal64.exe e reinicie o terminal:
No projeto, o model.onnx mais simples treinado para fins de exemplo é imediatamente anexado para que você possa ver a demonstração.
Para treinar o modelo por conta própria, você precisa usar os scripts python incluídos no projeto:
python.exe -m pip install --upgrade pip pip install --upgrade tensorflow pip install --upgrade pandas pip install --upgrade scikit-learn pip install --upgrade matplotlib pip install --upgrade tqdm pip install --upgrade metatrader5 pip install --upgrade onnx==1.12 pip install --upgrade tf2onnxO pacote onnx com a versão 1.12 explicitamente declarada para não entrar em conflito com os requisitos do tensorflow.Se necessário, especifique você mesmo o caminho, caso o editor não consiga detectá-lo sozinho.
Certifique-se de que a integração com Python esteja ativada nas configurações do terminal. Se ela estiver desativada, ative-a e reinicie o terminal:
O script se conectará ao terminal com a ajuda do pacote MetaTrader5 (se estiver desligado, ele iniciará automaticamente) e começará o treinamento em EURUSD, H1:
Quando terminar, o editor do diário conterá:
. O novo model.onnx será salvo/atualizado no projeto. Ele já pode ser usado.
.
Esse é um exemplo criado especialmente para demonstrar o treinamento e a execução dos modelos.
Você pode converter seus próprios modelos do TensorFlow para o formato ONNX usando os pacotes python onnx e tf2onnx:
ps: use a versão mais recente do projeto, pois os protótipos de função foram alterados na versão antiga.
Funcionou.
Package onnx com uma menção explícita da versão 1.12 para não entrar em conflito com os requisitos do tensorflow.
Não foi possível instalar esse pacote. Primeiro, ele exigia a instalação do CMake. Agora ele exige a instalação do Visual Studio?
Não foi possível instalar esse pacote. Primeiro eles exigiram a instalação do CMake. E agora eles exigem que o Visual Studio seja instalado?
Você ainda está no início do caminho de lutar contra o inferno das incompatibilidades mútuas e criar ambientes separados para tarefas em Python.
Alguns pacotes exigem compiladores para a compilação de destino.