OnixS C++ B3 BOE Binary Order Entry  1.2.0
API Documentation
Fields.h
Go to the documentation of this file.
1 // Copyright Onix Solutions Limited [OnixS]. All rights reserved.
2 //
3 // This software owned by Onix Solutions Limited [OnixS] and is
4 // protected by copyright law and international copyright treaties.
5 //
6 // Access to and use of the software is governed by the terms of the applicable
7 // OnixS Software Services Agreement (the Agreement) and Customer end user license
8 // agreements granting a non-assignable, non-transferable and non-exclusive license
9 // to use the software for it's own data processing purposes under the terms defined
10 // in the Agreement.
11 //
12 // Except as otherwise granted within the terms of the Agreement, copying or
13 // reproduction of any part of this source code or associated reference material
14 // to any other location for further reproduction or redistribution, and any
15 // amendments to this copyright notice, are expressly prohibited.
16 //
17 // Any reproduction or redistribution for sale or hiring of the Software not in
18 // accordance with the terms of the Agreement is a violation of copyright law.
19 //
20 
21 #pragma once
22 
26 
28 
29 /// Null value for an optional Char field.
30 typedef
31 IntegralConstant<Char, '\x0'>
33 
34 
35 /// Null value for an optional UInt8 field.
36 typedef
39 
40 
41 /// Null value for an optional UInt16 field.
42 typedef
45 
46 
47 /// Null value for an optional UInt32 field.
48 typedef
51 
52 
53 /// Null value for an optional UInt64 field.
54 typedef
57 
58 /// Null value for an optional Int8 field.
59 typedef
60 IntegralConstant<Int8, -128>
62 
63 
64 /// Null value for an optional Int16 field.
65 typedef
66 IntegralConstant<Int16, -32768>
68 
69 
70 /// Null value for an optional Int32 field.
71 typedef
72 IntegralConstant<Int32, -2147483647-1>
74 
75 
76 /// Null value for an optional Int64 field.
77 typedef
78 IntegralConstant<Int64, -9223372036854775807LL-1>
80 
81 
82 /// Unique identifier for this allocation instruction message.
83 ///
84 /// FIX type: Int.
85 typedef UInt64 AllocID;
86 
87 
88 /// Unique identifier of the order as assigned by the market participant.
89 ///
90 /// FIX type: Int.
91 typedef UInt64 ClOrdID;
92 
93 
94 /// Optional unique identifier of the order as assigned by the market participant.
95 ///
96 /// FIX type: Int.
97 typedef UInt64 ClOrdIDOptional;
98 
99 
100 /// Client connection identification on the gateway assigned by B3.
101 ///
102 /// FIX type: Int.
103 typedef UInt32 SessionID;
104 
105 
106 /// Optional client connection identification on the gateway assigned by B3.
107 ///
108 /// FIX type: Int.
109 typedef UInt32 SessionIDOptional;
110 
111 
112 /// Session version identification: unique identification of a sequence of messages to be transmitted to exchange gateway associated with given SessionId.
113 ///
114 /// FIX type: Int.
115 typedef UInt64 SessionVerID;
116 
117 
118 /// Optional session version identification: unique identification of a sequence of messages to be transmitted to exchange gateway associated with given SessionId.
119 ///
120 /// FIX type: Int.
121 typedef UInt64 SessionVerIDOptional;
122 
123 
124 /// Sequence number of a given SessionID/SessionVerID.
125 ///
126 /// FIX type: Int.
127 typedef UInt32 SeqNum;
128 
129 
130 /// Optional sequence number of a given SessionID/SessionVerID.
131 ///
132 /// FIX type: Int.
133 typedef UInt32 SeqNumOptional;
134 
135 
136 /// Quantity in order/trade.
137 ///
138 /// FIX type: Qty.
139 typedef UInt64 Quantity;
140 
141 
142 /// Optional quantity in order/trade.
143 ///
144 /// FIX type: Qty.
145 typedef UInt64 QuantityOptional;
146 
147 
148 /// Local calendar date: days since Unix epoch (January 1st, 1970).
149 ///
150 /// FIX type: LocalMktDate.
151 typedef UInt16 LocalMktDate;
152 
153 
154 /// Local calendar date: days since Unix epoch (January 1st, 1970).
155 ///
156 /// FIX type: LocalMktDate.
157 typedef UInt16 LocalMktDateOptional;
158 
159 
160 /// Account mnemonic.
161 ///
162 /// FIX type: Int.
163 typedef UInt32 Account;
164 
165 
166 /// Optional account mnemonic.
167 ///
168 /// FIX type: Int.
169 typedef UInt32 AccountOptional;
170 
171 
172 /// Identification of the broker firm.
173 ///
174 /// FIX type: Int.
175 typedef UInt32 Firm;
176 
177 
178 /// Optional identification of the broker firm.
179 ///
180 /// FIX type: Int.
181 typedef UInt32 FirmOptional;
182 
183 
184 /// Deadline for completing the forward deal.
185 ///
186 /// FIX type: Int.
187 typedef UInt16 DaysToSettlement;
188 
189 
190 /// Optional deadline for completing the forward deal.
191 ///
192 /// FIX type: Int.
193 typedef
194 UInt16
196 
197 
198 /// Unique identifier of execution message as assigned by exchange.
199 ///
200 /// FIX type: Int.
201 typedef UInt64 ExecID;
202 
203 
204 /// Optional unique identifier of execution message as assigned by exchange.
205 ///
206 /// FIX type: Int.
207 typedef UInt64 ExecIDOptional;
208 
209 
210 /// Exchange-generated order identifier.
211 ///
212 /// FIX type: Int.
213 typedef UInt64 OrderID;
214 
215 
216 /// Optional exchange-generated order identifier.
217 ///
218 /// FIX type: Int.
219 typedef UInt64 OrderIDOptional;
220 
221 
222 /// Code to identify reason for order rejection. Please refer to the error codes document for domain information.
223 ///
224 /// FIX type: Int.
225 typedef UInt32 RejReason;
226 
227 
228 /// Optional code to identify reason for order rejection. Please refer to the error codes document for domain information.
229 ///
230 /// FIX type: Int.
231 typedef UInt32 RejReasonOptional;
232 
233 
234 /// Unique identifier for this allocation report message.
235 ///
236 /// FIX type: Int.
237 typedef UInt64 AllocReportID;
238 
239 
240 /// Unique identifier for this position maintenance report message.
241 ///
242 /// FIX type: Int.
243 typedef UInt64 PosMaintRptID;
244 
245 
246 /// Optional unique identifier for this position maintenance report message.
247 ///
248 /// FIX type: Int.
249 typedef
250 UInt64
252 
253 
254 /// Unique identifier for the position maintenance request.
255 ///
256 /// FIX type: Int.
257 typedef UInt64 PosReqID;
258 
259 
260 /// Optional unique identifier for the position maintenance request.
261 ///
262 /// FIX type: Int.
263 typedef UInt64 PosReqIDOptional;
264 
265 
266 /// Unique ID of a Security Definition Request/Response.
267 ///
268 /// FIX type: Int.
269 typedef UInt64 SecurityReqRespID;
270 
271 
272 /// Value of business-level identification field on the message being referenced.
273 ///
274 /// FIX type: Int.
275 typedef UInt64 BusinessRejectRefID;
276 
277 
278 /// Unique ID of Order Mass Action Report as assigned by the matching engine.
279 ///
280 /// FIX type: Int.
281 typedef UInt64 MassActionReportID;
282 
283 
284 /// Optional unique ID of Order Mass Action Report as assigned by the matching engine.
285 ///
286 /// FIX type: Int.
287 typedef
288 UInt64
290 
291 
292 /// Identifies the order tag identification.
293 ///
294 /// FIX type: Int.
295 typedef UInt8 OrdTagID;
296 
297 
298 /// Identifies the market segment.
299 ///
300 /// FIX type: Int.
301 typedef UInt8 MarketSegmentID;
302 
303 
304 /// Optional identifier of the market segment.
305 ///
306 /// FIX type: Int.
307 typedef
308 UInt8
310 
311 
312 /// Security identification as defined by exchange. For the SecurityID list, see the Security List/Definition message in Market Data feed.
313 ///
314 /// FIX type: Int.
315 typedef UInt64 SecurityID;
316 
317 
318 /// Optional security identification as defined by exchange. For the SecurityID list, see the Security List/Definition message in Market Data feed.
319 ///
320 /// FIX type: Int.
321 typedef UInt64 SecurityIDOptional;
322 
323 
324 /// Identifier for a cross order. Must be unique during a given trading day.
325 ///
326 /// FIX type: Int.
327 typedef UInt64 CrossID;
328 
329 
330 /// Identifier for a cross order.
331 ///
332 /// FIX type: Int.
333 typedef UInt64 CrossIDOptional;
334 
335 
336 /// The unique identification assigned to the trade entity once it is received or matched by the exchange or central counterparty.
337 ///
338 /// FIX type: Int.
339 typedef UInt32 TradeID;
340 
341 
342 /// Optional unique identification assigned to the trade entity once it is received or matched by the exchange or central counterparty.
343 ///
344 /// FIX type: Int.
345 typedef UInt32 TradeIDOptional;
346 
347 
348 /// Unique identifier for quote.
349 ///
350 /// FIX type: Int.
351 typedef UInt64 QuoteID;
352 
353 
354 /// Optional unique identifier for quote.
355 ///
356 /// FIX type: Int.
357 typedef UInt64 QuoteIDOptional;
358 
359 
360 /// Unique identifier for quote request.
361 ///
362 /// FIX type: Int.
363 typedef UInt64 QuoteReqID;
364 
365 
366 /// Optional unique identifier for quote request.
367 ///
368 /// FIX type: Int.
369 typedef UInt64 QuoteReqIDOptional;
370 
371 
372 /// Number of leg fill notice messages sent with spread summary.
373 ///
374 /// FIX type: Int.
375 typedef UInt8 TotNoRelatedSym;
376 
377 
378 /// Counter of related messages.
379 ///
380 /// FIX type: Int.
381 typedef UInt32 MessageCounter;
382 
383 
384 /// Optional unique identification of a client-assigned strategy.
385 ///
386 /// FIX type: Int.
387 typedef Int32 StrategyIDOptional;
388 
389 
390 /// Type used to encode enum with zero nullValue.
391 ///
392 /// FIX type: Int.
393 typedef UInt8 Uint8EnumEncoding;
394 
395 
396 /// Type used to encode enum with zero nullValue.
397 ///
398 /// FIX type: Int.
399 typedef UInt16 Uint16EnumEncoding;
400 
401 
402 /// Boolean type.
403 ///
404 /// FIX type: Boolean.
406 {
407  typedef UInt8 Base;
408 
409  /// Boolean type
410  enum Enum
411  {
412  /// false, N, 0.
413  FalseValue = 0,
414 
415  /// true, Y, 1.
416  TrueValue = 1
417  };
418 
419  /// \return a human-readable presentation.
421  static
422  std::string
423  toString(
424  Enum);
425 };
426 
427 /// Identifies allocation transaction type.
428 ///
429 /// FIX type: Char.
431 {
432  typedef Char Base;
433 
434  /// Identifies allocation transaction type.
435  enum Enum
436  {
437  /// New
438  New = '0',
439 
440  /// Cancel
441  Cancel = '2'
442  };
443 
444  /// \return a human-readable presentation.
446  static
447  std::string
448  toString(
449  Enum);
450 };
451 
452 /// Describes the specific type or purpose of an Allocation Report message.
453 ///
454 /// FIX type: Char.
456 {
457  typedef Char Base;
458 
459  /// Describes the specific type or purpose of an Allocation Report message.
460  enum Enum
461  {
462  /// RequestToIntermediary
463  RequestToIntermediary = '8'
464  };
465 
466  /// \return a human-readable presentation.
468  static
469  std::string
470  toString(
471  Enum);
472 };
473 
474 /// Describes the specific type or purpose of an Allocation message.
475 ///
476 /// FIX type: Char.
478 {
479  typedef Char Base;
480 
481  /// Describes the specific type or purpose of an Allocation message.
482  enum Enum
483  {
484  /// RequestToIntermediary
485  RequestToIntermediary = '8'
486  };
487 
488  /// \return a human-readable presentation.
490  static
491  std::string
492  toString(
493  Enum);
494 };
495 
496 /// Indicates how the orders being booked and allocated by an Allocation Instruction.
497 ///
498 /// FIX type: Char.
500 {
501  typedef Char Base;
502 
503  /// Indicates how the orders being booked and allocated by an Allocation Instruction.
504  enum Enum
505  {
506  /// NotSpecified
507  NotSpecified = '0'
508  };
509 
510  /// \return a human-readable presentation.
512  static
513  std::string
514  toString(
515  Enum);
516 };
517 
518 /// Identifies status of allocation.
519 ///
520 /// FIX type: Char.
522 {
523  typedef Char Base;
524 
525  /// Identifies status of allocation.
526  enum Enum
527  {
528  /// Accepted
529  Accepted = '0',
530 
531  /// RejectedByIntermediary
532  RejectedByIntermediary = '5'
533  };
534 
535  /// \return a human-readable presentation.
537  static
538  std::string
539  toString(
540  Enum);
541 };
542 
543 /// Identifies the status of the quote acknowledgement.
544 ///
545 /// FIX type: Int.
547 {
548  typedef UInt8 Base;
549 
550  /// Identifies the status of the quote acknowledgement.
551  enum Enum
552  {
553  /// Expired
554  Expired = 7,
555 
556  /// Accepted
557  Accepted = 0,
558 
559  /// Rejected
560  Rejected = 5,
561 
562  /// QuoteNotFound
563  QuoteNotFound = 9,
564 
565  /// Pending
566  Pending = 10,
567 
568  /// Pass
569  Pass = 11,
570 
571  /// Canceled
572  Canceled = 17
573  };
574 
575  /// \return a human-readable presentation.
577  static
578  std::string
579  toString(
580  Enum);
581 };
582 
583 /// Identifies the type of request that a Quote Status Report is in response to.
584 ///
585 /// FIX type: Char.
587 {
588  typedef Char Base;
589 
590  /// Identifies the type of request that a Quote Status Report is in response to
591  enum Enum
592  {
593  /// Quote
594  Quote = '0',
595 
596  /// QuoteRequest
597  QuoteRequest = '1',
598 
599  /// QuoteCancel
600  QuoteCancel = '2',
601 
602  /// QuoteRequestReject
603  QuoteRequestReject = '3'
604  };
605 
606  /// \return a human-readable presentation.
608  static
609  std::string
610  toString(
611  Enum);
612 };
613 
614 /// Identifies the type of quote cancel.
615 ///
616 /// FIX type: Int.
618 {
619  typedef UInt8 Base;
620 
621  /// Identifies the type of quote cancel.
622  enum Enum
623  {
624  /// CancelForQuoteId
625  CancelForQuoteId = 5
626  };
627 
628  /// \return a human-readable presentation.
630  static
631  std::string
632  toString(
633  Enum);
634 };
635 
636 /// Used to identify the type of quantity.
637 ///
638 /// FIX type: Char.
640 {
641  typedef Char Base;
642 
643  /// Used to identify the type of quantity.
644  enum Enum
645  {
646  /// TransactionQuantity
647  TransactionQuantity = 'T',
648 
649  /// StartOfDayQty
650  StartOfDayQty = 'S',
651 
652  /// OptionExerciseQty
653  OptionExerciseQty = 'E',
654 
655  /// BlockedQty
656  BlockedQty = 'B',
657 
658  /// UncoveredQty
659  UncoveredQty = 'U',
660 
661  /// CoveredQty
662  CoveredQty = 'C'
663  };
664 
665  /// \return a human-readable presentation.
667  static
668  std::string
669  toString(
670  Enum);
671 };
672 
673 /// Specifies the scope of the action. All Day and MOC orders will be cancelled. GTC, GTD and MOA orders will not be cancelled.
674 ///
675 /// FIX type: Int.
677 {
678  typedef UInt8 Base;
679 
680  /// Specifies the scope of the action. All Day and MOC orders will be cancelled. GTC, GTD and MOA orders will not be cancelled.
681  enum Enum
682  {
683  /// AllOrdersForATradingSession
684  AllOrdersForATradingSession = 6
685  };
686 
687  /// \return a human-readable presentation.
689  static
690  std::string
691  toString(
692  Enum);
693 };
694 
695 /// Specifies the type of action requested.
696 ///
697 /// FIX type: Int.
699 {
700  typedef UInt8 Base;
701 
702  /// Specifies the type of action requested.
703  enum Enum
704  {
705  /// ReleaseOrdersFromSuspension
706  ReleaseOrdersFromSuspension = 2,
707 
708  /// CancelOrders
709  CancelOrders = 3,
710 
711  /// CancelAndSuspendOrders
712  CancelAndSuspendOrders = 4
713  };
714 
715  /// \return a human-readable presentation.
717  static
718  std::string
719  toString(
720  Enum);
721 };
722 
723 /// Specifies the action taken by matching engine when it receives the Order Mass Action Request.
724 ///
725 /// FIX type: Char.
727 {
728  typedef Char Base;
729 
730  /// Specifies the action taken by matching engine when it receives the Order Mass Action Request.
731  enum Enum
732  {
733  /// Rejected
734  Rejected = '0',
735 
736  /// Accepted
737  Accepted = '1'
738  };
739 
740  /// \return a human-readable presentation.
742  static
743  std::string
744  toString(
745  Enum);
746 };
747 
748 /// Reason Order Mass Action Request was rejected.
749 ///
750 /// FIX type: Int.
752 {
753  typedef UInt8 Base;
754 
755  /// Reason Order Mass Action Request was rejected.
756  enum Enum
757  {
758  /// MassActionNotSupported
759  MassActionNotSupported = 0,
760 
761  /// InvalidOrUnknownMarketSegment
762  InvalidOrUnknownMarketSegment = 8,
763 
764  /// Other
765  Other = 99
766  };
767 
768  /// \return a human-readable presentation.
770  static
771  std::string
772  toString(
773  Enum);
774 };
775 
776 /// Type of Security Definition message response.
777 ///
778 /// FIX type: Int.
780 {
781  typedef UInt8 Base;
782 
783  /// Type of Security Definition message response.
784  enum Enum
785  {
786  /// AcceptSecurityProposalAsIs
787  AcceptSecurityProposalAsIs = 1,
788 
789  /// RejectSecurityProposal
790  RejectSecurityProposal = 5,
791 
792  /// AcceptSecurityAsProposalWithRevisions
793  AcceptSecurityAsProposalWithRevisions = 2
794  };
795 
796  /// \return a human-readable presentation.
798  static
799  std::string
800  toString(
801  Enum);
802 };
803 
804 /// Status of Position Maintenance Request.
805 ///
806 /// FIX type: Char.
808 {
809  typedef Char Base;
810 
811  /// Status of Position Maintenance Request.
812  enum Enum
813  {
814  /// Accepted
815  Accepted = '0',
816 
817  /// Rejected
818  Rejected = '2',
819 
820  /// Completed
821  Completed = '3',
822 
823  /// NotExecuted
824  NotExecuted = '9'
825  };
826 
827  /// \return a human-readable presentation.
829  static
830  std::string
831  toString(
832  Enum);
833 };
834 
835 /// Specifies if a simultaneous trade of the underlying is to be performed.
836 ///
837 /// FIX type: Char.
839 {
840  typedef Char Base;
841 
842  /// Specifies if a simultaneous trade of the underlying is to be performed.
843  enum Enum
844  {
845  /// NoUnderlyingTrade
846  NoUnderlyingTrade = '0',
847 
848  /// UnderlyingOpposingTrade
849  UnderlyingOpposingTrade = '1'
850  };
851 
852  /// \return a human-readable presentation.
854  static
855  std::string
856  toString(
857  Enum);
858 };
859 
860 /// Identifies the type of position transaction.
861 ///
862 /// FIX type: Int.
864 {
865  typedef UInt8 Base;
866 
867  /// Identifies the type of position transaction.
868  enum Enum
869  {
870  /// Exercise
871  Exercise = 1,
872 
873  /// AutomaticExercise
874  AutomaticExercise = 105,
875 
876  /// ExerciseNotAutomatic
877  ExerciseNotAutomatic = 106
878  };
879 
880  /// \return a human-readable presentation.
882  static
883  std::string
884  toString(
885  Enum);
886 };
887 
888 /// Maintenance Action to be performed.
889 ///
890 /// FIX type: Char.
892 {
893  typedef Char Base;
894 
895  /// Maintenance Action to be performed.
896  enum Enum
897  {
898  /// New
899  New = '1',
900 
901  /// Cancel
902  Cancel = '3'
903  };
904 
905  /// \return a human-readable presentation.
907  static
908  std::string
909  toString(
910  Enum);
911 };
912 
913 /// Indicates who in the contract has control over evoking settlement.
914 ///
915 /// FIX type: Char.
917 {
918  typedef Char Base;
919 
920  /// Indicates who in the contract has control over evoking settlement.
921  enum Enum
922  {
923  /// BuyersDiscretion
924  BuyersDiscretion = '0',
925 
926  /// SellersDiscretion
927  SellersDiscretion = '8',
928 
929  /// Mutual
930  Mutual = 'X'
931  };
932 
933  /// \return a human-readable presentation.
935  static
936  std::string
937  toString(
938  Enum);
939 };
940 
941 /// Indicates which order should be canceled due to self-trade prevention.
942 ///
943 /// FIX type: Int.
945 {
946  typedef UInt8 Base;
947 
948  /// Indicates which order should be canceled due to self-trade prevention.
949  enum Enum
950  {
951  /// None
952  None = 0,
953 
954  /// CancelAggressorOrder
955  CancelAggressorOrder = 1,
956 
957  /// CancelRestingOrder
958  CancelRestingOrder = 2,
959 
960  /// CancelBothOrders
961  CancelBothOrders = 3
962  };
963 
964  /// \return a human-readable presentation.
966  static
967  std::string
968  toString(
969  Enum);
970 };
971 
972 /// Unit of time used for measurement.
973 ///
974 /// FIX type: Int.
976 {
977  typedef UInt8 Base;
978 
979  /// Unit of time used for measurement.
980  enum Enum
981  {
982  /// Second
983  Second = 0,
984 
985  /// Millisecond
986  Millisecond = 3,
987 
988  /// Microsecond
989  Microsecond = 6,
990 
991  /// Nanosecond
992  Nanosecond = 9
993  };
994 
995  /// \return a human-readable presentation.
997  static
998  std::string
999  toString(
1000  Enum);
1001 };
1002 
1003 /// Defines message type.
1004 ///
1005 /// FIX type: Int.
1007 {
1008  typedef UInt8 Base;
1009 
1010  /// Defines message type.
1011  enum Enum
1012  {
1013  /// Negotiate
1014  Negotiate = 0,
1015 
1016  /// NegotiateResponse
1017  NegotiateResponse = 1,
1018 
1019  /// NegotiateReject
1020  NegotiateReject = 2,
1021 
1022  /// Establish
1023  Establish = 3,
1024 
1025  /// EstablishAck
1026  EstablishAck = 4,
1027 
1028  /// EstablishReject
1029  EstablishReject = 5,
1030 
1031  /// Terminate
1032  Terminate = 6,
1033 
1034  /// NotApplied
1035  NotApplied = 9,
1036 
1037  /// RetransmitRequest
1038  RetransmitRequest = 10,
1039 
1040  /// Retransmission
1041  Retransmission = 11,
1042 
1043  /// RetransmitReject
1044  RetransmitReject = 12,
1045 
1046  /// Sequence
1047  Sequence = 13,
1048 
1049  /// BusinessMessageReject
1050  BusinessMessageReject = 14,
1051 
1052  /// SimpleNewOrder
1053  SimpleNewOrder = 15,
1054 
1055  /// SimpleModifyOrder
1056  SimpleModifyOrder = 16,
1057 
1058  /// NewOrderSingle
1059  NewOrderSingle = 17,
1060 
1061  /// OrderCancelReplaceRequest
1062  OrderCancelReplaceRequest = 18,
1063 
1064  /// OrderCancelRequest
1065  OrderCancelRequest = 19,
1066 
1067  /// NewOrderCross
1068  NewOrderCross = 20,
1069 
1070  /// ExecutionReportNew
1071  ExecutionReportNew = 21,
1072 
1073  /// ExecutionReportModify
1074  ExecutionReportModify = 22,
1075 
1076  /// ExecutionReportCancel
1077  ExecutionReportCancel = 23,
1078 
1079  /// ExecutionReportTrade
1080  ExecutionReportTrade = 24,
1081 
1082  /// ExecutionReportReject
1083  ExecutionReportReject = 25,
1084 
1085  /// ExecutionReportForward
1086  ExecutionReportForward = 26,
1087 
1088  /// SecurityDefinitionRequest
1089  SecurityDefinitionRequest = 27,
1090 
1091  /// SecurityDefinitionResponse
1092  SecurityDefinitionResponse = 28,
1093 
1094  /// OrderMassActionRequest
1095  OrderMassActionRequest = 29,
1096 
1097  /// OrderMassActionReport
1098  OrderMassActionReport = 30,
1099 
1100  /// QuoteRequest
1101  QuoteRequest = 31,
1102 
1103  /// QuoteStatusReport
1104  QuoteStatusReport = 32,
1105 
1106  /// Quote
1107  Quote = 33,
1108 
1109  /// QuoteCancel
1110  QuoteCancel = 34,
1111 
1112  /// QuoteRequestReject
1113  QuoteRequestReject = 35,
1114 
1115  /// PositionMaintenanceCancelRequest
1116  PositionMaintenanceCancelRequest = 36,
1117 
1118  /// PositionMaintenanceRequest
1119  PositionMaintenanceRequest = 37,
1120 
1121  /// PositionMaintenanceReport
1122  PositionMaintenanceReport = 38,
1123 
1124  /// AllocationInstruction
1125  AllocationInstruction = 39,
1126 
1127  /// AllocationReport
1128  AllocationReport = 40
1129  };
1130 
1131  /// \return a human-readable presentation.
1133  static
1134  std::string
1135  toString(
1136  Enum);
1137 };
1138 
1139 /// Type of message flow from client to server or from server to client.
1140 ///
1141 /// FIX type: Int.
1143 {
1144  typedef UInt8 Base;
1145 
1146  /// Type of message flow from client to server or from server to client.
1147  enum Enum
1148  {
1149  /// None
1150  None = 0,
1151 
1152  /// Recoverable
1153  Recoverable = 1,
1154 
1155  /// Unsequenced
1156  Unsequenced = 2,
1157 
1158  /// Idempotent
1159  Idempotent = 3
1160  };
1161 
1162  /// \return a human-readable presentation.
1164  static
1165  std::string
1166  toString(
1167  Enum);
1168 };
1169 
1170 /// Identifies the code of reject negotiation.
1171 ///
1172 /// FIX type: Int.
1174 {
1175  typedef UInt8 Base;
1176 
1177  /// Identifies the code of reject negotiation.
1178  enum Enum
1179  {
1180  /// Unspecified
1181  Unspecified = 0,
1182 
1183  /// Credentials
1184  Credentials = 1,
1185 
1186  /// FlowtypeNotSupported
1187  FlowtypeNotSupported = 2,
1188 
1189  /// AlreadyNegotiated
1190  AlreadyNegotiated = 3,
1191 
1192  /// SessionBlocked
1193  SessionBlocked = 4,
1194 
1195  /// InvalidSessionid
1196  InvalidSessionid = 5,
1197 
1198  /// InvalidSessionverid
1199  InvalidSessionverid = 6,
1200 
1201  /// InvalidTimestamp
1202  InvalidTimestamp = 7,
1203 
1204  /// InvalidFirm
1205  InvalidFirm = 8,
1206 
1207  /// NegotiateNotAllowed
1208  NegotiateNotAllowed = 20,
1209 
1210  /// DuplicateSessionConnection
1211  DuplicateSessionConnection = 21,
1212 
1213  /// AuthenticationInProgress
1214  AuthenticationInProgress = 22,
1215 
1216  /// ProtocolVersionNotSupported
1217  ProtocolVersionNotSupported = 23
1218  };
1219 
1220  /// \return a human-readable presentation.
1222  static
1223  std::string
1224  toString(
1225  Enum);
1226 };
1227 
1228 /// Identifies the code of reject establishment.
1229 ///
1230 /// FIX type: Int.
1232 {
1233  typedef UInt8 Base;
1234 
1235  /// Identifies the code of reject establishment.
1236  enum Enum
1237  {
1238  /// Unspecified
1239  Unspecified = 0,
1240 
1241  /// Credentials
1242  Credentials = 1,
1243 
1244  /// Unnegotiated
1245  Unnegotiated = 2,
1246 
1247  /// AlreadyEstablished
1248  AlreadyEstablished = 3,
1249 
1250  /// SessionBlocked
1251  SessionBlocked = 4,
1252 
1253  /// InvalidSessionid
1254  InvalidSessionid = 5,
1255 
1256  /// InvalidSessionverid
1257  InvalidSessionverid = 6,
1258 
1259  /// InvalidTimestamp
1260  InvalidTimestamp = 7,
1261 
1262  /// InvalidKeepaliveInterval
1263  InvalidKeepaliveInterval = 8,
1264 
1265  /// InvalidNextseqno
1266  InvalidNextseqno = 9,
1267 
1268  /// EstablishAttemptsExceeded
1269  EstablishAttemptsExceeded = 10,
1270 
1271  /// EstablishNotAllowed
1272  EstablishNotAllowed = 20,
1273 
1274  /// DuplicateSessionConnection
1275  DuplicateSessionConnection = 21,
1276 
1277  /// AuthenticationInProgress
1278  AuthenticationInProgress = 22,
1279 
1280  /// ProtocolVersionNotSupported
1281  ProtocolVersionNotSupported = 23
1282  };
1283 
1284  /// \return a human-readable presentation.
1286  static
1287  std::string
1288  toString(
1289  Enum);
1290 };
1291 
1292 /// Identifies the code of termination.
1293 ///
1294 /// FIX type: Int.
1296 {
1297  typedef UInt8 Base;
1298 
1299  /// Identifies the code of termination.
1300  enum Enum
1301  {
1302  /// Unspecified
1303  Unspecified = 0,
1304 
1305  /// Finished
1306  Finished = 1,
1307 
1308  /// Unnegotiated
1309  Unnegotiated = 2,
1310 
1311  /// NotEstablished
1312  NotEstablished = 3,
1313 
1314  /// SessionBlocked
1315  SessionBlocked = 4,
1316 
1317  /// NegotiationInProgress
1318  NegotiationInProgress = 5,
1319 
1320  /// EstablishInProgress
1321  EstablishInProgress = 6,
1322 
1323  /// KeepaliveIntervalLapsed
1324  KeepaliveIntervalLapsed = 10,
1325 
1326  /// InvalidSessionid
1327  InvalidSessionid = 11,
1328 
1329  /// InvalidSessionverid
1330  InvalidSessionverid = 12,
1331 
1332  /// InvalidTimestamp
1333  InvalidTimestamp = 13,
1334 
1335  /// InvalidNextseqno
1336  InvalidNextseqno = 14,
1337 
1338  /// UnrecognizedMessage
1339  UnrecognizedMessage = 15,
1340 
1341  /// InvalidSofh
1342  InvalidSofh = 16,
1343 
1344  /// DecodingError
1345  DecodingError = 17,
1346 
1347  /// TerminateNotAllowed
1348  TerminateNotAllowed = 20,
1349 
1350  /// TerminateInProgress
1351  TerminateInProgress = 21,
1352 
1353  /// ProtocolVersionNotSupported
1354  ProtocolVersionNotSupported = 23,
1355 
1356  /// BackupTakeoverInProgress
1357  BackupTakeoverInProgress = 30
1358  };
1359 
1360  /// \return a human-readable presentation.
1362  static
1363  std::string
1364  toString(
1365  Enum);
1366 };
1367 
1368 /// Identifies the code of reject retransmission.
1369 ///
1370 /// FIX type: Int.
1372 {
1373  typedef UInt8 Base;
1374 
1375  /// Identifies the code of reject retransmission.
1376  enum Enum
1377  {
1378  /// OutOfRange
1379  OutOfRange = 0,
1380 
1381  /// InvalidSession
1382  InvalidSession = 1,
1383 
1384  /// RequestLimitExceeded
1385  RequestLimitExceeded = 2,
1386 
1387  /// RetransmitInProgress
1388  RetransmitInProgress = 3,
1389 
1390  /// InvalidTimestamp
1391  InvalidTimestamp = 4,
1392 
1393  /// InvalidFromseqno
1394  InvalidFromseqno = 5,
1395 
1396  /// InvalidCount
1397  InvalidCount = 9,
1398 
1399  /// ThrottleReject
1400  ThrottleReject = 10,
1401 
1402  /// SystemBusy
1403  SystemBusy = 11
1404  };
1405 
1406  /// \return a human-readable presentation.
1408  static
1409  std::string
1410  toString(
1411  Enum);
1412 };
1413 
1414 /// Criteria used to initiate cancel on disconnect mechanism by the gateway.
1415 ///
1416 /// FIX type: Int.
1418 {
1419  typedef UInt8 Base;
1420 
1421  /// Criteria used to initiate cancel on disconnect mechanism by the gateway.
1422  enum Enum
1423  {
1424  /// DoNotCancelOnDisconnectOrTerminate
1425  DoNotCancelOnDisconnectOrTerminate = 0,
1426 
1427  /// CancelOnDisconnectOnly
1428  CancelOnDisconnectOnly = 1,
1429 
1430  /// CancelOnTerminateOnly
1431  CancelOnTerminateOnly = 2,
1432 
1433  /// CancelOnDisconnectOrTerminate
1434  CancelOnDisconnectOrTerminate = 3
1435  };
1436 
1437  /// \return a human-readable presentation.
1439  static
1440  std::string
1441  toString(
1442  Enum);
1443 };
1444 
1445 /// Side of order.
1446 ///
1447 /// FIX type: Char.
1449 {
1450  typedef Char Base;
1451 
1452  /// Side of order.
1453  enum Enum
1454  {
1455  /// Buy
1456  Buy = '1',
1457 
1458  /// Sell
1459  Sell = '2'
1460  };
1461 
1462  /// \return a human-readable presentation.
1464  static
1465  std::string
1466  toString(
1467  Enum);
1468 };
1469 
1470 /// Specifies how long the order remains in effect.
1471 ///
1472 /// FIX type: Char.
1474 {
1475  typedef Char Base;
1476 
1477  /// Specifies how long the order remains in effect.
1478  enum Enum
1479  {
1480  /// Day
1481  Day = '0',
1482 
1483  /// GoodTillCancel
1484  GoodTillCancel = '1',
1485 
1486  /// ImmediateOrCancel
1487  ImmediateOrCancel = '3',
1488 
1489  /// FillOrKill
1490  FillOrKill = '4',
1491 
1492  /// GoodTillDate
1493  GoodTillDate = '6',
1494 
1495  /// AtTheClose
1496  AtTheClose = '7',
1497 
1498  /// GoodForAuction
1499  GoodForAuction = 'A'
1500  };
1501 
1502  /// \return a human-readable presentation.
1504  static
1505  std::string
1506  toString(
1507  Enum);
1508 };
1509 
1510 /// Specifies how long the order remains in effect.
1511 ///
1512 /// FIX type: Char.
1514 {
1515  typedef Char Base;
1516 
1517  /// Specifies how long the order remains in effect.
1518  enum Enum
1519  {
1520  /// Day
1521  Day = '0',
1522 
1523  /// ImmediateOrCancel
1524  ImmediateOrCancel = '3',
1525 
1526  /// FillOrKill
1527  FillOrKill = '4'
1528  };
1529 
1530  /// \return a human-readable presentation.
1532  static
1533  std::string
1534  toString(
1535  Enum);
1536 };
1537 
1538 /// Order type.
1539 ///
1540 /// FIX type: Char.
1542 {
1543  typedef Char Base;
1544 
1545  /// Order type.
1546  enum Enum
1547  {
1548  /// Market
1549  Market = '1',
1550 
1551  /// Limit
1552  Limit = '2',
1553 
1554  /// StopLoss
1555  StopLoss = '3',
1556 
1557  /// StopLimit
1558  StopLimit = '4',
1559 
1560  /// MarketWithLeftoverAsLimit
1561  MarketWithLeftoverAsLimit = 'K',
1562 
1563  /// Rlp
1564  Rlp = 'W',
1565 
1566  /// PeggedMidpoint
1567  PeggedMidpoint = 'P'
1568  };
1569 
1570  /// \return a human-readable presentation.
1572  static
1573  std::string
1574  toString(
1575  Enum);
1576 };
1577 
1578 /// Order type.
1579 ///
1580 /// FIX type: Char.
1582 {
1583  typedef Char Base;
1584 
1585  /// Order type.
1586  enum Enum
1587  {
1588  /// Market
1589  Market = '1',
1590 
1591  /// Limit
1592  Limit = '2'
1593  };
1594 
1595  /// \return a human-readable presentation.
1597  static
1598  std::string
1599  toString(
1600  Enum);
1601 };
1602 
1603 /// Indicates additional order instruction.
1604 ///
1605 /// FIX type: Int.
1607 {
1608  typedef UInt8 Base;
1609 
1610  /// Indicates additional order instruction.
1611  enum Enum
1612  {
1613  /// RetailLiquidityTaker
1614  RetailLiquidityTaker = 1,
1615 
1616  /// WaivedPriority
1617  WaivedPriority = 2,
1618 
1619  /// BrokerOnly
1620  BrokerOnly = 3,
1621 
1622  /// BrokerOnlyRemoval
1623  BrokerOnlyRemoval = 4
1624  };
1625 
1626  /// \return a human-readable presentation.
1628  static
1629  std::string
1630  toString(
1631  Enum);
1632 };
1633 
1634 /// Describes the action that triggered this specific Execution Report - see the OrdStatus (39) tag for the current order status (e.g, Partially Filled).
1635 ///
1636 /// FIX type: Char.
1638 {
1639  typedef Char Base;
1640 
1641  /// Describes the action that triggered this specific Execution Report - see the OrdStatus (39) tag for the current order status (e.g, Partially Filled).
1642  enum Enum
1643  {
1644  /// Trade
1645  Trade = 'F',
1646 
1647  /// TradeCancel
1648  TradeCancel = 'H'
1649  };
1650 
1651  /// \return a human-readable presentation.
1653  static
1654  std::string
1655  toString(
1656  Enum);
1657 };
1658 
1659 /// Identifies current status of order.
1660 ///
1661 /// FIX type: Char.
1663 {
1664  typedef Char Base;
1665 
1666  /// Identifies current status of order.
1667  enum Enum
1668  {
1669  /// New
1670  New = '0',
1671 
1672  /// PartiallyFilled
1673  PartiallyFilled = '1',
1674 
1675  /// Filled
1676  Filled = '2',
1677 
1678  /// Canceled
1679  Canceled = '4',
1680 
1681  /// Replaced
1682  Replaced = '5',
1683 
1684  /// Rejected
1685  Rejected = '8',
1686 
1687  /// Expired
1688  Expired = 'C',
1689 
1690  /// Restated
1691  Restated = 'R',
1692 
1693  /// PreviousFinalState
1694  PreviousFinalState = 'Z'
1695  };
1696 
1697  /// \return a human-readable presentation.
1699  static
1700  std::string
1701  toString(
1702  Enum);
1703 };
1704 
1705 /// Used to communicate a reason for a solicited cancel.
1706 ///
1707 /// FIX type: Int.
1709 {
1710  typedef UInt8 Base;
1711 
1712  /// Used to communicate a reason for a solicited cancel.
1713  enum Enum
1714  {
1715  /// CancelOrderDueToOperationalError
1716  CancelOrderDueToOperationalError = 203
1717  };
1718 
1719  /// \return a human-readable presentation.
1721  static
1722  std::string
1723  toString(
1724  Enum);
1725 };
1726 
1727 /// Used to communicate event type which triggers mass cancelation.
1728 ///
1729 /// FIX type: Int.
1731 {
1732  typedef UInt8 Base;
1733 
1734  /// Used to communicate event type which triggers mass cancelation.
1735  enum Enum
1736  {
1737  /// OrderMassActionFromClientRequest
1738  OrderMassActionFromClientRequest = 202,
1739 
1740  /// MassCancelOrderDueToOperationalErrorRequest
1741  MassCancelOrderDueToOperationalErrorRequest = 207
1742  };
1743 
1744  /// \return a human-readable presentation.
1746  static
1747  std::string
1748  toString(
1749  Enum);
1750 };
1751 
1752 /// Indicates reason of cancelation, if available.
1753 ///
1754 /// FIX type: Int.
1756 {
1757  typedef UInt8 Base;
1758 
1759  /// Indicates reason of cancelation, if available.
1760  enum Enum
1761  {
1762  /// MarketOption
1763  MarketOption = 8,
1764 
1765  /// CancelOnHardDisconnection
1766  CancelOnHardDisconnection = 100,
1767 
1768  /// CancelOnTerminate
1769  CancelOnTerminate = 101,
1770 
1771  /// CancelOnDisconnectAndTerminate
1772  CancelOnDisconnectAndTerminate = 102,
1773 
1774  /// SelfTradingPrevention
1775  SelfTradingPrevention = 103,
1776 
1777  /// CancelFromFirmsoft
1778  CancelFromFirmsoft = 105,
1779 
1780  /// CancelRestingOrderOnSelfTrade
1781  CancelRestingOrderOnSelfTrade = 107,
1782 
1783  /// MarketMakerProtection
1784  MarketMakerProtection = 200,
1785 
1786  /// RiskManagementCancellation
1787  RiskManagementCancellation = 201,
1788 
1789  /// OrderMassActionFromClientRequest
1790  OrderMassActionFromClientRequest = 202,
1791 
1792  /// CancelOrderDueToOperationalError
1793  CancelOrderDueToOperationalError = 203,
1794 
1795  /// OrderCancelledDueToOperationalError
1796  OrderCancelledDueToOperationalError = 204,
1797 
1798  /// CancelOrderFirmsoftDueToOperationalError
1799  CancelOrderFirmsoftDueToOperationalError = 205,
1800 
1801  /// OrderCancelledFirmsoftDueToOperationalError
1802  OrderCancelledFirmsoftDueToOperationalError = 206,
1803 
1804  /// MassCancelOrderDueToOperationalErrorRequest
1805  MassCancelOrderDueToOperationalErrorRequest = 207,
1806 
1807  /// MassCancelOrderDueToOperationalErrorEffective
1808  MassCancelOrderDueToOperationalErrorEffective = 208,
1809 
1810  /// CancelOnMidpointBrokerOnlyRemoval
1811  CancelOnMidpointBrokerOnlyRemoval = 209,
1812 
1813  /// CancelRemainingFromSweepCross
1814  CancelRemainingFromSweepCross = 210,
1815 
1816  /// MassCancelOnBehalf
1817  MassCancelOnBehalf = 211,
1818 
1819  /// MassCancelOnBehalfDueToOperationalErrorEffective
1820  MassCancelOnBehalfDueToOperationalErrorEffective = 212
1821  };
1822 
1823  /// \return a human-readable presentation.
1825  static
1826  std::string
1827  toString(
1828  Enum);
1829 };
1830 
1831 /// Used to indicate what an Execution Report represents.
1832 ///
1833 /// FIX type: Char.
1835 {
1836  typedef Char Base;
1837 
1838  /// Used to indicate what an Execution Report represents.
1839  enum Enum
1840  {
1841  /// SingleSecurity
1842  SingleSecurity = '1',
1843 
1844  /// IndividuallegOfMultilegSecurity
1845  IndividuallegOfMultilegSecurity = '2',
1846 
1847  /// MultilegSecurity
1848  MultilegSecurity = '3'
1849  };
1850 
1851  /// \return a human-readable presentation.
1853  static
1854  std::string
1855  toString(
1856  Enum);
1857 };
1858 
1859 /// Defines the type of interest behind a trade i.e. why a trade occurred.
1860 ///
1861 /// FIX type: Char.
1863 {
1864  typedef Char Base;
1865 
1866  /// Defines the type of interest behind a trade i.e. why a trade occurred.
1867  enum Enum
1868  {
1869  /// ResultOfOptionsExercise
1870  ResultOfOptionsExercise = 'B',
1871 
1872  /// ResultOfAssignmentFromAnOptionsExercise
1873  ResultOfAssignmentFromAnOptionsExercise = 'C',
1874 
1875  /// ResultOfAutomaticOptionsExercise
1876  ResultOfAutomaticOptionsExercise = 'D',
1877 
1878  /// ResultOfMidpointOrder
1879  ResultOfMidpointOrder = 'E',
1880 
1881  /// ResultOfBlockBookTrade
1882  ResultOfBlockBookTrade = 'F',
1883 
1884  /// ResultOfTradeAtClose
1885  ResultOfTradeAtClose = 'G',
1886 
1887  /// ResultOfTradeAtAverage
1888  ResultOfTradeAtAverage = 'H'
1889  };
1890 
1891  /// \return a human-readable presentation.
1893  static
1894  std::string
1895  toString(
1896  Enum);
1897 };
1898 
1899 /// Type of Account associated with an order.
1900 ///
1901 /// FIX type: Int.
1903 {
1904  typedef UInt8 Base;
1905 
1906  /// Type of Account associated with an order.
1907  enum Enum
1908  {
1909  /// RemoveAccountInformation
1910  RemoveAccountInformation = 38,
1911 
1912  /// RegularAccount
1913  RegularAccount = 39
1914  };
1915 
1916  /// \return a human-readable presentation.
1918  static
1919  std::string
1920  toString(
1921  Enum);
1922 };
1923 
1924 /// Identifies the type of request that this cancel reject is in response to.
1925 ///
1926 /// FIX type: Int.
1928 {
1929  typedef UInt8 Base;
1930 
1931  /// Identifies the type of request that this cancel reject is in response to.
1932  enum Enum
1933  {
1934  /// New
1935  New = 0,
1936 
1937  /// Cancel
1938  Cancel = 1,
1939 
1940  /// Replace
1941  Replace = 2
1942  };
1943 
1944  /// \return a human-readable presentation.
1946  static
1947  std::string
1948  toString(
1949  Enum);
1950 };
1951 
1952 /// Indicates that message may contain information that has been sent under another sequence number.
1953 ///
1954 /// FIX type: Boolean.
1956 {
1957  typedef UInt8 Base;
1958 
1959  /// Indicates that message may contain information that has been sent under another sequence number.
1960  enum Enum
1961  {
1962  /// false, N, 0.
1963  FalseValue = 0,
1964 
1965  /// true, Y, 1.
1966  TrueValue = 1
1967  };
1968 
1969  /// \return a human-readable presentation.
1971  static
1972  std::string
1973  toString(
1974  Enum);
1975 };
1976 
1977 /// Identifies the class of the SecurityID.
1978 ///
1979 /// FIX type: Char.
1981 {
1982  typedef Char Base;
1983 
1984  /// Identifies the class of the SecurityID.
1985  enum Enum
1986  {
1987  /// Isin
1988  Isin = '4',
1989 
1990  /// ExchangeSymbol
1991  ExchangeSymbol = '8'
1992  };
1993 
1994  /// \return a human-readable presentation.
1996  static
1997  std::string
1998  toString(
1999  Enum);
2000 };
2001 
2002 /// Indicates cross order purpose.
2003 ///
2004 /// FIX type: Int.
2006 {
2007  typedef UInt16 Base;
2008 
2009  /// Indicates cross order purpose.
2010  enum Enum
2011  {
2012  /// StructuredTransaction
2013  StructuredTransaction = 1001,
2014 
2015  /// OperationalError
2016  OperationalError = 1002,
2017 
2018  /// TwapVwap
2019  TwapVwap = 1003
2020  };
2021 
2022  /// \return a human-readable presentation.
2024  static
2025  std::string
2026  toString(
2027  Enum);
2028 };
2029 
2030 /// Identifier for Trading Session.
2031 ///
2032 /// FIX type: Int.
2034 {
2035  typedef UInt8 Base;
2036 
2037  /// Identifier for Trading Session.
2038  enum Enum
2039  {
2040  /// RegularDaySession
2041  RegularDaySession = 1,
2042 
2043  /// NonRegularSession
2044  NonRegularSession = 6
2045  };
2046 
2047  /// \return a human-readable presentation.
2049  static
2050  std::string
2051  toString(
2052  Enum);
2053 };
2054 
2055 /// Identifier for the instrument group phase.
2056 ///
2057 /// FIX type: Int.
2059 {
2060  typedef UInt8 Base;
2061 
2062  /// Identifier for the instrument group phase.
2063  enum Enum
2064  {
2065  /// Pause
2066  Pause = 2,
2067 
2068  /// Close
2069  Close = 4,
2070 
2071  /// Open
2072  Open = 17,
2073 
2074  /// PreClose
2075  PreClose = 18,
2076 
2077  /// PreOpen
2078  PreOpen = 21,
2079 
2080  /// FinalClosingCall
2081  FinalClosingCall = 101
2082  };
2083 
2084  /// \return a human-readable presentation.
2086  static
2087  std::string
2088  toString(
2089  Enum);
2090 };
2091 
2092 /// Identifier for the instrument status.
2093 ///
2094 /// FIX type: Int.
2096 {
2097  typedef UInt8 Base;
2098 
2099  /// Identifier for the instrument status.
2100  enum Enum
2101  {
2102  /// TradingHalt
2103  TradingHalt = 2,
2104 
2105  /// NoOpen
2106  NoOpen = 4,
2107 
2108  /// ReadyToTrade
2109  ReadyToTrade = 17,
2110 
2111  /// Forbidden
2112  Forbidden = 18,
2113 
2114  /// UnknownOrInvalid
2115  UnknownOrInvalid = 20,
2116 
2117  /// PreOpen
2118  PreOpen = 21,
2119 
2120  /// FinalClosingCall
2121  FinalClosingCall = 101,
2122 
2123  /// Reserved
2124  Reserved = 110
2125  };
2126 
2127  /// \return a human-readable presentation.
2129  static
2130  std::string
2131  toString(
2132  Enum);
2133 };
2134 
2135 /// Type of cross being submitted to a market.
2136 ///
2137 /// FIX type: Int.
2139 {
2140  typedef UInt8 Base;
2141 
2142  /// Type of cross being submitted to a market.
2143  enum Enum
2144  {
2145  /// AllOrNoneCross
2146  AllOrNoneCross = 1,
2147 
2148  /// CrossExecutedAgainstBookFromClient
2149  CrossExecutedAgainstBookFromClient = 4
2150  };
2151 
2152  /// \return a human-readable presentation.
2154  static
2155  std::string
2156  toString(
2157  Enum);
2158 };
2159 
2160 /// Indicates if one side or the other of a cross order should be prioritized.
2162 {
2163  typedef UInt8 Base;
2164 
2165  /// Indicates if one side or the other of a cross order should be prioritized.
2166  enum Enum
2167  {
2168  /// None
2169  None = 0,
2170 
2171  /// BuySideIsPrioritized
2172  BuySideIsPrioritized = 1,
2173 
2174  /// SellSideIsPrioritized
2175  SellSideIsPrioritized = 2
2176  };
2177 
2178  /// \return a human-readable presentation.
2180  static
2181  std::string
2182  toString(
2183  Enum);
2184 };
2185 
2186 
2187 /// Null value for an optional ClOrdIDOptional field.
2188 typedef
2191 
2192 
2193 /// Null value for an optional SessionIDOptional field.
2194 typedef
2197 
2198 
2199 /// Null value for an optional SessionVerIDOptional field.
2200 typedef
2203 
2204 
2205 /// Null value for an optional SeqNumOptional field.
2206 typedef
2209 
2210 
2211 /// Null value for an optional QuantityOptional field.
2212 typedef
2215 
2216 
2217 /// Null value for an optional LocalMktDateOptional field.
2218 typedef
2221 
2222 
2223 /// Null value for an optional AccountOptional field.
2224 typedef
2227 
2228 
2229 /// Null value for an optional FirmOptional field.
2230 typedef
2233 
2234 
2235 /// Null value for an optional DaysToSettlementOptional field.
2236 typedef
2239 
2240 
2241 /// Null value for an optional ExecIDOptional field.
2242 typedef
2245 
2246 
2247 /// Null value for an optional OrderIDOptional field.
2248 typedef
2251 
2252 
2253 /// Null value for an optional RejReasonOptional field.
2254 typedef
2257 
2258 
2259 /// Null value for an optional PosMaintRptIDOptional field.
2260 typedef
2263 
2264 
2265 /// Null value for an optional PosReqIDOptional field.
2266 typedef
2269 
2270 
2271 /// Null value for an optional BusinessRejectRefID field.
2272 typedef
2275 
2276 
2277 /// Null value for an optional MassActionReportIDOptional field.
2278 typedef
2281 
2282 
2283 /// Null value for an optional OrdTagID field.
2284 typedef
2287 
2288 
2289 /// Null value for an optional MarketSegmentIDOptional field.
2290 typedef
2293 
2294 
2295 /// Null value for an optional SecurityIDOptional field.
2296 typedef
2299 
2300 
2301 /// Null value for an optional CrossIDOptional field.
2302 typedef
2305 
2306 
2307 /// Null value for an optional TradeIDOptional field.
2308 typedef
2311 
2312 
2313 /// Null value for an optional QuoteIDOptional field.
2314 typedef
2317 
2318 
2319 /// Null value for an optional QuoteReqIDOptional field.
2320 typedef
2323 
2324 
2325 /// Null value for an optional TotNoRelatedSym field.
2326 typedef
2329 
2330 
2331 /// Null value for an optional StrategyIDOptional field.
2332 typedef
2335 
2336 
2337 /// Null value for an optional Uint8EnumEncoding field.
2338 typedef
2341 
2342 
2343 /// Null value for an optional Uint16EnumEncoding field.
2344 typedef
2347 
2348 
2349 
2350 /// Converts days since epoch to Timestamp value.
2351 inline
2353 Timestamp
2355 {
2356  return Timestamp(TimeSpan(days, 0, 0, 0, 0).ticks());
2357 }
2358 
2359 inline
2363 {
2364  return static_cast<LocalMktDate>(TimeSpan(timestamp.sinceEpoch()).days());
2365 }
2366 
Used to communicate a reason for a solicited cancel.
Definition: Fields.h:1708
UInt32 RejReasonOptional
Optional code to identify reason for order rejection.
Definition: Fields.h:231
The time point without the time-zone information.
Definition: Time.h:467
Identifier for the instrument group phase.
Definition: Fields.h:2058
Enum
Specifies how long the order remains in effect.
Definition: Fields.h:1518
#define ONIXS_B3_BOE_MESSAGING_NAMESPACE_END
Definition: ABI.h:144
Enum
Type of cross being submitted to a market.
Definition: Fields.h:2143
Identifies the type of quote cancel.
Definition: Fields.h:617
Enum
Status of Position Maintenance Request.
Definition: Fields.h:812
UInt16 LocalMktDate
Local calendar date: days since Unix epoch (January 1st, 1970).
Definition: Fields.h:151
UInt64 BusinessRejectRefID
Value of business-level identification field on the message being referenced.
Definition: Fields.h:275
Enum
Identifies the code of reject establishment.
Definition: Fields.h:1236
#define ONIXS_B3_BOE_LTWT_STRUCT
Definition: ABI.h:88
UInt64 ClOrdIDOptional
Optional unique identifier of the order as assigned by the market participant.
Definition: Fields.h:97
Describes the action that triggered this specific Execution Report - see the OrdStatus (39) tag for t...
Definition: Fields.h:1637
Timestamp localMktDateToTimestamp(LocalMktDate days) noexcept
Converts days since epoch to Timestamp value.
Definition: Fields.h:2354
Identifies the type of request that this cancel reject is in response to.
Definition: Fields.h:1927
IntegralConstant< UInt64, 0ULL > NullPosMaintRptIDOptional
Null value for an optional PosMaintRptIDOptional field.
Definition: Fields.h:2262
UInt16 DaysToSettlementOptional
Optional deadline for completing the forward deal.
Definition: Fields.h:195
UInt64 MassActionReportID
Unique ID of Order Mass Action Report as assigned by the matching engine.
Definition: Fields.h:281
Enum
Indicates that message may contain information that has been sent under another sequence number...
Definition: Fields.h:1960
UInt64 ExecID
Unique identifier of execution message as assigned by exchange.
Definition: Fields.h:201
UInt32 SessionIDOptional
Optional client connection identification on the gateway assigned by B3.
Definition: Fields.h:109
UInt8 Uint8EnumEncoding
Type used to encode enum with zero nullValue.
Definition: Fields.h:393
Maintenance Action to be performed.
Definition: Fields.h:891
UInt64 OrderIDOptional
Optional exchange-generated order identifier.
Definition: Fields.h:219
#define ONIXS_B3_BOE_NOTHROW
Definition: Compiler.h:182
Indicates how the orders being booked and allocated by an Allocation Instruction. ...
Definition: Fields.h:499
Identifier for Trading Session.
Definition: Fields.h:2033
Specifies if a simultaneous trade of the underlying is to be performed.
Definition: Fields.h:838
UInt64 SecurityReqRespID
Unique ID of a Security Definition Request/Response.
Definition: Fields.h:269
Specifies the type of action requested.
Definition: Fields.h:698
UInt16 DaysToSettlement
Deadline for completing the forward deal.
Definition: Fields.h:187
UInt8 MarketSegmentID
Identifies the market segment.
Definition: Fields.h:301
Unit of time used for measurement.
Definition: Fields.h:975
UInt64 CrossID
Identifier for a cross order.
Definition: Fields.h:327
Identifies the code of reject establishment.
Definition: Fields.h:1231
Enum
Indicates how the orders being booked and allocated by an Allocation Instruction. ...
Definition: Fields.h:504
UInt64 CrossIDOptional
Identifier for a cross order.
Definition: Fields.h:333
Identifier for the instrument status.
Definition: Fields.h:2095
Describes the specific type or purpose of an Allocation Report message.
Definition: Fields.h:455
Enum
Specifies the type of action requested.
Definition: Fields.h:703
Identifies the code of reject retransmission.
Definition: Fields.h:1371
UInt8 MarketSegmentIDOptional
Optional identifier of the market segment.
Definition: Fields.h:309
Identifies status of allocation.
Definition: Fields.h:521
UInt64 PosReqIDOptional
Optional unique identifier for the position maintenance request.
Definition: Fields.h:263
Enum
Specifies if a simultaneous trade of the underlying is to be performed.
Definition: Fields.h:843
LocalMktDate timestampToLocalMktDate(const Timestamp &timestamp) noexcept
Definition: Fields.h:2362
IntegralConstant< UInt32, 0 > NullSeqNumOptional
Null value for an optional SeqNumOptional field.
Definition: Fields.h:2208
Indicates which order should be canceled due to self-trade prevention.
Definition: Fields.h:944
Status of Position Maintenance Request.
Definition: Fields.h:807
Enum
Describes the action that triggered this specific Execution Report - see the OrdStatus (39) tag for t...
Definition: Fields.h:1642
Enum
Identifies the code of termination.
Definition: Fields.h:1300
Specifies the scope of the action.
Definition: Fields.h:676
Enum
Maintenance Action to be performed.
Definition: Fields.h:896
IntegralConstant< Int16,-32768 > NullInt16
Null value for an optional Int16 field.
Definition: Fields.h:67
Used to communicate event type which triggers mass cancelation.
Definition: Fields.h:1730
Enum
Identifies status of allocation.
Definition: Fields.h:526
IntegralConstant< UInt16, 65535 > NullDaysToSettlementOptional
Null value for an optional DaysToSettlementOptional field.
Definition: Fields.h:2238
Enum
Identifies allocation transaction type.
Definition: Fields.h:435
IntegralConstant< UInt64, 18446744073709551615ULL > NullUInt64
Null value for an optional UInt64 field.
Definition: Fields.h:56
UInt32 RejReason
Code to identify reason for order rejection.
Definition: Fields.h:225
Specifies how long the order remains in effect.
Definition: Fields.h:1513
Enum
Type of Security Definition message response.
Definition: Fields.h:784
Enum
Defines message type.
Definition: Fields.h:1011
IntegralConstant< UInt16, 65535 > NullUInt16
Null value for an optional UInt16 field.
Definition: Fields.h:44
UInt32 AccountOptional
Optional account mnemonic.
Definition: Fields.h:169
IntegralConstant< UInt64, 0ULL > NullOrderIDOptional
Null value for an optional OrderIDOptional field.
Definition: Fields.h:2250
UInt64 PosMaintRptID
Unique identifier for this position maintenance report message.
Definition: Fields.h:243
UInt32 Firm
Identification of the broker firm.
Definition: Fields.h:175
Enum
Identifies the code of reject negotiation.
Definition: Fields.h:1178
Indicates who in the contract has control over evoking settlement.
Definition: Fields.h:916
UInt64 MassActionReportIDOptional
Optional unique ID of Order Mass Action Report as assigned by the matching engine.
Definition: Fields.h:289
Enum
Used to communicate a reason for a solicited cancel.
Definition: Fields.h:1713
UInt64 SecurityIDOptional
Optional security identification as defined by exchange.
Definition: Fields.h:321
Enum
Describes the specific type or purpose of an Allocation Report message.
Definition: Fields.h:460
UInt64 SecurityID
Security identification as defined by exchange.
Definition: Fields.h:315
UInt64 PosMaintRptIDOptional
Optional unique identifier for this position maintenance report message.
Definition: Fields.h:251
UInt32 SessionID
Client connection identification on the gateway assigned by B3.
Definition: Fields.h:103
IntegralConstant< UInt8, 0 > NullUint8EnumEncoding
Null value for an optional Uint8EnumEncoding field.
Definition: Fields.h:2340
Enum
Indicates reason of cancelation, if available.
Definition: Fields.h:1760
Enum
Describes the specific type or purpose of an Allocation message.
Definition: Fields.h:482
Enum
Used to indicate what an Execution Report represents.
Definition: Fields.h:1839
UInt64 QuoteReqID
Unique identifier for quote request.
Definition: Fields.h:363
UInt8 OrdTagID
Identifies the order tag identification.
Definition: Fields.h:295
UInt64 QuoteIDOptional
Optional unique identifier for quote.
Definition: Fields.h:357
#define ONIXS_B3_BOE_NODISCARD
Definition: Compiler.h:191
Enum
Used to identify the type of quantity.
Definition: Fields.h:644
Identifies the status of the quote acknowledgement.
Definition: Fields.h:546
IntegralConstant< UInt64, 0ULL > NullBusinessRejectRefID
Null value for an optional BusinessRejectRefID field.
Definition: Fields.h:2274
Identifies the type of position transaction.
Definition: Fields.h:863
IntegralConstant< UInt64, 0ULL > NullCrossIDOptional
Null value for an optional CrossIDOptional field.
Definition: Fields.h:2304
Enum
Unit of time used for measurement.
Definition: Fields.h:980
IntegralConstant< UInt32, 0 > NullFirmOptional
Null value for an optional FirmOptional field.
Definition: Fields.h:2232
Identifies current status of order.
Definition: Fields.h:1662
Enum
Identifier for the instrument status.
Definition: Fields.h:2100
Indicates reason of cancelation, if available.
Definition: Fields.h:1755
UInt32 FirmOptional
Optional identification of the broker firm.
Definition: Fields.h:181
IntegralConstant< UInt8, 0 > NullOrdTagID
Null value for an optional OrdTagID field.
Definition: Fields.h:2286
IntegralConstant< UInt32, 0 > NullTradeIDOptional
Null value for an optional TradeIDOptional field.
Definition: Fields.h:2310
Enum
Identifies the type of position transaction.
Definition: Fields.h:868
IntegralConstant< UInt64, 0ULL > NullClOrdIDOptional
Null value for an optional ClOrdIDOptional field.
Definition: Fields.h:2190
IntegralConstant< UInt16, 0 > NullUint16EnumEncoding
Null value for an optional Uint16EnumEncoding field.
Definition: Fields.h:2346
Indicates that message may contain information that has been sent under another sequence number...
Definition: Fields.h:1955
UInt32 SeqNumOptional
Optional sequence number of a given SessionID/SessionVerID.
Definition: Fields.h:133
IntegralConstant< UInt64, 0ULL > NullQuoteIDOptional
Null value for an optional QuoteIDOptional field.
Definition: Fields.h:2316
Specifies the action taken by matching engine when it receives the Order Mass Action Request...
Definition: Fields.h:726
UInt16 LocalMktDateOptional
Local calendar date: days since Unix epoch (January 1st, 1970).
Definition: Fields.h:157
Enum
Type of Account associated with an order.
Definition: Fields.h:1907
#define ONIXS_B3_BOE_MESSAGING_NAMESPACE_BEGIN
Definition: ABI.h:140
UInt64 QuoteReqIDOptional
Optional unique identifier for quote request.
Definition: Fields.h:369
Int32 StrategyIDOptional
Optional unique identification of a client-assigned strategy.
Definition: Fields.h:387
IntegralConstant< Int32,-2147483647-1 > NullInt32
Null value for an optional Int32 field.
Definition: Fields.h:73
Used to identify the type of quantity.
Definition: Fields.h:639
UInt64 ExecIDOptional
Optional unique identifier of execution message as assigned by exchange.
Definition: Fields.h:207
IntegralConstant< UInt64, 0ULL > NullSecurityIDOptional
Null value for an optional SecurityIDOptional field.
Definition: Fields.h:2298
UInt64 SessionVerID
Session version identification: unique identification of a sequence of messages to be transmitted to ...
Definition: Fields.h:115
Enum
Identifies the code of reject retransmission.
Definition: Fields.h:1376
IntegralConstant< UInt64, 0ULL > NullExecIDOptional
Null value for an optional ExecIDOptional field.
Definition: Fields.h:2244
Enum
Identifier for the instrument group phase.
Definition: Fields.h:2063
Criteria used to initiate cancel on disconnect mechanism by the gateway.
Definition: Fields.h:1417
IntegralConstant< Char, '\x0'> NullChar
Null value for an optional Char field.
Definition: Fields.h:32
UInt64 SessionVerIDOptional
Optional session version identification: unique identification of a sequence of messages to be transm...
Definition: Fields.h:121
IntegralConstant< UInt64, 0ULL > NullSessionVerIDOptional
Null value for an optional SessionVerIDOptional field.
Definition: Fields.h:2202
Indicates cross order purpose.
Definition: Fields.h:2005
IntegralConstant< Int32, 0 > NullStrategyIDOptional
Null value for an optional StrategyIDOptional field.
Definition: Fields.h:2334
Used to indicate what an Execution Report represents.
Definition: Fields.h:1834
UInt32 Account
Account mnemonic.
Definition: Fields.h:163
Enum
Indicates additional order instruction.
Definition: Fields.h:1611
IntegralConstant< UInt64, 0ULL > NullQuantityOptional
Null value for an optional QuantityOptional field.
Definition: Fields.h:2214
Enum
Defines the type of interest behind a trade i.e. why a trade occurred.
Definition: Fields.h:1867
IntegralConstant< UInt32, 4294967295 > NullUInt32
Null value for an optional UInt32 field.
Definition: Fields.h:50
Enum
Identifies current status of order.
Definition: Fields.h:1667
Identifies allocation transaction type.
Definition: Fields.h:430
Enum
Reason Order Mass Action Request was rejected.
Definition: Fields.h:756
Defines the type of interest behind a trade i.e.
Definition: Fields.h:1862
IntegralConstant< UInt32, 0 > NullSessionIDOptional
Null value for an optional SessionIDOptional field.
Definition: Fields.h:2196
Type of cross being submitted to a market.
Definition: Fields.h:2138
Enum
Identifies the type of request that this cancel reject is in response to.
Definition: Fields.h:1932
Identifies the type of request that a Quote Status Report is in response to.
Definition: Fields.h:586
Enum
Identifies the type of request that a Quote Status Report is in response to.
Definition: Fields.h:591
Enum
Identifies the class of the SecurityID.
Definition: Fields.h:1985
Enum
Specifies the scope of the action. All Day and MOC orders will be cancelled. GTC, GTD and MOA orders ...
Definition: Fields.h:681
char Char
Character type alias.
Definition: String.h:30
Enum
Specifies the action taken by matching engine when it receives the Order Mass Action Request...
Definition: Fields.h:731
Enum
Identifier for Trading Session.
Definition: Fields.h:2038
Enum
Indicates if one side or the other of a cross order should be prioritized.
Definition: Fields.h:2166
Describes the specific type or purpose of an Allocation message.
Definition: Fields.h:477
Enum
Identifies the type of quote cancel.
Definition: Fields.h:622
IntegralConstant< Int8,-128 > NullInt8
Null value for an optional Int8 field.
Definition: Fields.h:61
Enum
Specifies how long the order remains in effect.
Definition: Fields.h:1478
UInt64 AllocID
Unique identifier for this allocation instruction message.
Definition: Fields.h:85
IntegralConstant< UInt64, 0ULL > NullPosReqIDOptional
Null value for an optional PosReqIDOptional field.
Definition: Fields.h:2268
Type of message flow from client to server or from server to client.
Definition: Fields.h:1142
Identifies the code of reject negotiation.
Definition: Fields.h:1173
Type of Security Definition message response.
Definition: Fields.h:779
UInt64 Quantity
Quantity in order/trade.
Definition: Fields.h:139
Enum
Used to communicate event type which triggers mass cancelation.
Definition: Fields.h:1735
IntegralConstant< UInt16, 0 > NullLocalMktDateOptional
Null value for an optional LocalMktDateOptional field.
Definition: Fields.h:2220
IntegralConstant< UInt8, 255 > NullUInt8
Null value for an optional UInt8 field.
Definition: Fields.h:38
Indicates additional order instruction.
Definition: Fields.h:1606
UInt8 TotNoRelatedSym
Number of leg fill notice messages sent with spread summary.
Definition: Fields.h:375
UInt64 ClOrdID
Unique identifier of the order as assigned by the market participant.
Definition: Fields.h:91
UInt32 TradeIDOptional
Optional unique identification assigned to the trade entity once it is received or matched by the exc...
Definition: Fields.h:345
Enum
Identifies the status of the quote acknowledgement.
Definition: Fields.h:551
UInt64 PosReqID
Unique identifier for the position maintenance request.
Definition: Fields.h:257
Specifies how long the order remains in effect.
Definition: Fields.h:1473
UInt64 QuoteID
Unique identifier for quote.
Definition: Fields.h:351
IntegralConstant< UInt32, 0 > NullAccountOptional
Null value for an optional AccountOptional field.
Definition: Fields.h:2226
IntegralConstant< UInt32, 0 > NullRejReasonOptional
Null value for an optional RejReasonOptional field.
Definition: Fields.h:2256
Enum
Indicates who in the contract has control over evoking settlement.
Definition: Fields.h:921
UInt64 QuantityOptional
Optional quantity in order/trade.
Definition: Fields.h:145
Enum
Criteria used to initiate cancel on disconnect mechanism by the gateway.
Definition: Fields.h:1422
IntegralConstant< UInt8, 0 > NullMarketSegmentIDOptional
Null value for an optional MarketSegmentIDOptional field.
Definition: Fields.h:2292
UInt32 SeqNum
Sequence number of a given SessionID/SessionVerID.
Definition: Fields.h:127
IntegralConstant< Int64,-9223372036854775807LL-1 > NullInt64
Null value for an optional Int64 field.
Definition: Fields.h:79
Reason Order Mass Action Request was rejected.
Definition: Fields.h:751
UInt16 Uint16EnumEncoding
Type used to encode enum with zero nullValue.
Definition: Fields.h:399
Enum
Indicates which order should be canceled due to self-trade prevention.
Definition: Fields.h:949
Indicates if one side or the other of a cross order should be prioritized.
Definition: Fields.h:2161
Defines message type.
Definition: Fields.h:1006
UInt64 OrderID
Exchange-generated order identifier.
Definition: Fields.h:213
IntegralConstant< UInt8, 0 > NullTotNoRelatedSym
Null value for an optional TotNoRelatedSym field.
Definition: Fields.h:2328
UInt32 TradeID
The unique identification assigned to the trade entity once it is received or matched by the exchange...
Definition: Fields.h:339
Enum
Type of message flow from client to server or from server to client.
Definition: Fields.h:1147
Type of Account associated with an order.
Definition: Fields.h:1902
UInt32 MessageCounter
Counter of related messages.
Definition: Fields.h:381
Enum
Indicates cross order purpose.
Definition: Fields.h:2010
UInt64 AllocReportID
Unique identifier for this allocation report message.
Definition: Fields.h:237
IntegralConstant< UInt64, 0ULL > NullMassActionReportIDOptional
Null value for an optional MassActionReportIDOptional field.
Definition: Fields.h:2280
IntegralConstant< UInt64, 0ULL > NullQuoteReqIDOptional
Null value for an optional QuoteReqIDOptional field.
Definition: Fields.h:2322
Identifies the code of termination.
Definition: Fields.h:1295
Identifies the class of the SecurityID.
Definition: Fields.h:1980