Dos dados ao ao vivo

APIs de corretora, exchange e dados

5 min

Para automatizar fora da MetaTrader, você se conecta a dados e corretoras por APIs. Dois estilos de comunicação dominam, e servem a necessidades diferentes.

REST versus WebSocket

  • APIs REST — requisição/resposta sobre HTTP. Você pede algo (candles recentes, saldo da conta, enviar uma ordem) e recebe uma resposta. Perfeito para ações e snapshots; você consulta (poll) por atualizações, o que adiciona latência e pode bater em limites de taxa.
  • WebSockets — uma conexão persistente de mão dupla. O servidor empurra atualizações para você no instante em que acontecem — cotações ao vivo, negócios, mudanças no livro de ofertas. Essencial para qualquer estratégia que reage a preços em tempo real, porque consultar REST por ticks ao vivo é lento e desperdiçador.

Uma arquitetura comum: um stream WebSocket para dados de mercado ao vivo, e chamadas REST para enviar e gerenciar ordens e ler o estado da conta.

Um esboço conceitual

import requests

# REST: fetch recent candles (request/response)
url = "https://api.exchange.example/v1/candles"
params = {"symbol": "BTCUSD", "interval": "1h", "limit": 200}
candles = requests.get(url, params=params).json()

# WebSocket: subscribe and receive a push for every update
# ws = connect("wss://stream.exchange.example/v1")
# ws.send({"subscribe": "trades", "symbol": "BTCUSD"})
# for msg in ws: handle(msg)   # arrives in real time

As realidades que mordem

  • Autenticação — chaves de API devem ser mantidas em segredo. Nunca as comite; carregue do ambiente ou de um cofre de segredos. Use chaves somente-leitura ou restritas sempre que possível.
  • Limites de taxa (rate limits) — excedê-los e você é estrangulado ou banido no meio da estratégia. Respeite os limites documentados e recue (back off) em erros.
  • Reconexão — WebSockets caem. Um sistema ao vivo precisa reconectar e ressincronizar o estado, ou vai operar sobre uma foto desatualizada.
  • Idempotência — retentativas de rede podem enviar uma ordem em dobro. Use IDs de ordem do cliente para que uma retentativa não abra uma segunda posição.
  • Relógio e latência — suas decisões estão sempre um pouco atrás do preço ao vivo; projete para isso em vez de assumir execuções instantâneas.
Terminou de ler?
Aviso de risco

Este conteúdo tem finalidade exclusivamente educacional e informativa e não constitui recomendação de investimento, consultoria financeira, tributária ou jurídica. Operar e investir envolvem risco, incluindo a possível perda de capital. Qualquer desempenho exibido por ferramentas de terceiros é hipotético e não promessa de resultado futuro. Faça sua própria análise e considere orientação profissional antes de qualquer decisão.