Em 4 de setembro, às 11:08, percorri todos os contratos perpétuos ainda em negociação no exchangeInfo da interface de contratos da Binance, querendo verificar uma coisa sobre a qual quase ninguém fala: no mesmo contrato, ao colocar uma ordem limite e uma ordem a mercado, a quantidade máxima por ordem é a mesma?

Não é a mesma. A própria interface divide isso em dois filtros: LOT_SIZE controla o limite para todos os tipos de ordens desse contrato, enquanto MARKET_LOT_SIZE controla separadamente apenas as ordens a mercado — essa é a definição escrita na documentação de desenvolvedores da Binance, não é um palpite meu. Havia 569 contratos perpétuos com esses dois filtros ao mesmo tempo e ainda em negociação; comparei um por um, e em nenhum caso o limite das ordens a mercado foi maior ou igual ao limite das ordens limite; em todos, foi menor.

BTCUSDT: uma ordem limite pode ter no máximo 1000 contratos, enquanto uma ordem a mercado pode ter no máximo 120 contratos, uma diferença de 8,33 vezes. O último preço capturado às 11:12 era 80847,10 dólares; convertendo o limite de 120 contratos a mercado, isso equivale a uma ordem na faixa de quase 10 milhões de dólares — isso vale apenas para aquele momento, depois o preço muda, mas os 1000 e 120 contratos não mudam com o preço. ETHUSDT é 10000 contra 2000, uma diferença de 5 vezes. O caso mais extremo que encontrei foi ETHBTC, 10000 contra 60, uma diferença de 166,67 vezes.

Isso significa que o volume que uma ordem limite pode atingir nem sempre pode ser absorvido por uma ordem a mercado: se você quiser zerar de uma vez uma posição de BTC maior que 120 contratos com uma ordem a mercado, a interface simplesmente rejeita a ordem, e você só pode dividi-la manualmente; e justamente esse fracionamento, em movimentos rápidos de mercado, empurra o preço de execução cada vez mais para longe. Como esses dois limites diferem tantas vezes, não encontrei uma explicação pública da Binance para o motivo; só confirmei que essa discrepância existe de fato.

$BTC #contratos da Binance