Login Page - Create Account

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
imageDTC_request.png / V - Attached On 2025-03-07 17:01:22 UTC - Size: 29.73 KB - 25 views