Execução de Ordens (Trading Agent Mpu Gandring)

Envie uma ordem aprovada pelo Risk uma vez na Bybit (CEX) ou Hyperliquid (DEX) e reconcilie a partir do registro da exchange. Use quando um ticket tiver PASS e estiver pronto para ser enviado, ou para verificar um envio cujo resultado é desconhecido.

O que é Execução de Ordens (Trading Agent Mpu Gandring)?

Esta skill permite que um agente de IA execute ordens de trading em exchanges centralizadas (CEX) como Bybit e descentralizadas (DEX) como Hyperliquid, seguindo um processo rigoroso de verificação e reconciliação. Ela garante que cada ticket aprovado pelo Risk seja enviado apenas uma vez, evitando duplicidades e protegendo o capital. A skill realiza verificações pré-envio, como frescor do ticket, alinhamento de preços com níveis de cancelamento, limites de posição aberta e arredondamento correto de quantidade e preço. Após o envio, reconcilia a partir do histórico de ordens e posições, reportando resultados claros (preenchido, parcial, rejeitado ou desconhecido) e gerando um registro de execução. Ela também impõe limites rígidos de segurança: nunca expõe chaves de API, não permite depósitos/saques/transferências, não altera limites de risco e não cancela stops sem um ticket. A comunicação com o usuário é feita em formato curto e padronizado, com fusos horários UTC e local.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aabrur/trading-agent-mpu-gandring/tree/HEAD/skills/order-execution

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Execução de Ordens (Trading Agent Mpu Gandring) faz?

A execução é o único assento que escreve na exchange. Todos os outros assentos apenas leem.

Entrevista inicial (faça uma pergunta de cada vez)

  1. Plataforma: CEX Bybit (V5 linear USDT perps) ou DEX Hyperliquid (perps).
  2. Rede: testnet ou mainnet. Testnet é o padrão. Mainnet precisa de um "sim" digitado.
  3. Conta: para Bybit, a conta principal ou uma subconta dedicada (recomenda-se subconta). Para Hyperliquid, o endereço da carteira principal mais uma carteira API aprovada. Nunca pegue a chave privada da carteira principal.
  4. Modo de aprovação: aprovar cada ticket por ID no chat, ou enviar automaticamente todo Risk PASS (trading automático). O modo automático precisa de um "sim" digitado e do stop diário do risk-gate.
  5. Onde o bot executa: em um computador cuja região seja permitida pela exchange. Se a exchange retornar um bloqueio de país ou região (HTTP 403), pare e peça ao usuário para executá-lo em uma máquina permitida. Nunca use VPN ou proxy sem a escolha explícita do usuário.

O usuário coloca as credenciais em um cofre de segredos ou variáveis de ambiente e nunca as cola no chat:

  • Bybit: BYBIT_API_KEY mais BYBIT_API_SECRET (HMAC) ou BYBIT_PRIVATE_KEY_PATH (RSA). Permissão apenas de trading. Desative saques. Restrinja a um IP quando possível.
  • Hyperliquid: HL_ACCOUNT_ADDRESS e HL_API_WALLET_KEY (apenas uma carteira de agente aprovada).

Antes do primeiro envio, faça uma leitura autenticada (saldo ou posições). Se falhar, reporte apenas o código de erro, nunca o corpo ou a chave.

Lista de verificação pré-envio (cada item deve ser verdadeiro)

  1. O ticket tem um id e um Risk PASS com campos exatos: símbolo, lado, quantidade, alavancagem, stop, take-profit ou nenhum, e nível de cancelamento. No modo por ticket, o usuário também aprovou esse id nesta sessão.
  2. O ticket é recente, com menos de 30 minutos por padrão.
  3. Uma leitura ao vivo mostra que o último preço e o melhor preço no lado de entrada ainda estão do lado correto do nível de cancelamento do ticket. Caso contrário, pule o ticket e explique o motivo.
  4. Esse símbolo ainda não tem posição aberta, a menos que o ticket diga para adicionar. O número de posições abertas permanece abaixo do limite do risk-gate.
  5. Quantidade e preço são arredondados para o tamanho de lote e tick do instrumento, lidos ao vivo. A quantidade nunca é maior que a do ticket.
  6. Um ID de cliente novo é registrado antes do envio. Na Bybit, é orderLinkId, alfanumérico, único. Na Hyperliquid, é cloid.

Se qualquer item falhar, não envie. Nomeie o item que falhou e devolva.

Construindo a ordem

  • Bybit: modo unidirecional (positionIdx 0). Defina a alavancagem para o valor do ticket primeiro. O erro 110043 significa que já está definido, então continue. Em seguida, envie uma ordem limite IOC com um limite de cerca de 10 bps acima do melhor preço, arredondada para o tick, com stopLoss (slTriggerBy=MarkPrice). Adicione takeProfit apenas se o ticket nomear um.
  • Hyperliquid: use o índice do ativo do meta ao vivo. Envie uma ordem limite IOC a um preço limitado por slippage. Agrupe a entrada com seu stop, e com um take-profit apenas se fornecido, em uma única ação normalTpsl.
  • Um ticket, um envio. Nunca agrupe tickets não relacionados.

Após o envio

  • Se retCode ou status for OK, leia o histórico de ordens pelo ID, depois posições e ordens abertas. Relate os números da exchange: preço médio de preenchimento, quantidade preenchida, taxa, stop colocado e ID da ordem. Inclua UTC e o horário local do usuário.
  • Um timeout, erro de transporte ou resultado não claro é desconhecido, não falha. Nunca reenvie. Reconcilie a partir do histórico de ordens pelo ID do cliente, mais a posição. Informe à mesa que o envio não está confirmado até que o registro o mostre.
  • Um envio rejeitado (um código de erro) é uma falha. Relate apenas o código e não tente novamente com uma ordem alterada.
  • Escreva um registro de execução por ticket em execution/<UTC-time>-<ticket-id>.md.
  • Derivação de relógio (Bybit 10002) pode ser corrigida com um recv_window maior ou uma sincronização de tempo. Não é motivo para reenviar.

Limites

  • Nunca imprima, registre em log ou confirme chaves de API, segredos, conteúdo PEM ou corpos de erro completos. Corpos de erro podem ecoar a chave.
  • Nunca deposite, saque ou transfira fundos.
  • Nunca altere limites de risco ou dimensione uma negociação. Um ticket errado volta para o Risk.
  • Nunca feche, cancele ou mova um stop sem um ticket. Se uma posição for fechada, cancele seu stop órfão e reporte que o fez.
  • Sem promessas de lucro em nenhum relatório.

Formato do relatório (curto)

EXECUTION | <ticket-id> | <plataforma> <rede> | <UTC> (<local>) sent: <símbolo> <lado> <quantidade> IOC limit <px> lev <x> stop <sl> tp <tp|none> clientId <id> result: <Preenchido|Parcial|Código de rejeição|Desconhecido> avg <px> qty <q> fee <f> orderId <id> reconciled: position <lado size avg>, stop order <id> Não acionado

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Habilidades Relacionadas