> For the complete documentation index, see [llms.txt](https://docs.variational.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.variational.io/omni/trading/order-types.md).

# Order Types

## Market Orders

A market order is an order to buy or sell an asset immediately at the current quoted price. Traders can set a [slippage limit](/omni/trading/slippage.md) to exercise control over their fill price.

## Limit Orders

A limit order on Omni is an all-or-nothing order to buy or sell an asset at a specific price or better. Traders define a size and limit price in their order, and the order will only be filled at the set limit price or better. Limit orders execute once OLP's quoted price crosses the set limit price.

Limit orders on Omni are currently all-or-nothing; either the quoted price crosses the limit price and the whole order is filled, or the quoted price does not cross the limit price and none of the order is filled. Partial fills are on the [roadmap](/getting-started/roadmap.md).

{% hint style="info" %}
Limit orders check whether the quoted price has crossed the limit price every 0.1 seconds. If the quoted price crosses the limit price for less than 0.1 seconds, it is possible for the order to not trigger.
{% endhint %}

## Trigger Orders

A trigger order submits a market order when the mark price crosses the defined trigger price. Trigger orders do not offer any guarantee of a specific fill price, as they execute based on mark prices instead of quoted prices. However, traders still can set a [slippage limit](/omni/trading/slippage.md) to exercise some control over their fill price.

Trigger orders will only process when both the trigger condition is met and the estimated slippage is within the defined slippage limit. Otherwise, the order will remain pending.

{% hint style="warning" %}
Both limit and trigger orders expire 120 days after being placed, and will not process if expired.&#x20;
{% endhint %}

## Scale Orders

A scale order is an order type that creates multiple limit orders spread across a predefined price range. This allows you to split one large buy or sell order into a number of smaller orders across a range of prices.&#x20;

To create a scale order, input Size, Start Price, End Price, Total Orders and Size Skew.&#x20;

* Size: The total value of the order.
* Start Price: The price of the first order.
* End Price: The price of the last order.
* Total Orders: The number of individual orders (maximum 20 per scale order; 50 per instrument).
* Size Skew: Position size weighting across the scale (0.1 to 10. A skew of ‘1’ creates a series of equal sized orders; a skew of 10 means that the last order will be 10x larger than the first order; 0.1 makes the last order one tenth the size of the first).

{% hint style="info" %}
A scale order places limit orders which are all-or-nothing and execute based on the [Quoted Price](https://docs.variational.io/omni/trading/quoted-index-and-mark-prices#quoted-prices).
{% endhint %}

## Comparison

|                                           | Market Orders                                                                                                                                                                 | Limit Orders                                                                                                                                                                 | Trigger Orders                                                                                                                                                                |
| ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Speed of Execution**                    | <p>Immediately.</p><p>Market orders execute at the current quoted price, unless the order is rejected due to a slippage limit.</p>                                            | <p>It depends.</p><p>Limit orders may execute quickly if the market quickly crosses the set limit price, or never if the quoted price never reaches the limit price.</p>     | <p>It depends.</p><p>Trigger orders may execute quickly if the market quickly crosses the set trigger price, or never if the mark price never reaches the trigger price.</p>  |
| **Level of Control over Execution Price** | <p>Low.</p><p>Traders can set a slippage limit to reject orders with a quote that deviates too significantly from the mark price, but can not set a specific entry price.</p> | <p>High.</p><p>Traders can set a specific price that they're willing to open their orders at, and the order is only executed when OLP's quoted price reaches that level.</p> | <p>Medium.<br><br>Traders control the specific trigger price that initiates the order, but the final fill price is not guaranteed and may deviate from the trigger price.</p> |
