def METHOD_NAME(
    self,
    side: str,
    order_type: Union[LimitOrder, LimitOnCloseOrder, MarketOnCloseOrder],
    order: Type[BetfairOrder] = BetfairOrder,
    sep: str = config.order_sep,
    context: dict = None,
    notes: collections.OrderedDict = None,
) -> BetfairOrder:
    if order_type.EXCHANGE != order.EXCHANGE:
        raise OrderError(
            "Incorrect order/order_type exchange combination for trade.create_order"
        )
    order = order(
        trade=self,
        side=side,
        order_type=order_type,
        handicap=self.handicap,
        sep=sep,
        context=context,
        notes=notes,
    )
    self.orders.append(order)
    return order