- Suporte a ONNX
- Conversão de formatos
- Autoconversão de dados
- Criação de modelo
- Inicialização do modelo
- Verificação no testador
- OnnxCreate
- OnnxCreateFromBuffer
- OnnxRelease
- OnnxRun
- OnnxGetInputCount
- OnnxGetOutputCount
- OnnxGetInputName
- OnnxGetOutputName
- OnnxGetInputTypeInfo
- OnnxGetOutputTypeInfo
- OnnxSetInputShape
- OnnxSetOutputShape
- Estruturas de dados
Criação de modelo
Existem várias maneiras de obter um modelo ONNX pronto para uso. Uma biblioteca reconhecida é a ONNX Model Zoo, que contém vários modelos ONNX pré-treinados para diferentes tipos de tarefas. A vantagem dessa coleção é que o notebook de cada modelo contém referências ao conjunto de dados de treinamento, bem como links para o documento científico original que descreve a arquitetura do modelo.
A maioria das plataformas de aprendizado de máquina usa Python. Para instalar o ambiente de execução do ONNX para Python, use um dos seguintes comandos:
pip install onnxruntime # CPU build
|
Para chamar o ambiente de execução do ONNX em Python, use o seguinte comando
import onnxruntime
|
Os dados de entrada e saída para usar o modelo devem ser vistos na documentação do modelo correspondente. Ferramentas de visualização como Netron ou WinML Dashboard também podem ser usadas para visualizar o modelo. O ambiente de execução do ONNX também permite consultar os metadados do modelo e seus dados de entrada e saída:.
results = session.run(["output1", "output2"], {
|
Você pode criar modelos ONNX diretamente no terminal MetaTrader 5 ou no ambiente de desenvolvimento MetaEditor em Python.
Python no MetaTrader 5
A plataforma MetaTrader 5 suporta o trabalho com scripts Python assim que retirados da embalagem. Para isso, os desenvolvedores do terminal disponibilizam o módulo MetaTrader 5 para Python - https://pypi.org/project/MetaTrader5.
O ambiente de desenvolvimento integrado MetaEditor permite não apenas escrever aplicativos em MQL5, mas também executar scripts Python diretamente do editor. Para fazer isso, especifique o caminho para o arquivo executável nas configurações do MetaEditor:.
Se você não tiver o Python em seu computador, clique em "Instalar" para baixar o arquivo de instalação.
Você pode criar um script Python no MetaEdtior ou carregá-lo na pasta de dados do terminal e executá-lo imediatamente pressionando F7 ("Compilar"). Depois disso, o terminal MetaTrader 5 será aberto e o script será rodado no gráfico atual. As mensagens do console Python (stdout, stderr) serão exibidas na seção "Error".
Como trabalhar com modelos no MetaTrader 5
A linguagem MQL5 permite que você execute modelos ONNX diretamente no terminal MetaTrader 5. Isso pode ser feito em três etapas:
- Treinar um modelo em uma plataforma de terceiros, por exemplo, em Python.
- Conversão do modelo no ONNX
- Incorpore o modelo ONNX no EA usando funções ONNX e execute no terminal do MetaTrader 5.
Integração Python da linguagem MQL5 permite executar um script python e salvar o modelo ONNX no MetaEditor ou até mesmo executá-lo em um gráfico no MetaTrader 5. Você pode treinar seu modelo usando um script escrito em Python com a frequência desejada diretamente no terminal. Como a biblioteca contém funções prontas incorporadas para obter dados de preços com os quais você pode alimentar o modelo ONNX:
- copy_rates_from - recebe barras a partir de uma determinada data;
- copy_rates_from_pos - recebe barras a partir de um determinado índice;
- copy_rates_range - recebe barras no intervalo de datas especificado;
- copy_ticks_from - recebe ticks a partir de uma determinada data;
- copy_ticks_range - recebe ticks referentes ao intervalo de datas especificado.
Exemplo de um modelo pronto para uso #
Você pode encontrar esse exemplo de modelo ONNX pronto em projetos públicos. Para fazer isso, primeiro ative o MQL5 Storage no Navegador, especificando seu login MQL5 nas configurações do MetaEditor, diferenciando maiúsculas de minúsculas.
Após a ativação, localize o projeto ONNX.Price.Prediction e acesse-o por meio do comando do menu de contexto.
Em seguida, atualize o projeto a partir do MQL5 Storage.
Depois disso, o projeto estará disponível, você encontrará nele um modelo ONNX pronto, dois scripts python, um script MQL5 para rodar o projeto e o arquivo de projeto MQL5 (ONNX.Price.Prediction.mqproj).
Você mesmo pode criar um modelo ONNX usando o script PricePredictionTraining.py incluído no projeto. Para fazer isso, primeiro instale os módulos necessários a partir da linha de comando em seu computador.
python.exe -m pip install --upgrade pip
|
Depois de instalar os módulos, abra o script PricePredictionTraining.py no MetaEditor e execute-o pressionando o botão "Compile" ou a tecla F7.
Antes de executar o script python, confira se seu terminal MetaTrader 5 está conectado ao servidor com o símbolo EURUSD. Por exemplo, conecte-se ao servidor MetaQuotes-Demo e verifique a caixa de seleção "Integração com Python" nas configurações do terminal.
Durante o treinamento da rede, o MetaEditor exibirá mensagens do script Python até que o treinamento seja concluído.
Quando o resultado for 100%, o modelo ONNX estará pronto e será salvo na pasta do projeto <pasta de dados do terminal>\MQL5\Shared Projects\ONNX.Price.Prediction\Python.
Verifique o modelo resultante executando o segundo script PricePrediction.py clicando em F7.