> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intention.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Alterar ordens

> Alterar o preço ou o tamanho de uma ordem ativa — e porque encolhê-la mantém o seu lugar na fila enquanto todas as outras alterações o perdem.

Pode alterar o **preço** e o **tamanho** de uma ordem que ainda não executou na totalidade. O que acontece por baixo depende da alteração que fizer, e a diferença tem consequências reais para o lugar que ocupa na fila.

<h2 id="two-paths">
  Dois caminhos
</h2>

<div className="dg" data-dg="modify-paths">
  <div className="dg-c" style={{aspectRatio:"720 / 360"}}>
    <svg className="dg-w" viewBox="0 0 720 360" aria-hidden="true">
      <path className="dg-wire dg--blue" d="M 144.00 58.00 L 165.60 58.00" />

      <path className="dg-head dg--blue" d="M 172.00 58.00 L 165.60 62.40 L 165.60 53.60 Z" />

      <path className="dg-wire dg--green" d="M 330.00 58.00 L 355.24 35.28" />

      <path className="dg-head dg--green" d="M 360.00 31.00 L 358.19 38.55 L 352.30 32.01 Z" />

      <path className="dg-wire dg--orange" d="M 330.00 58.00 L 356.76 103.48" />

      <path className="dg-head dg--orange" d="M 360.00 109.00 L 352.96 105.71 L 360.55 101.25 Z" />
    </svg>

    <div className="dg-band" style={{left:"0.0000%",top:"47.7778%",width:"100.0000%",height:"26.6667%"}}><span className="dg-cap">Tamanho é o remanescente</span></div>
    <div className="dg-b dg--blue" style={{left:"0.0000%",top:"8.3333%",width:"19.4444%",height:"15.5556%"}}><span className="dg-t">Pedido de alteração</span></div>
    <div className="dg-b dg--yellow dg-round" style={{left:"24.4444%",top:"7.2222%",width:"20.8333%",height:"17.7778%"}}><span className="dg-t">O que mudou?</span></div>
    <div className="dg-b dg--green dg-left" style={{left:"50.5556%",top:"0.0000%",width:"49.4444%",height:"17.2222%"}}><span className="dg-t">Só o tamanho desceu</span><span className="dg-s">Editada no lugar — lugar na fila mantido</span></div>
    <div className="dg-b dg--orange dg-left" style={{left:"50.5556%",top:"21.6667%",width:"49.4444%",height:"17.2222%"}}><span className="dg-t">Preço alterado, ou tamanho maior</span><span className="dg-s">Cancelar e colocar nova — lugar na fila perdido</span></div>
    <div className="dg-b dg--sky" style={{left:"2.2222%",top:"53.3333%",width:"30.7407%",height:"15.5556%"}}><span className="dg-t">Uma ordem de 10 que executou 4 tem 6 por executar</span></div>
    <div className="dg-b dg--sky" style={{left:"34.6296%",top:"53.3333%",width:"30.7407%",height:"15.5556%"}}><span className="dg-t">Alterar para 5 — uma redução</span></div>
    <div className="dg-b dg--sky" style={{left:"67.0370%",top:"53.3333%",width:"30.7407%",height:"15.5556%"}}><span className="dg-t">Alterar para 8 — um aumento, ainda que abaixo dos 10 iniciais</span></div>
    <div className="dg-b dg--orange dg-left" style={{left:"0.0000%",top:"80.0000%",width:"100.0000%",height:"15.5556%"}}><span className="dg-t">A substituição é ordenada, não atómica</span><span className="dg-s">A ordem nova só é tentada se o cancelamento correu bem, e pode ainda falhar por margem — ficando cancelada e sem nada em livro.</span></div>
  </div>
</div>

**Reduzir o tamanho é editado no lugar.** A ordem fica onde está no livro e mantém a prioridade. Nada é cancelado e nada é recolocado.

**Tudo o resto é um cancelamento seguido de uma ordem nova.** Alterar o preço não tem realmente como manter o lugar na fila: um preço diferente é uma posição diferente no livro. Aumentar o tamanho é outra coisa — a quantidade acrescentada nunca esteve na fila, mas a quantidade que já estava em livro esteve. Hoje a ordem é recolocada por inteiro em qualquer dos casos, pelo que um aumento também lhe custa a prioridade que já tinha conquistado sobre o tamanho original.

Esta divisão é deliberada e distingue-se das plataformas que tratam todas as alterações como cancelar e substituir. Encolher uma ordem pede estritamente menos do que aquilo para que já tinha prioridade, pelo que não há razão nenhuma para o fazer pagar por isso.

<h2 id="why-queue-position-matters">
  A importância da posição na fila
</h2>

Num dado nível de preço, as ordens executam pela ordem de chegada. Uma ordem à frente de um nível executa antes de outra atrás dela — e num nível movimentado, a diferença entre a frente e o fundo é a diferença entre executar e ver o mercado ir-se embora.

Para um market maker é este o jogo todo. Reduzir o tamanho para gerir risco sem perder o lugar é materialmente diferente de ter de voltar para o fim da fila, atrás de todos os que chegaram enquanto decidia.

<h2 id="what-size-means-here">
  O que significa «tamanho» aqui
</h2>

As comparações de tamanho usam o **tamanho remanescente**, não o tamanho que submeteu originalmente.

Uma ordem de 10 que executou 4 tem 6 por executar. Alterá-la para 5 é uma redução — editada no lugar. Alterá-la para 8 é um aumento face a 6, ainda que seja menos do que os 10 originais — cancelar e substituir.

<h2 id="the-cancel-and-replace-path-can-partially-fail">
  O caminho de cancelar e substituir pode falhar a meio
</h2>

Quando uma alteração segue o caminho de cancelar e substituir, os dois passos são ordenados mas não atómicos:

* **A ordem nova só é tentada se o cancelamento tiver corrido bem.** Não é possível acabar com as duas.
* **A ordem nova pode ainda assim falhar** — na maioria das vezes por margem, já que o mercado pode ter-se mexido entre os dois passos.

O que significa que há um desfecho possível e que vale a pena prever: **a ordem original é cancelada e a substituta não existe.** Não executa em duplicado, mas também não fica nada no livro.

<Warning>
  Em qualquer coisa sensível ao tempo, não assuma que uma alteração foi bem-sucedida. Confirme que a ordem resultante existe antes de agir no pressuposto de que continua a ter uma ordem ativa nesse nível.
</Warning>

<h2 id="timing">
  Tempo de aplicação
</h2>

Uma redução de tamanho no lugar aplica-se no **bloco atual** — não há espera.

As alterações de preço e os aumentos de tamanho seguem o caminho de dois passos e ficam sujeitos ao mesmo [sequenciamento](/pt/trading/tx-sequencing) que qualquer cancelamento e qualquer ordem nova. O cancelamento corre na fase de cancelamentos, à frente das ordens agressoras do mesmo bloco, e é isso que impede que a sua cotação desatualizada seja apanhada por uma ordem que chegou ao mesmo tempo que a alteração.

A validade da ordem transita: uma ordem alterada mantém a mesma validade, que continua a reger a substituta.

<h2 id="practical-notes">
  Notas práticas
</h2>

* **Encolha à vontade.** É barato e não custa nada em prioridade.
* **Trate uma alteração de preço como uma ordem nova,** porque é isso que ela é.
* **Use [IDs de ordem do cliente](/pt/trading/client-order-id)** se alterar por via programática. Permitem-lhe confirmar o que existe depois de uma resposta ambígua, em vez de o inferir.
* **Cancele e recoloque explicitamente** quando alterar vários campos de uma vez — obtém o mesmo resultado com um tratamento de falhas mais claro.

<h2 id="where-to-go-next">
  Para onde ir a seguir
</h2>

<CardGroup cols={2}>
  <Card title="Livro de ordens" href="/pt/trading/order-book">
    Como a prioridade preço-tempo determina a ordem de execução num nível.
  </Card>

  <Card title="Sequenciamento de transações" href="/pt/trading/tx-sequencing">
    Porque os cancelamentos executam antes das ordens agressoras no mesmo bloco.
  </Card>

  <Card title="ID de ordem do cliente" href="/pt/trading/client-order-id">
    Confirmar o que existe depois de uma resposta ambígua.
  </Card>

  <Card title="Tipos de ordem" href="/pt/trading/order-types">
    Validade da ordem, e o que transita através de uma alteração.
  </Card>
</CardGroup>
