NexusFi: Find Your Edge


Home Menu

 





Best C++ API?


Discussion in Platforms and Indicators

Updated
      Top Posters
    1. looks_one kamaiu with 8 posts (2 thanks)
    2. looks_two Breukelen with 5 posts (0 thanks)
    3. looks_3 iantg with 2 posts (0 thanks)
    4. looks_4 MigEsc with 2 posts (0 thanks)
    1. trending_up 6,611 views
    2. thumb_up 2 thanks given
    3. group 11 followers
    1. forum 18 posts
    2. attach_file 1 attachments




 
Search this Thread

Best C++ API?

  #1 (permalink)
MigEsc
Montreal, Quebec, Canada
 
Posts: 10 since Mar 2016
Thanks Given: 3
Thanks Received: 8

Hi,

I am evaluating Rithmic's RApi for scalping and so far so good.

Is there any better alternative out there? Did you try TT's? Will it be better to go with Interactive Brokers's FIX Gateway?

Thanks,

Miguel

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
ZombieSqueeze
Platforms and Indicators
Better Renko Gaps
The Elite Circle
REcommedations for programming help
Sierra Chart
How to apply profiles
Traders Hideout
Trade idea based off three indicators.
Traders Hideout
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Just another trading journal: PA, Wyckoff & Trends
34 thanks
Tao te Trade: way of the WLD
24 thanks
Bigger Wins or Fewer Losses?
19 thanks
GFIs1 1 DAX trade per day journal
16 thanks
Vinny E-Mini & Algobox Review TRADE ROOM
13 thanks
  #2 (permalink)
kamaiu
Singapore, Singapore
 
Posts: 14 since Oct 2022
Thanks Given: 1
Thanks Received: 14

Personally I use Sierra Chart (via wine on Linux) and their CME order routing which is free and co-located with CME in Aurora. Sierra Chart uses their own protocol (DTC) which has C++ source files you can use already. I prefer it over Rithmic's API and it's cheaper and has similar latency <500micros for order routing. You can connect via localhost to Sierra Chart's built-in DTC protocol server and speak DTC messages. Check out dtcprotocol.org for available messages.

Reply With Quote
  #3 (permalink)
Macbook1
NY, NY, US
 
Posts: 1 since Jun 2022
Thanks Given: 0
Thanks Received: 0


Have you tried tradier??

Reply With Quote
  #4 (permalink)
kamaiu
Singapore, Singapore
 
Posts: 14 since Oct 2022
Thanks Given: 1
Thanks Received: 14


Macbook1 View Post
Have you tried tradier??

Tradier does not support futures currently.

Reply With Quote
  #5 (permalink)
 Breukelen 
DC METRO
 
Experience: Intermediate
Platform: Custom Python
Broker: Interactive Brokers
Trading: ES
Posts: 43 since Mar 2018
Thanks Given: 16
Thanks Received: 44


MigEsc View Post
Hi,



I am evaluating Rithmic's RApi for scalping and so far so good.



Is there any better alternative out there? Did you try TT's? Will it be better to go with Interactive Brokers's FIX Gateway?



Thanks,



Miguel

I made the transition from IBKR then to IBKR/Iqfeed now to Rithmic RApi, all c++ based.

I can write a long post on the pros and cons, I am happy with rithmics order flow, but they're intraday historical data is buggy and support has not been much help.

I have not tried IBKR with fix, but I have used their proprietary API. And it is the best documented, and the cheapest. But their historical data is slow, and the live data is aggregated and only released every 250 milliseconds.

Sent using the NexusFi mobile app

Reply With Quote
  #6 (permalink)
kamaiu
Singapore, Singapore
 
Posts: 14 since Oct 2022
Thanks Given: 1
Thanks Received: 14


Breukelen View Post
I made the transition from IBKR then to IBKR/Iqfeed now to Rithmic RApi, all c++ based.

I can write a long post on the pros and cons, I am happy with rithmics order flow, but they're intraday historical data is buggy and support has not been much help.

I have not tried IBKR with fix, but I have used their proprietary API. And it is the best documented, and the cheapest. But their historical data is slow, and the live data is aggregated and only released every 250 milliseconds.

Sent using the NexusFi mobile app



SierraChart Denali data feed and order routing is co-located with CME. You can connect to a local install of SierraChart using DTC protocol. They have C++ serialization code available. No lag. No aggregation of quote trades or quotes. No lag for depth either. Historical data is slow like Rithmic. Denali is cheaper than Rithmic and SierraChart order routing is free with latency <500 micros.


Sent using the NexusFi mobile app

Reply With Quote
  #7 (permalink)
 Breukelen 
DC METRO
 
Experience: Intermediate
Platform: Custom Python
Broker: Interactive Brokers
Trading: ES
Posts: 43 since Mar 2018
Thanks Given: 16
Thanks Received: 44


kamaiu View Post
SierraChart Denali data feed and order routing is co-located with CME. You can connect to a local install of SierraChart using DTC protocol. They have C++ serialization code available. No lag. No aggregation of quote trades or quotes. No lag for depth either. Historical data is slow like Rithmic. Denali is cheaper than Rithmic and SierraChart order routing is free with latency <500 micros.


Sent using the NexusFi mobile app

I've heard good things about SierraChart with the denali feed, honestly it's next on my list. But the burden of c++ for me vs python, is the development time is so long, and debugging is longer.

Rithmic's historical data is not so much slow as it is buggy, so times I get what I requested sometimes I do not. IQFeed is the best but at $200 a month it's too pricey.

I will miss that with Rithmic I have one compiled program that does everything and no need to install anything else. And it's easily portable to Ubuntu.

Reply With Quote
  #8 (permalink)
kamaiu
Singapore, Singapore
 
Posts: 14 since Oct 2022
Thanks Given: 1
Thanks Received: 14


Breukelen View Post
I've heard good things about SierraChart with the denali feed, honestly it's next on my list. But the burden of c++ for me vs python, is the development time is so long, and debugging is longer.



Rithmic's historical data is not so much slow as it is buggy, so times I get what I requested sometimes I do not. IQFeed is the best but at $200 a month it's too pricey.



I will miss that with Rithmic I have one compiled program that does everything and no need to install anything else. And it's easily portable to Ubuntu.


IQfeed is way overpriced and is located in Nebraska.

You can connect via any language to SierraChart. DTC protocol is open dtcprotocol.org. It’s a binary protocol over TCP. I have generated Go and Rust serialization code based on the latest schema. I created a schema generation toolkit for it on GitHub in Go. Generating Python would be easy.

I pay ~$36 per month for SierraChart with Denali and order routing. CME fees are just $3 for L1 and $30 for L2. If you only need time and sales then L1 works.

https://github.com/moontrade/dtc-go

If you ever get setup with SierraChart, I can add a python generator for you.



Sent using the NexusFi mobile app

Reply With Quote
  #9 (permalink)
 Breukelen 
DC METRO
 
Experience: Intermediate
Platform: Custom Python
Broker: Interactive Brokers
Trading: ES
Posts: 43 since Mar 2018
Thanks Given: 16
Thanks Received: 44


kamaiu View Post
IQfeed is way overpriced and is located in Nebraska.

You can connect via any language to SierraChart. DTC protocol is open dtcprotocol.org. It’s a binary protocol over TCP. I have generated Go and Rust serialization code based on the latest schema. I created a schema generation toolkit for it on GitHub in Go. Generating Python would be easy.

I pay ~$36 per month for SierraChart with Denali and order routing. CME fees are just $3 for L1 and $30 for L2. If you only need time and sales then L1 works.

https://github.com/moontrade/dtc-go

If you ever get setup with SierraChart, I can add a python generator for you.



Sent using the NexusFi mobile app

IQfeed has a newish data center in aurora, about 35-40ms latency from my testing from my VPS in chicago, but it's still way overpriced, but super fast historical data. I tested Rithmic to be consistently a few ms faster.
I use python for prototyping and optimizing never for actual trading.

Man I'm amazed, you created a tool that generates schemas? How does it work? I'm not familiar with the GO language but it seems similar enough to c.

Reply With Quote
  #10 (permalink)
kamaiu
Singapore, Singapore
 
Posts: 14 since Oct 2022
Thanks Given: 1
Thanks Received: 14



Breukelen View Post
IQfeed has a newish data center in aurora, about 35-40ms latency from my testing from my VPS in chicago, but it's still way overpriced, but super fast historical data. I tested Rithmic to be consistently a few ms faster.

I use python for prototyping and optimizing never for actual trading.



Man I'm amazed, you created a tool that generates schemas? How does it work? I'm not familiar with the GO language but it seems similar enough to c.



It parses the raw C++ header files into an intermediate schema model. That model is then translated into a language specific schema model. Then it just goes through the types and generates source files. DTC messages are flat (no nested structs or pointers). Just C structs with little-endian encoding with C based structure padding. This all is normalized when parsing into intermediate schema. The network protocol simply passes these messages back and forth.

codegen/go/generator_test.go generates go source code that is located at: v8 directory on the root. v8 is DTC protocol version 8 (current).

codegen/rust/generator_test.go generates rust located in codegen/rust/dtc-rs

The code generation models are complete including a handler trait or interface to automatically parse incoming messages and send outgoing messages.

All you need to do is connect to local SierraChart on the DTC server port. There are separate ports for real-time (11099) and historical (11098).

You can get a basic version of SierraChart for development. Connect to some free data feeds like SPX500 cash index. Use simulated trading account to test order management.


Sent using the NexusFi mobile app

Reply With Quote




Last Updated on October 26, 2022


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts