Transforme o histórico do MT5 em um relatório.
Leia negócios reais. Separe depósitos. Exporte os resultados.
Baixar o exemplo em Python · ZIP ↓
Passo a passo por escrito
- 0:00
Transforme o histórico do MT5 em um relatório.
Este tutorial mostra como consultar o histórico de negociações do MT5, calcular resultados já contabilizados e exportar um relatório claro com Python.
- 0:15
Conecte-se em modo de consulta.
Abra mt5.mrpc.pro e selecione ConnectEx. Informe o login, a senha e o servidor da corretora da conta demo. Use TRIAL ou sua chave de API. Deixe o id opcional em branco. Usamos uma senha de investidor para acesso somente de leitura. O console guarda o id de terminal retornado.
- 0:41
Confira a moeda da conta.
Execute AccountSummary. Esta é uma conta demo em dólares americanos, com saldo de noventa e nove mil, novecentos e noventa e nove dólares e noventa e seis centavos. Apresente lucros e custos na moeda da conta.
- 1:01
Escolha um período encerrado.
Selecione DealsHistory. Preencha inputFromUtc e inputToUtc com datas terminadas em Z. Deixe os campos correspondentes de horário da corretora vazios. Esta gravação cobre de primeiro de outubro até o início de vinte e oito de outubro. Mantenha esse intervalo fixo ao consultar outras páginas.
- 1:27
Leia todas as páginas.
Após HTTP Status Code 200, verifique error primeiro. Nossa resposta não tem erro de API. Com pageSize igual a dois, a primeira resposta contém apenas dois dos treze negócios. Copie nextPageToken para pageToken e mantenha os mesmos filtros. Continue até nextPageToken ficar vazio.
- 1:53
Ordens, negócios e posições.
Uma ordem é uma instrução de negociação; um negócio registra a execução. AllHistoryOrders mostra os registros das ordens. Em DealsHistory, order corresponde ao ticket da ordem, enquanto positionId agrupa as execuções relacionadas. Aqui, uma posição tem uma entrada de zero vírgula zero dois lote e duas saídas de zero vírgula zero um lote.
- 2:23
Respeite o sinal dos valores.
Para cada negócio, some profit, commission, swap e fee exatamente como retornados. Preserve os sinais; não subtraia novamente uma comissão que já é negativa. Este fechamento rendeu dois centavos, sem custos. Inclua também as entradas, pois a corretora pode cobrar comissão na abertura.
- 2:48
Separe as movimentações de saldo.
O primeiro registro é um depósito demo de cem mil dólares. Seu tipo é BALANCE, sem ordem nem posição. Isso não é lucro de negociação. O relatório separa negócios Buy e Sell dos demais tipos. Consulte cobranças avulsas, créditos e ajustes no arquivo other-deals.
- 3:13
Confira o alcance do relatório.
Os treze registros estão presentes. Os doze negócios de compra e venda somam menos quatro centavos. Neste exemplo, commission, swap e fee são zero. O depósito fica separado. São valores contabilizados nas datas escolhidas, não lucro flutuante. Uma posição aberta antes do período pode ter custos anteriores que não aparecem neste relatório.
- 3:42
Exporte os mesmos dados com Python.
O script complementar chama o mesmo endpoint DealsHistory, percorre as páginas por cursor e verifica a contagem final. Ele usa aritmética decimal e agrupa os valores por positionId. Configure sua chave de API e o id do terminal de forma privada, em variáveis de ambiente. O script nunca abre nem fecha uma negociação.
- 4:09
Abra os três arquivos.
Execute o script com as datas UTC fixas. Ele gera trade-deals.csv, other-deals.csv e summary.json. A exportação de exemplo foi conferida com este histórico capturado. Se ocorrer um erro de API ou faltarem páginas, o script para, em vez de apresentar um total incompleto.
- 4:35
Desconecte ao terminar.
Por fim, chame Disconnect no console para liberar o terminal. Nossa sessão já está desconectada. Você consultou o histórico, separou movimentações de saldo dos resultados de negociação e exportou um relatório para conferir e reutilizar.