Login Page - Create Account

Support Board


Date/Time: Mon, 29 Apr 2024 05:07:52 +0000



[Programming Help] - DTC simple C++ project

View Count: 2462

[2022-02-18 13:18:16]
aknsyu71@gmail - Posts: 49
Dear Support,
I would like to request a functioning sample DTC client code which was promissed on the DTC specification page.
The DTC protocol and the data you provide is amazing yet creating the client is unecessarily difficult and hence adoption of DTC is perhaps very slow or non existent outside Sierra itself. Please help change this.

Please could you provide the code to be used as a starting point.
[2022-02-20 22:50:59]
Tonkadad - Posts: 235
Yes, please give us a simple framework to start with.
[2022-02-26 13:17:15]
1+1=10 - Posts: 270
These are all the links to repos on Github found via searching DTC protocol. If these don't help, I could write a simple Python/Go/etc. example but I likely couldn't get to it for a few weeks -- these links are in no particular order:
https://github.com/jseparovic/python-ws-dtc-client
https://github.com/QANTau/DTC-Client
https://github.com/Queeq/pydtc
https://github.com/deepmarker/ocaml-dtc-pb
https://github.com/gaoxiaojun/DTC
https://github.com/6qat/dtc-scala
https://github.com/AndrewAMD/SierraChartZorroPlugin
[2022-03-02 10:02:46]
aknsyu71@gmail - Posts: 49
Thank you for the above githubs links however I am an end user and would be unable to implemnent these by myself.

Could Sierra programmers please chime in and provide a answer to the bellow question?!
Sierra has made the effort and provided an exceptional source of live data (DTC-Denali/Denalli) and order processing (Teton).
These are, in my mind, services provided and monetized apart from the Sierra chart trading software.
Why not go a step further and create plugins for other platform so that these services (DTC-Denali/Teton) could be accessed from them easily and thus further monetize the products you created?!

I would personally love to use the data and order processing from within Multicharts and Amibroker for automated strategies and I urge all parties to create these plugins for the benefit of users. Its in Amibokers and Multicharts interest to have data and order routing access and its in Sierras interest to sell these services to users?!

At the moment DTC-Denali is much more affordable then IQfeed and IQfeed has plugins for multiple trading platforms already https://iqhelp.dtn.com/dtn-iqfeed-compatible-software/

Hope for an answer by sierra programmers
[2022-03-02 14:02:38]
1+1=10 - Posts: 270
Hi Aknsyu,

This question gets asked a lot; in fact, I asked it in a thread that is hidden.

The basic answer is that the CME, which is the exchange the majority of SC users are trading on, has different licenses for a trading-related company to use data versus distributing data.

The following link from the CME shows their licensed data distributors. It includes CQG, DTN (which provides IQFeed), TT/Trading Technologies, Barchart, Tradestation, etc. (I don’t see Rithmic but possibly under a different name.) There’s even a few FCMs such as RJO and Phillip Capital:
https://www.cmegroup.com/market-data/licensed-distributors.html

CME lists the fees for data distribution at the link below. Note that CME, CBOT, NYMEX, & COMEX are considered as separate exchanges so you need to times the fees by 4. The annual fee for real-time data distribution is $24,900 per $exchanges * 4 = $99,600!
https://www.cmegroup.com/files/download/cme-market-data-fee-list-jan-2022.pdf

All the non-distribution fees are much lower —- <$4,000 for all exchanges annually.

The data distributor companies all either charge more for data, or charge an order routing fee ($0.10-$0.25 contract), or are FCMs so charge commissions ($0.20-$0.60) per contract.

SC charges very low rates for their data currently. Perhaps someday they will employ one of the aforementioned income generating models to make it worthwhile to pay the data distribution fee but I suspect as they have been successful focusing on being a rock-solid trading platform this may never happen.

It should be noted, SC would be happy to distribute the data if they didn’t have to pay the large fee. For instance, you can get live Eurex data through DTC.

SC’s answers tend to very concise on this sort of question which is why I chimed in. For example, see:
Can I use my sierra feeds on my Jigsaw platform?
Date Time Of Last Edit: 2022-03-02 14:11:40
[2022-03-02 14:10:34]
1+1=10 - Posts: 270
Oh, technically, you can send orders to Teton using the DTC Protocol (even for the CME) so if you already had live data from another trading platform, a programmer or SC themselves could send orders from the other platform to Teton.

I imagine if SC ever did this sort of integration, and the user did not have an SC platform subscription, then the user would need to be charged a per-contract order-routing fee.
[2022-03-02 14:29:16]
1+1=10 - Posts: 270
The last thing I’ll add is that there are major US exchanges that do not charge for data distribution, take IEX: https://exchange.iex.io/resources/trading/get-connected-directly/index.html.

CME and most other legacy exchanges are being a bit greedy here.
Date Time Of Last Edit: 2022-03-02 14:29:31
[2022-03-03 10:52:26]
aknsyu71@gmail - Posts: 49
Thank you for taking the time to explain this, I have not been aware of the charging structure regarding data distribution.
Just to make it clear, so if I have a sierra Denali subscription and I manage to connnect a third party platform like Multicharts, I would be able to download historical data (indluding tick data) but not be able to have RT data.

The reason Id like this is that while Sierra is great for charting and daytrading, Amibroker and Multicharts are far superior for system development and backtesting etc.

Since RT data would not be available in these platforms via SC then I will perhaps resort to manually importing data for backtesting.
Thankf for your help and hope this thread helps others with similar requirements.
[2022-03-03 14:35:29]
1+1=10 - Posts: 270
@Aknsyu71,

My pleasure!

Just to make it clear, so if I have a sierra Denali subscription and I manage to connnect a third party platform like Multicharts, I would be able to download historical data (indluding tick data) but not be able to have RT data.

Actually, there are similar large annual fees the CME charges to distribute Delayed data and Historical Data. It is $18,600 * 4 = $74,400 for Delayed and $30,000 * 4 = $120,000 for Historical. Thus, SC can't allow Denali to directly connect to Multicharts/NinjaTrader/Bookmap/Jigsaw/etc. for Delayed or Historical either without paying rather large fees.

Since RT data would not be available in these platforms via SC then I will perhaps resort to manually importing data for backtesting.

You can certainly export SC historical daily or historical intraday data, whether it comes from Denali or a 3rd-party feed, and then import it into a different platform, such as Multicharts.

Good luck in your trading!
[2024-02-04 08:42:51]
Zorin - Posts: 18
+1 for Python DTC client here: https://github.com/jseparovic/python-ws-dtc-client

Great for seeing certain things :))

The trick is to use JSON encoding [gives certain errors when Sierra set to Binary]
imageDTC_srv_settings_4_python_client.png / V - Attached On 2024-02-04 08:42:32 UTC - Size: 18.01 KB - 39 views

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

Login

Login Page - Create Account