- initialize
- login
- shutdown
- version
- last_error
- account_info
- terminal_info
- symbols_total
- symbols_get
- symbol_info
- symbol_info_tick
- symbol_select
- market_book_add
- market_book_get
- market_book_release
- copy_rates_from
- copy_rates_from_pos
- copy_rates_range
- copy_ticks_from
- copy_ticks_range
- orders_total
- orders_get
- order_calc_margin
- order_calc_profit
- order_check
- order_send
- positions_total
- positions_get
- history_orders_total
- history_orders_get
- history_deals_total
- history_deals_get
Módulo MetaTrader para integração com Python
A MQL5 foi projetada para desenvolver aplicativos de negociação de alto desempenho nos mercados financeiros e não possui análogos entre outras linguagens especializadas para algotrading. A sintaxe e a velocidade dos programas em MQL5 se aproximam mais das do C++, possui suporte a Opencl e integração com o MS Visual Studio, dispõe de bibliotecas de estatística, lógica difusa e ALGLIB. No ambiente de desenvolvimento do MetaEditor existe também um suporte nativo a bibliotecas .NET com a importação inteligente de funções sem escrever wrappers especiais, podem-se usar DLL de C++ de terceiros. Arquivos de códigos fonte em C++ (CPP e H) podem ser editados e compilados em DLLs diretamente do editor, basta usar o Microsoft Visual Studio instalado no computador do usuário.
Python é uma linguagem de programação moderna de alto nível para o desenvolvimento de scripts e aplicativos. Possui muitas bibliotecas para aprendizado de máquina, automação de processos, análise de dados e visualização.
O pacote MetaTrader para Python é projetado para o recebimento conveniente e rápido de informações de negociação através de comunicação entre processos diretamente do terminal MetaTrader 5. Os dados recebidos desta maneira podem ser utilizados para cálculos estatísticos e aprendizado de máquina.
Instalando o pacote na linha de comando:
pip install MetaTrader5 |
Atualizando o pacote na linha de comando:
pip install --upgrade MetaTrader5 |
Funções para integração de MetaTrader 5 e Python
Função |
Ação |
---|---|
Estabelece a conexão com o terminal MetaTrader 5 |
|
Conecta-se a uma conta de negociação com os parâmetros especificados |
|
Fecha a conexão estabelecida anteriormente com o terminal MetaTrader 5 |
|
Retorna a versão do terminal MetaTrader 5 |
|
Retorna informações sobre o último erro |
|
Obtém informações atuais sobre a conta de negociação |
|
Obtém o estado e os parâmetros do terminal MetaTrader 5 conectado |
|
Obtém o número total de instrumentos financeiros no terminal MetaTrader 5 |
|
Obtém todos os instrumentos financeiros do terminal MetaTrader 5 |
|
Obtém informações sobre o instrumento financeiro especificado |
|
Obtém o último tick do instrumento financeiro especificado |
|
Seleciona o símbolo na janela MarketWatch ou remove o símbolo deste janela |
|
Faz com que o terminal MetaTrader 5 receba eventos sobre mudanças no livro de ofertas para o símbolo especificado |
|
Retorna uma tupla desde BookInfo contendo os registros do livro de ofertas para o símbolo especificado |
|
Cancela a subscrição do terminal MetaTrader 5 para receber eventos sobre alterações no livro de ofertas para o símbolo especificado |
|
Recebe barras do terminal MetaTrader 5, a partir da data especificada |
|
Recebe barras do terminal MetaTrader 5, a partir do índice especificado |
|
Recebe barras a partir do terminal MetaTrader 5, no intervalo de datas especificado |
|
Recebe ticks do terminal MetaTrader 5, a partir da data especificada |
|
Recebe ticks a partir do terminal MetaTrader 5, no intervalo de datas especificado |
|
Obtém o número de ordens ativas. |
|
Obtém ordens ativas com a capacidade de filtrar por símbolo ou ticket |
|
Retorna o tamanho da margem na moeda da conta para a operação de negociação especificada |
|
Retorna o valor do lucro na moeda da conta para a operação de negociação especificada |
|
Verifica que há fundos suficientes para realizar a operação de negociação requerida |
|
Envia do terminal para o servidor de negociação uma solicitação para concluir uma operação de negociação. |
|
Obtém o número de posições abertas |
|
Obtém posições abertas com a capacidade de filtrar por símbolo ou bilhete |
|
Obtém o número de ordens no histórico de negociação no intervalo especificado |
|
Obtém ordens do histórico de negociação com a capacidade de filtrar por bilhete ou posição |
|
Obtém o número de transações no histórico de negociação no intervalo especificado |
|
Obtém transações do histórico de negociação com a capacidade de filtrar por bilhete ou posição |
Exemplo de conexão do Python ao MetaTrader 5
- Baixe a última versão do Python 3.8 da página https://www.python.org/downloads/windows
- Ao instalar o Python, marque a caixa "Add Python 3.8 to PATH%" para poder executar scripts Python a partir da linha de comando.
- Instale o módulo MetaTrader5 a partir da linha de comando
pip install MetaTrader5 |
- Adicione os pacotes matplotlib e pandas
pip install matplotlib
|
- Execute o script de teste
from datetime import datetime
|
- Obtemos os dados e o gráfico
[2, 'MetaQuotes-Demo', '16167573']
|