'Don\'t use this method directly, use one of the class methods.
:param message_id: A message id to identify the trade
:param order_id: A order id to identify the order
:param recipient_order_id: A order id to identify the traded party
:param proposal_id: The ID of the trade proposal
:param timestamp: A timestamp wen this trade was created
:type message_id: MessageId
:type order_id: OrderId
:type recipient_order_id: OrderId
:type proposal_id: int
:type timestamp: Timestamp'

def __init__(self, message_id, order_id, recipient_order_id, proposal_id, timestamp):

    super(Trade, self).__init__(message_id, timestamp)
    assert isinstance(order_id, OrderId), type(order_id)
    assert isinstance(recipient_order_id, OrderId), type(recipient_order_id)
    assert isinstance(proposal_id, int), type(proposal_id)
    self._order_id = order_id
    self._recipient_order_id = recipient_order_id
    self._proposal_id = proposal_id
