> ## 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.

# Reduce-only

> Um sinalizador que garante que uma ordem só pode encolher uma posição, nunca abrir nem inverter uma — e o corte automático que mantém essa promessa à medida que a posição muda.

Reduce-only (apenas redução) é um sinalizador que se associa a uma ordem. Garante que a ordem só pode diminuir uma posição existente — nunca abrir uma nova, nunca aumentar uma, nunca passar a conta para o outro lado.

A falha que evita é específica e cara. Coloca uma venda para fechar uma posição longa. Antes de ela executar, a longa fecha-se por outra via — dispara um stop, corre uma liquidação, fecha-a à mão. A venda passa a ser uma ordem para abrir uma posição **curta**. Sem o sinalizador, executa, e fica com uma posição curta que nunca pretendeu deter, descoberta mais tarde.

<h2 id="checks-at-submission">
  Verificações na submissão
</h2>

Uma ordem com o sinalizador é rejeitada de imediato se qualquer uma das condições seguintes se verificar:

| Verificação                 | Regra                                                                                  |
| --------------------------- | -------------------------------------------------------------------------------------- |
| **Existe posição**          | Tem de existir uma posição nesse mercado                                               |
| **Direção**                 | A ordem tem de ser contrária à posição que reduz                                       |
| **Direção no modo `Hedge`** | Tem de existir posição no lado concreto que está a ser fechado                         |
| **Tamanho**                 | Uma única ordem não pode exceder o tamanho atual da posição                            |
| **Precisão**                | Se a posição arredondar para zero no incremento mínimo do mercado, a ordem é rejeitada |

No modo `One-Way` a regra de direção é simples: as posições longas só aceitam vendas, as curtas só compras. No modo `Hedge` é por lado — com apenas uma posição longa aberta, uma compra reduce-only é rejeitada, porque não há nenhuma posição curta para fechar.

<h2 id="single-order-not-the-total">
  Ordem a ordem, não o total
</h2>

A verificação de tamanho aplica-se a **cada ordem individualmente**, não à soma das ordens reduce-only.

É intencional. Pode ter várias ordens reduce-only em livro a preços diferentes cuja soma excede a posição — uma forma comum e legítima de escalonar uma saída, porque só espera que algumas executem.

O que impede a redução excessiva não é a aritmética no momento da submissão, mas o que acontece a seguir.

<h2 id="automatic-trimming">
  Corte automático
</h2>

Sempre que a sua posição encolhe de facto, o protocolo reavalia todas as ordens reduce-only desse lado. Se a soma passar a exceder a posição, as ordens são **cortadas** para caber.

<div className="dg" data-dg="reduce-only-trim">
  <div className="dg-c" style={{aspectRatio:"720 / 300"}}>
    <svg className="dg-w" viewBox="0 0 720 300" aria-hidden="true">
      <path className="dg-wire dg--sky dg-soft" d="M 145.00 40.00 L 178.14 106.28" />

      <path className="dg-head dg--sky" d="M 181.00 112.00 L 174.20 108.24 L 182.07 104.31 Z" />

      <path className="dg-wire dg--sky dg-soft" d="M 145.00 88.00 L 175.67 108.45" />

      <path className="dg-head dg--sky" d="M 181.00 112.00 L 173.23 112.11 L 178.12 104.79 Z" />

      <path className="dg-wire dg--sky dg-soft" d="M 145.00 136.00 L 175.67 115.55" />

      <path className="dg-head dg--sky" d="M 181.00 112.00 L 178.12 119.21 L 173.23 111.89 Z" />

      <path className="dg-wire dg--sky dg-soft" d="M 145.00 184.00 L 178.14 117.72" />

      <path className="dg-head dg--sky" d="M 181.00 112.00 L 182.07 119.69 L 174.20 115.76 Z" />

      <path className="dg-wire dg--blue" d="M 340.00 112.00 L 361.60 112.00" />

      <path className="dg-head dg--blue" d="M 368.00 112.00 L 361.60 116.40 L 361.60 107.60 Z" />

      <path className="dg-wire" d="M 546.00 112.00 L 574.00 77.00" />

      <path className="dg-head" d="M 578.00 72.00 L 577.44 79.75 L 570.57 74.25 Z" />

      <path className="dg-wire dg--orange" d="M 546.00 112.00 L 574.00 147.00" />

      <path className="dg-head dg--orange" d="M 578.00 152.00 L 570.57 149.75 L 577.44 144.25 Z" />
    </svg>

    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"6.6667%",width:"19.4444%",height:"13.3333%"}}><span className="dg-t">Uma execução</span></div>
    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"22.6667%",width:"19.4444%",height:"13.3333%"}}><span className="dg-t">Um stop dispara</span></div>
    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"38.6667%",width:"19.4444%",height:"13.3333%"}}><span className="dg-t">Liquidação</span></div>
    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"54.6667%",width:"19.4444%",height:"13.3333%"}}><span className="dg-t">Desalavancagem</span></div>
    <div className="dg-b dg--blue" style={{left:"25.8333%",top:"25.3333%",width:"20.8333%",height:"24.0000%"}}><span className="dg-t">A posição diminui</span><span className="dg-s">seja como for</span></div>
    <div className="dg-b dg--yellow dg-round" style={{left:"51.6667%",top:"28.0000%",width:"23.6111%",height:"18.6667%"}}><span className="dg-t">Total reduce-only excede a posição?</span></div>
    <div className="dg-b" style={{left:"80.8333%",top:"16.0000%",width:"19.1667%",height:"16.0000%"}}><span className="dg-t">Sem alteração</span></div>
    <div className="dg-b dg--orange" style={{left:"80.8333%",top:"42.6667%",width:"19.1667%",height:"16.0000%"}}><span className="dg-t">Cortadas à medida</span></div>
    <div className="dg-b dg--green dg-left" style={{left:"0.0000%",top:"75.3333%",width:"48.8889%",height:"18.6667%"}}><span className="dg-t">Contam para o total</span><span className="dg-s">Ordens condicionais ativadas com o sinalizador</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"51.1111%",top:"75.3333%",width:"48.8889%",height:"18.6667%"}}><span className="dg-t">Não contam</span><span className="dg-s">Ordens comuns que por acaso estão a fechar</span></div>
  </div>
</div>

É isto que faz a garantia aguentar sob qualquer sequência de acontecimentos. Não importa como a posição encolheu — uma execução, um stop, uma liquidação, uma desalavancagem. No momento em que encolhe, as ordens que estão em livro contra ela são ajustadas à medida, e o total que pode executar nunca excede a posição detida.

As ordens condicionais já ativadas que tenham o sinalizador contam para o total. As ordens comuns que por acaso estejam na direção de fecho **não** contam — uma ordem sem o sinalizador não é uma promessa, e o protocolo não a trata como tal.

<Note>
  O corte é despoletado pela alteração efetiva da posição, não pela colocação de mais uma ordem. Submeter uma venda comum a par das vendas reduce-only não muda nada até executar — nesse momento a posição desce e o corte corre.
</Note>

<h2 id="no-margin-is-reserved">
  Não é reservada margem
</h2>

Uma ordem reduce-only não reserva margem e é aceite mesmo com o saldo disponível a zero.

Isto conta sobretudo na situação exata em que faz falta. Uma conta perto da liquidação não tem margem livre e, se fechar exigisse reservar alguma, não poderia colocar a ordem que a salvaria. Como a ordem só pode reduzir risco, exigir colateral para a colocar seria ao contrário.

<h2 id="where-it-is-used">
  Onde é usado
</h2>

* **Manualmente**, quando quer fechar e quer a certeza de que a ordem não pode fazer mais nada.
* **Nas ordens de [take-profit e stop-loss](/pt/trading/tp-sl)**, que são reduce-only por natureza — uma ordem protetora capaz de abrir uma posição seria uma armadilha.
* **Nas estratégias automatizadas**, onde o sinalizador é a diferença entre uma estratégia que sai de forma limpa e outra que inverte em silêncio depois de um fecho inesperado.

<Warning>
  Reduce-only garante que uma ordem não pode aumentar a sua posição. Não garante execução. Num movimento rápido, uma ordem limitada reduce-only pode não executar de todo, e ser cortada para um tamanho menor não é uma falha — é o sinalizador a fazer o seu trabalho.
</Warning>

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

<CardGroup cols={2}>
  <Card title="Take-profit e stop-loss" href="/pt/trading/tp-sl">
    Ordens protetoras que são reduce-only por construção.
  </Card>

  <Card title="Ordens condicionais" href="/pt/trading/conditional-orders">
    Como o sinalizador é reverificado no momento em que uma ativação converte a ordem.
  </Card>

  <Card title="Tipos de ordem" href="/pt/trading/order-types">
    As formas de ordem a que o sinalizador pode ser associado.
  </Card>

  <Card title="Quick reverse" href="/pt/trading/quick-reverse">
    Inverter a direção de propósito, que é a intenção oposta.
  </Card>
</CardGroup>
