':type order_id: OrderId
:type recipient_order_id: OrderId
:type quantity: Quantity
:type end_transaction_timestamp: Timestamp'

def trade_tick(self, order_id, recipient_order_id, quantity, end_transaction_timestamp):

    assert isinstance(order_id, OrderId), type(order_id)
    assert isinstance(recipient_order_id, OrderId), type(recipient_order_id)
    assert isinstance(quantity, Quantity), type(quantity)
    self._logger.debug('Trading    tick    in    order    book    for    own    order    %s    vs    order    %s    (quantity:    %s)', str(order_id), str(recipient_order_id), str(quantity))
    if self.tick_exists(order_id):
        tick = self.get_tick(order_id)
        tick.quantity -= quantity
    if self.tick_exists(recipient_order_id):
        tick = self.get_tick(recipient_order_id)
        if (tick.tick.timestamp < end_transaction_timestamp):
            tick.quantity -= quantity
