async def place_conditional_order(self, market: str, side: str, size: float, type: str='stop', limit_price: float=None, reduce_only: bool=False, cancel: bool=True, trigger_price: float=None, trail_value: float=None) -> dict:
    "\n        To send a Stop Market order, set type='stop' and supply a trigger_price\n        To send a Stop Limit order, also supply a limit_price\n        To send a Take Profit Market order, set type='trailing_stop' and supply a trigger_price\n        To send a Trailing Stop order, set type='trailing_stop' and supply a trail_value\n        "
    assert (type in ('stop', 'take_profit', 'trailing_stop'))
    assert ((type not in ('stop', 'take_profit')) or (trigger_price is not None)), 'Need trigger prices for stop losses and take profits'
    assert ((type not in 'trailing_stop') or ((trigger_price is None) and (trail_value is not None))), 'Trailing stops need a trail value and cannot take a trigger price'
    return (await self._request('POST', 'conditional_orders', json={'market': market, 'side': side, 'triggerPrice': trigger_price, 'size': size, 'reduceOnly': reduce_only, 'type': 'stop', 'cancelLimitOnTrigger': cancel, 'orderPrice': limit_price}))
To send a Stop Market order, set type='stop' and supply a trigger_price
To send a Stop Limit order, also supply a limit_price
To send a Take Profit Market order, set type='trailing_stop' and supply a trigger_price
To send a Trailing Stop order, set type='trailing_stop' and supply a trail_value
async def place_conditional_order(self, market: str, side: str, size: float, type: str='stop', limit_price: float=None, reduce_only: bool=False, cancel: bool=True, trigger_price: float=None, trail_value: float=None) -> dict:
    "\n        To send a Stop Market order, set type='stop' and supply a trigger_price\n        To send a Stop Limit order, also supply a limit_price\n        To send a Take Profit Market order, set type='trailing_stop' and supply a trigger_price\n        To send a Trailing Stop order, set type='trailing_stop' and supply a trail_value\n        "
    assert (type in ('stop', 'take_profit', 'trailing_stop'))
    assert ((type not in ('stop', 'take_profit')) or (trigger_price is not None)), 'Need trigger prices for stop losses and take profits'
    assert ((type not in 'trailing_stop') or ((trigger_price is None) and (trail_value is not None))), 'Trailing stops need a trail value and cannot take a trigger price'
    return (await self._request('POST', 'conditional_orders', json={'market': market, 'side': side, 'triggerPrice': trigger_price, 'size': size, 'reduceOnly': reduce_only, 'type': 'stop', 'cancelLimitOnTrigger': cancel, 'orderPrice': limit_price}))