Login Page - Create Account

Support Board


Date/Time: Sun, 19 May 2024 23:57:00 +0000



custom DTC Server development

View Count: 1372

[2018-12-14 12:35:06]
User12089 - Posts: 350
this is saying that there should be Template Projects/Code to bootstrap the development of custom DTC Server (the only way to integrate SC with external data feeds if one doesn't have access to the core code of SC itself.) In the software industry that's known as Reference Implementation (of standard specification)and is used frequently when somebody wants to promote an industry standard e.g. Application Server, XML Parser or well .... the DTC Protocol

It will be great to provide a C++ reference implementation of DTC Server (and optionally, also a DTC Client). Btw in terms of functionality, the DTC Server reference implementation can also be implemented to stream market data from local file - for testing purposes. That would provide a complete Template for people to bootstrap the development of their own DTC Servers and DTC Clients.

Something like that would contribute to the goal of "Spreading the Adoption of the DTC Standard/Spec" stated by SC in various documents and marketing collateral.

However I couldn't find any (but SC must have some ...).

https://dtcprotocol.org/#DTCProjects

The DTC Working Group will provide simple C++ projects which use the DTC Protocol. These will serve as examples.

These will be posted here as they become available.

The full source code will be provided.

Date Time Of Last Edit: 2018-12-16 12:12:50
[2018-12-19 11:26:35]
User12089 - Posts: 350
Hello, can somebody clarify IF and WHEN the above will be provided (ideally as MS Visual Studio Project rather than just as a bunch of standalone files). The reason I need to know ASAP the "IF" and "WHEN" is that I am starting a DTC Server development project to integrate my SC with currently unsupported data feeds. I need to know asap whether I can reuse a template / reference implementation DTC Server code from SC (which they undoubtedly have) or start from scratch and thus wasting valuable time for "boiler plate" code (I am a trader not just a software developer, so any time spent coding is not spent trading)
[2018-12-27 12:48:13]
User12089 - Posts: 350
hello, anybody there?
Date Time Of Last Edit: 2018-12-27 12:48:27
[2018-12-27 22:50:41]
Sierra Chart Engineering - Posts: 104368


The DTC Working Group will provide simple C++ projects which use the DTC Protocol. These will serve as examples.
We never got around to this.

You really do not need this anyway. It is just a protocol with messages and fields. You can use whatever language or supported encoding that you want.

However, the most involved part really involves the network communication but if you are using a websocket connection, which is supported by the DTC server, that does become quite easy with certain languages and soon we will have some example webpages that interact with Sierra Chart. But if you are using C++ we recommend just a plain socket and not a websocket.
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2018-12-27 23:15:52]
BeardPower - Posts: 51
I am starting a DTC Server development project to integrate my SC with currently unsupported data feeds.

It would be great if you can provide answers to the following questions:

- Which feeds will you support?
- Are you planning to release the integrations and if so, are they going to be free or paid?

Thank you!
[2018-12-28 15:01:29]
User12089 - Posts: 350
thank you for the code guidelines - ok makes sense

the additional datafeed integration of SC is for my own prop trading purposes and will not be "released/sold" to third parties

(on a separate note - should SC discontinue the existing support of Rythmic, I will reuse my own, custom developed DTC Server to re-integrate it back into SC - that will not be "released/sold" either)
Date Time Of Last Edit: 2018-12-28 15:02:28
[2018-12-30 15:40:17]
User12089 - Posts: 350
I have two key questions regarding the implementation of custom DTC Server and when the Client of such DTC Server is Sierra Chart.

1. How is Market Depth Update supposed to work for the following book events Order Submit, Order Cancel and Order Update - specifically in relation to the "NumOrder" field of the MARKET_DEPTH_UPDATE_LEVEL DTC Market Data Message

Market Data Messages: MARKET_DEPTH_UPDATE_LEVEL [s_MarketDepthUpdateLevel structure] Server >> Client

For example if the Event is Order Cancel and the event was about 34 lots being Cancelled, then is the NumOrder supposed to contain -34 (minus 34)?

Then when there is a modification of previous Order for 57 lots to 12 lots what is the value of NumOrder supposed to be ?

Then when there is a modification of previous Order for 57 lots to 92 lots what is the value of NumOrder supposed to be ?


When MarketDepthUpdateTypeEnum = MARKET_DEPTH_DELETE_LEVEL, it seems that it wipes out the whole Price Level clean and hence is NOT applicable to the above scenarios, correct?

2. DTC Server Multithreading Model

The DTC Protocol Spec seems to imply that each client uses only ONE/Single DTC TCP/IP Connection and hence Server Thread to receive the market data messages for ALL subscribed Symbols/Instruments. Is that correct? (here by "connection / market data messages / thread" I mean connection/messages of the same type e.g. Real-Time Market Data is one such type, historical market data is a separate type etc)

When SC is the DTC Client, does it behave as specified above ie each SC Instance uses only a single TCP/IP Connection and hence DTC Server Thread for ALL subscribed symbols/instruments?

And finally, when there is e.g. a second SC Instance which connects to the same DTC Server, it will open a separate TCP/IP Connection to the same DTC Server TCP/IP Port and hence the DTC Server will create and launch a separate Thread to serve this new TCP / IP connection. But the general rule remains the same - one TCP/IP connection per SC Instance client for all subscribed symbols - correct?
Date Time Of Last Edit: 2018-12-30 15:47:35
[2019-01-07 19:17:05]
Sierra Chart Engineering - Posts: 104368
This was not responded to above because this thread was marked as a User Discussion and was not continued to be followed. But this has been responded to in another thread here:
DTC Server Market Depth Message Model Semantics

Also this message was not here for two weeks like you said in the account support ticket.
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2019-01-08 02:37:53

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

Login

Login Page - Create Account