OnixS Eurex ETI Handler C++ library  9.19.0
API documentation
Frequently Asked Questions

Firewall blocks sample program.
Updating firewall rules or simply turning it off usually solves the issue.

Does your solution allow to pin the IO thread to specific CPU cores?
Yes, it does. Please, use OnixS::Eurex::Trading::HandlerSettings::sendingThreadAffinity and OnixS::Eurex::Trading::HandlerSettings::receivingThreadAffinity.

Upon rejection of new order request, what is the proper way to tell which order got rejected?
Please, use MsgSeqNum value to determine correspondence between inbound Reject message and outbound message that was rejected by Exchange.

How can I get MsgSeqNum for inbound messages?
Please, use OnixS::Eurex::Trading::MessageInfo::msgSeqNum.

How can I get MsgSeqNum for outbound messages?
OnixS::Eurex::Trading::Handler::send returns MsgSeqNum for each outbound message.

What is the best way to reconnect to ETI after any kind of disconnection?
Please, configure Handler using OnixS::Eurex::Trading::HandlerSettings::connectionRetries.

How could we configure the heartbeat interval to be longer?
Please, use OnixS::Eurex::Trading::HandlerSettings::sendingTimeoutMs. Also, keep in mind, the upper limit is 60 seconds.

How to change floating point prices into SInt64?
Please, shift the floating point price to the left by 8 places.

For example:

int factor = pow(10, limitPrecision);
SInt64 eurexIntPrice = static_cast<SInt64>(floatPrice * factor + 0.5) * static_cast<SInt64>(1e8 / factor);

The limit precision being the number of decimal points required, for example if the step between ticks is 0.1 euro, the precision is 1. This necessary to avoid floating point errors, since the Eurex will accept only exact prices i.e. 2.9999 will be rejected while 3.0 will not.