Support Board
Date/Time: Sat, 19 Apr 2025 10:42:42 +0000
Post From: DTC request and response
[2025-03-07 17:01:30] |
Fungraphic72 - Posts: 16 |
I tested, everything seems to work but I have no data in response. I tested with the Empty symbol; then with MESH5 and MESH5.CME I also tested with the username and password of my broker account and still no data. Here is the structure of my python classes: from dtc.enums.message_types import MessageTypes from lib.base_message_type import BaseMessageType class HistoricalTradesRequest(BaseMessageType): def __init__(self, request_id=None, symbol=None, trade_account=None, start_date_time=None): self.Type = MessageTypes.HISTORICAL_TRADES_REQUEST self.RequestID = request_id self.Symbol = symbol self.TradeAccount = trade_account self.StartDateTime = start_date_time @staticmethod def from_message_short(message_obj): packet = message_obj.get('F') return HistoricalTradesRequest( request_id=packet[0], symbol=packet[1], trade_account=packet[2], start_date_time=packet[3] ) @staticmethod def from_message_long(message_obj): return HistoricalTradesRequest( request_id=message_obj.get('RequestID'), symbol=message_obj.get('Symbol'), trade_account=message_obj.get('TradeAccount'), start_date_time=message_obj.get('StartDateTime') ) @staticmethod def from_message(message_obj): if 'F' in message_obj: return HistoricalTradesRequest.from_message_short(message_obj) else: return HistoricalTradesRequest.from_message_long(message_obj) @staticmethod def get_message_type_name(): return "HistoricalTradesRequest" from dtc.enums.message_types import MessageTypes from lib.base_message_type import BaseMessageType class HistoricalTradesResponse(BaseMessageType): def __init__(self, request_id=None, symbol=None, trade_account=None, entry_date_time=None, exit_date_time=None, entry_price=None, exit_price=None, trade_type=None, entry_quantity=None, exit_quantity=None, max_open_quantity=None, closed_profit_loss=None, maximum_open_position_loss=None, maximum_open_position_profit=None, commission=None): self.Type = MessageTypes.HISTORICAL_TRADES_RESPONSE self.RequestID = request_id self.Symbol = symbol self.TradeAccount = trade_account self.EntryDateTime = entry_date_time self.ExitDateTime = exit_date_time self.EntryPrice = entry_price self.ExitPrice = exit_price self.TradeType = trade_type self.EntryQuantity = entry_quantity self.ExitQuantity = exit_quantity self.MaxOpenQuantity = max_open_quantity self.ClosedProfitLoss = closed_profit_loss self.MaximumOpenPositionLoss = maximum_open_position_loss self.MaximumOpenPositionProfit = maximum_open_position_profit self.Commission = commission @staticmethod def from_message_short(message_obj): packet = message_obj.get('F') return HistoricalTradesResponse( request_id=packet[0], symbol=packet[1], trade_account=packet[2], entry_date_time=packet[3], exit_date_time=packet[4], entry_price=packet[5], exit_price=packet[6], trade_type=packet[7], entry_quantity=packet[8], exit_quantity=packet[9], max_open_quantity=packet[10], closed_profit_loss=packet[11], maximum_open_position_loss=packet[12], maximum_open_position_profit=packet[13], commission=packet[14] ) @staticmethod def from_message_long(message_obj): return HistoricalTradesResponse( request_id=message_obj.get('RequestID'), symbol=message_obj.get('Symbol'), trade_account=message_obj.get('TradeAccount'), entry_date_time=message_obj.get('EntryDateTime'), exit_date_time=message_obj.get('ExitDateTime'), entry_price=message_obj.get('EntryPrice'), exit_price=message_obj.get('ExitPrice'), trade_type=message_obj.get('TradeType'), entry_quantity=message_obj.get('EntryQuantity'), exit_quantity=message_obj.get('ExitQuantity'), max_open_quantity=message_obj.get('MaxOpenQuantity'), closed_profit_loss=message_obj.get('ClosedProfitLoss'), maximum_open_position_loss=message_obj.get('MaximumOpenPositionLoss'), maximum_open_position_profit=message_obj.get('MaximumOpenPositionProfit'), commission=message_obj.get('Commission') ) @staticmethod def from_message(message_obj): if 'F' in message_obj: return HistoricalTradesResponse.from_message_short(message_obj) else: return HistoricalTradesResponse.from_message_long(message_obj) @staticmethod def get_message_type_name(): return "HistoricalTradesResponse" Here is a screen of the sierra messagelog. Date Time Of Last Edit: 2025-03-07 17:05:34
|
![]() |