forked from quickfixgo/quickfix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
MultilegOrderCancelReplace.go
219 lines (214 loc) · 10.2 KB
/
MultilegOrderCancelReplace.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
//Package multilegordercancelreplace msg type = AC.
package multilegordercancelreplace
import (
"github.com/quickfixgo/quickfix"
"github.com/quickfixgo/quickfix/enum"
"github.com/quickfixgo/quickfix/fix50sp1/commissiondata"
"github.com/quickfixgo/quickfix/fix50sp1/discretioninstructions"
"github.com/quickfixgo/quickfix/fix50sp1/displayinstruction"
"github.com/quickfixgo/quickfix/fix50sp1/instrument"
"github.com/quickfixgo/quickfix/fix50sp1/legordgrp"
"github.com/quickfixgo/quickfix/fix50sp1/orderqtydata"
"github.com/quickfixgo/quickfix/fix50sp1/parties"
"github.com/quickfixgo/quickfix/fix50sp1/peginstructions"
"github.com/quickfixgo/quickfix/fix50sp1/preallocmleggrp"
"github.com/quickfixgo/quickfix/fix50sp1/strategyparametersgrp"
"github.com/quickfixgo/quickfix/fix50sp1/trdgsesgrp"
"github.com/quickfixgo/quickfix/fix50sp1/triggeringinstruction"
"github.com/quickfixgo/quickfix/fix50sp1/undinstrmtgrp"
"github.com/quickfixgo/quickfix/fixt11"
"time"
)
//Message is a MultilegOrderCancelReplace FIX Message
type Message struct {
FIXMsgType string `fix:"AC"`
Header fixt11.Header
//OrderID is a non-required field for MultilegOrderCancelReplace.
OrderID *string `fix:"37"`
//OrigClOrdID is a non-required field for MultilegOrderCancelReplace.
OrigClOrdID *string `fix:"41"`
//ClOrdID is a non-required field for MultilegOrderCancelReplace.
ClOrdID *string `fix:"11"`
//SecondaryClOrdID is a non-required field for MultilegOrderCancelReplace.
SecondaryClOrdID *string `fix:"526"`
//ClOrdLinkID is a non-required field for MultilegOrderCancelReplace.
ClOrdLinkID *string `fix:"583"`
//OrigOrdModTime is a non-required field for MultilegOrderCancelReplace.
OrigOrdModTime *time.Time `fix:"586"`
//Parties Component
Parties parties.Component
//TradeOriginationDate is a non-required field for MultilegOrderCancelReplace.
TradeOriginationDate *string `fix:"229"`
//TradeDate is a non-required field for MultilegOrderCancelReplace.
TradeDate *string `fix:"75"`
//Account is a non-required field for MultilegOrderCancelReplace.
Account *string `fix:"1"`
//AcctIDSource is a non-required field for MultilegOrderCancelReplace.
AcctIDSource *int `fix:"660"`
//AccountType is a non-required field for MultilegOrderCancelReplace.
AccountType *int `fix:"581"`
//DayBookingInst is a non-required field for MultilegOrderCancelReplace.
DayBookingInst *string `fix:"589"`
//BookingUnit is a non-required field for MultilegOrderCancelReplace.
BookingUnit *string `fix:"590"`
//PreallocMethod is a non-required field for MultilegOrderCancelReplace.
PreallocMethod *string `fix:"591"`
//AllocID is a non-required field for MultilegOrderCancelReplace.
AllocID *string `fix:"70"`
//PreAllocMlegGrp Component
PreAllocMlegGrp preallocmleggrp.Component
//SettlType is a non-required field for MultilegOrderCancelReplace.
SettlType *string `fix:"63"`
//SettlDate is a non-required field for MultilegOrderCancelReplace.
SettlDate *string `fix:"64"`
//CashMargin is a non-required field for MultilegOrderCancelReplace.
CashMargin *string `fix:"544"`
//ClearingFeeIndicator is a non-required field for MultilegOrderCancelReplace.
ClearingFeeIndicator *string `fix:"635"`
//HandlInst is a non-required field for MultilegOrderCancelReplace.
HandlInst *string `fix:"21"`
//ExecInst is a non-required field for MultilegOrderCancelReplace.
ExecInst *string `fix:"18"`
//MinQty is a non-required field for MultilegOrderCancelReplace.
MinQty *float64 `fix:"110"`
//MaxFloor is a non-required field for MultilegOrderCancelReplace.
MaxFloor *float64 `fix:"111"`
//ExDestination is a non-required field for MultilegOrderCancelReplace.
ExDestination *string `fix:"100"`
//TrdgSesGrp Component
TrdgSesGrp trdgsesgrp.Component
//ProcessCode is a non-required field for MultilegOrderCancelReplace.
ProcessCode *string `fix:"81"`
//Side is a required field for MultilegOrderCancelReplace.
Side string `fix:"54"`
//Instrument Component
Instrument instrument.Component
//UndInstrmtGrp Component
UndInstrmtGrp undinstrmtgrp.Component
//PrevClosePx is a non-required field for MultilegOrderCancelReplace.
PrevClosePx *float64 `fix:"140"`
//LegOrdGrp Component
LegOrdGrp legordgrp.Component
//LocateReqd is a non-required field for MultilegOrderCancelReplace.
LocateReqd *bool `fix:"114"`
//TransactTime is a required field for MultilegOrderCancelReplace.
TransactTime time.Time `fix:"60"`
//QtyType is a non-required field for MultilegOrderCancelReplace.
QtyType *int `fix:"854"`
//OrderQtyData Component
OrderQtyData orderqtydata.Component
//OrdType is a required field for MultilegOrderCancelReplace.
OrdType string `fix:"40"`
//PriceType is a non-required field for MultilegOrderCancelReplace.
PriceType *int `fix:"423"`
//Price is a non-required field for MultilegOrderCancelReplace.
Price *float64 `fix:"44"`
//StopPx is a non-required field for MultilegOrderCancelReplace.
StopPx *float64 `fix:"99"`
//Currency is a non-required field for MultilegOrderCancelReplace.
Currency *string `fix:"15"`
//ComplianceID is a non-required field for MultilegOrderCancelReplace.
ComplianceID *string `fix:"376"`
//SolicitedFlag is a non-required field for MultilegOrderCancelReplace.
SolicitedFlag *bool `fix:"377"`
//IOIID is a non-required field for MultilegOrderCancelReplace.
IOIID *string `fix:"23"`
//QuoteID is a non-required field for MultilegOrderCancelReplace.
QuoteID *string `fix:"117"`
//TimeInForce is a non-required field for MultilegOrderCancelReplace.
TimeInForce *string `fix:"59"`
//EffectiveTime is a non-required field for MultilegOrderCancelReplace.
EffectiveTime *time.Time `fix:"168"`
//ExpireDate is a non-required field for MultilegOrderCancelReplace.
ExpireDate *string `fix:"432"`
//ExpireTime is a non-required field for MultilegOrderCancelReplace.
ExpireTime *time.Time `fix:"126"`
//GTBookingInst is a non-required field for MultilegOrderCancelReplace.
GTBookingInst *int `fix:"427"`
//CommissionData Component
CommissionData commissiondata.Component
//OrderCapacity is a non-required field for MultilegOrderCancelReplace.
OrderCapacity *string `fix:"528"`
//OrderRestrictions is a non-required field for MultilegOrderCancelReplace.
OrderRestrictions *string `fix:"529"`
//CustOrderCapacity is a non-required field for MultilegOrderCancelReplace.
CustOrderCapacity *int `fix:"582"`
//ForexReq is a non-required field for MultilegOrderCancelReplace.
ForexReq *bool `fix:"121"`
//SettlCurrency is a non-required field for MultilegOrderCancelReplace.
SettlCurrency *string `fix:"120"`
//BookingType is a non-required field for MultilegOrderCancelReplace.
BookingType *int `fix:"775"`
//Text is a non-required field for MultilegOrderCancelReplace.
Text *string `fix:"58"`
//EncodedTextLen is a non-required field for MultilegOrderCancelReplace.
EncodedTextLen *int `fix:"354"`
//EncodedText is a non-required field for MultilegOrderCancelReplace.
EncodedText *string `fix:"355"`
//PositionEffect is a non-required field for MultilegOrderCancelReplace.
PositionEffect *string `fix:"77"`
//CoveredOrUncovered is a non-required field for MultilegOrderCancelReplace.
CoveredOrUncovered *int `fix:"203"`
//MaxShow is a non-required field for MultilegOrderCancelReplace.
MaxShow *float64 `fix:"210"`
//PegInstructions Component
PegInstructions peginstructions.Component
//DiscretionInstructions Component
DiscretionInstructions discretioninstructions.Component
//TargetStrategy is a non-required field for MultilegOrderCancelReplace.
TargetStrategy *int `fix:"847"`
//TargetStrategyParameters is a non-required field for MultilegOrderCancelReplace.
TargetStrategyParameters *string `fix:"848"`
//ParticipationRate is a non-required field for MultilegOrderCancelReplace.
ParticipationRate *float64 `fix:"849"`
//CancellationRights is a non-required field for MultilegOrderCancelReplace.
CancellationRights *string `fix:"480"`
//MoneyLaunderingStatus is a non-required field for MultilegOrderCancelReplace.
MoneyLaunderingStatus *string `fix:"481"`
//RegistID is a non-required field for MultilegOrderCancelReplace.
RegistID *string `fix:"513"`
//Designation is a non-required field for MultilegOrderCancelReplace.
Designation *string `fix:"494"`
//MultiLegRptTypeReq is a non-required field for MultilegOrderCancelReplace.
MultiLegRptTypeReq *int `fix:"563"`
//StrategyParametersGrp Component
StrategyParametersGrp strategyparametersgrp.Component
//MatchIncrement is a non-required field for MultilegOrderCancelReplace.
MatchIncrement *float64 `fix:"1089"`
//MaxPriceLevels is a non-required field for MultilegOrderCancelReplace.
MaxPriceLevels *int `fix:"1090"`
//DisplayInstruction Component
DisplayInstruction displayinstruction.Component
//PriceProtectionScope is a non-required field for MultilegOrderCancelReplace.
PriceProtectionScope *string `fix:"1092"`
//TriggeringInstruction Component
TriggeringInstruction triggeringinstruction.Component
//PreTradeAnonymity is a non-required field for MultilegOrderCancelReplace.
PreTradeAnonymity *bool `fix:"1091"`
//ExDestinationIDSource is a non-required field for MultilegOrderCancelReplace.
ExDestinationIDSource *string `fix:"1133"`
//SwapPoints is a non-required field for MultilegOrderCancelReplace.
SwapPoints *float64 `fix:"1069"`
//MultilegModel is a non-required field for MultilegOrderCancelReplace.
MultilegModel *int `fix:"1377"`
//MultilegPriceMethod is a non-required field for MultilegOrderCancelReplace.
MultilegPriceMethod *int `fix:"1378"`
//RiskFreeRate is a non-required field for MultilegOrderCancelReplace.
RiskFreeRate *float64 `fix:"1190"`
Trailer fixt11.Trailer
}
//Marshal converts Message to a quickfix.Message instance
func (m Message) Marshal() quickfix.Message { return quickfix.Marshal(m) }
//A RouteOut is the callback type that should be implemented for routing Message
type RouteOut func(msg Message, sessionID quickfix.SessionID) quickfix.MessageRejectError
//Route returns the beginstring, message type, and MessageRoute for this Mesage type
func Route(router RouteOut) (string, string, quickfix.MessageRoute) {
r := func(msg quickfix.Message, sessionID quickfix.SessionID) quickfix.MessageRejectError {
m := new(Message)
if err := quickfix.Unmarshal(msg, m); err != nil {
return err
}
return router(*m, sessionID)
}
return enum.ApplVerID_FIX50SP1, "AC", r
}