# forge.types.OrderRequest

```python
forge.types.OrderRequest(symbol: str | None = None, side: OrderSide = 'buy', type: OrderType = 'market', size: float | None = None, price: float | None = None, stop_price: float | None = None, sl: float | None = None, tp: float | None = None, tag: str | None = None, tif: str | None = None, oco: str | None = None) -> None
```

An order a strategy describes before sending it: what ``ctx.check`` and ``calc.margin`` take.

``symbol`` is the primary symbol when ``None``. ``size`` is in lots, and ``None`` means the
run's sizing rule decides. ``price`` is a limit price and ``stop_price`` a stop trigger. ``sl``
and ``tp`` are absolute prices. ``oco`` names a one-cancels-other group: when one order of the
group fills, expires or is cancelled, the rest of it are cancelled.

Since Forge API 1.
