Login Page - Create Account

Support Board


Date/Time: Fri, 13 Jun 2025 13:17:20 +0000



DTC Historical Data Request -

View Count: 241

[2025-06-01 21:52:04]
Chunkistator - Posts: 3
Hello Sierra Chart Support & Community,

I'm working on an external Python application to download historical price data via the DTC protocol for analysis. I've been able to successfully connect to the DTC server and perform the logon sequence, but I'm encountering a "Request is not authorized" error when I specifically request historical data.

My Setup Details:

Sierra Chart Version: [e.g., 2758 64-bit - check Help > About]
Data/Trading Service: [e.g., Teton CME Routing (via AMP)
DTC Connection Type: Standard socket connection from a Python script.
Symbol I'm trying to get data for: ESM25_FUT_CME
Data I'm trying to get: Historical tick data for periods like March-May 2025.
What Works So Far:

My Python DTC client successfully opens a socket connection to Sierra Chart on both the main port (11099) and the designated Historical Data Port (12455 as per my SC logs and settings).
The client sends an ENCODING_REQUEST (for Binary Encoding), and Sierra Chart sends back an ENCODING_RESPONSE.
The client then sends a LOGON_REQUEST (Version 8, no username/password as auth is not required in my SC DTC settings), and Sierra Chart responds with a LOGON_RESPONSE indicating success (Result Code 1, LOGON_SUCCESS). My client logs show "Logon successful to DTC Server."
The Problem:
Immediately after the successful logon to the Historical Data Port (12455), when my Python script sends a HISTORICAL_PRICE_DATA_REQUEST for the symbol ESM25_FUT_CME (for example, for the period March 3, 2025 - June 1, 2025), Sierra Chart responds with a message (type HISTORICAL_PRICE_DATA_RECORD_RESPONSE - 802) containing the text:
"Request is not authorized."

Troubleshooting I've Done / Settings Verified:

In Global Settings > Sierra Chart Data - DTC Protocol Server:
Enable DTC Protocol Server is: Yes
Listening Port is: 11099
Historical Data Port is set to: 12455 (and my SC startup log confirms "HD Server Manager | Listening on port 12455.")
Allowed Incoming IPs (List) is: Any IP
Require Authentication is: No
Require TLS is: No
I can view historical data for ESM25_FUT_CME for the desired 2025 periods directly on my Sierra Chart charts, so I believe the data is downloaded locally to my machine.
My Python script previously received "Historical data file for ESM25 not available" when I was using the wrong symbol string or when SC didn't have the data. After correcting the symbol to ESM25_FUT_CME and ensuring data was downloaded to the chart, the message changed to "Request is not authorized."
My Questions:

What could cause a HISTORICAL_PRICE_DATA_REQUEST to be "not authorized" immediately after a successful logon to the correct historical data port (12455)?
Are there specific service package limitations or entitlements with [Your Data Service, e.g., Teton CME Routing] that would allow logon but restrict DTC historical data downloads?
Are there any other specific Sierra Chart settings (perhaps beyond the main DTC Protocol Server page) that control authorization for historical data requests via DTC?
Is there any further diagnostic information I can look for in Sierra Chart's Message Log that would explain this authorization failure?
Any insights or guidance would be greatly appreciated!

Thank you,
[2025-06-02 08:45:18]
Sierra_Chart Engineering - Posts: 19909
Refer to:
Data and Trading Communications (DTC) Protocol Server: Restrictions

Market data is not accessible through the DTC Protocol Server.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, use the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2025-06-02 08:45:27
[2025-06-12 02:19:57]
Gradient - Posts: 143
What method did you use to encode your requests?

I've tried using pickle to make the same request but I'm not receiving a response after connecting to the server.

To post a message in this thread, you need to log in with your Sierra Chart account:

Login

Login Page - Create Account