func (a *Application) updateOrder(order internal.Order, status enum.OrdStatus) { execReport := executionreport.New( field.NewOrderID(order.ClOrdID), field.NewExecID(a.genExecID()), field.NewExecTransType(enum.ExecTransType_NEW), field.NewExecType(enum.ExecType(status)), field.NewOrdStatus(status), field.NewSymbol(order.Symbol), field.NewSide(order.Side), field.NewLeavesQty(order.OpenQuantity(), 2), field.NewCumQty(order.ExecutedQuantity, 2), field.NewAvgPx(order.AvgPx, 2), ) execReport.SetOrderQty(order.Quantity, 2) execReport.SetClOrdID(order.ClOrdID) switch status { case enum.OrdStatus_FILLED, enum.OrdStatus_PARTIALLY_FILLED: execReport.SetLastShares(order.LastExecutedQuantity, 2) execReport.SetLastPx(order.LastExecutedPrice, 2) } execReport.Header.SetTargetCompID(order.SenderCompID) execReport.Header.SetSenderCompID(order.TargetCompID) quickfix.Send(execReport) }
func (a *Application) updateOrder(order Order, status string) { execReport := executionreport.New( field.NewOrderID(order.ClOrdID), field.NewExecID(a.genExecID()), field.NewExecTransType(enum.ExecTransType_NEW), field.NewExecType(status), field.NewOrdStatus(status), field.NewSymbol(order.Symbol), field.NewSide(order.Side), field.NewLeavesQty(order.OpenQuantity()), field.NewCumQty(order.ExecutedQuantity), field.NewAvgPx(order.AvgPx), ) execReport.SetOrderQty(order.Quantity) execReport.SetClOrdID(order.ClOrdID) execReport.Header.SetTargetCompID(order.SenderCompID) execReport.Header.SetSenderCompID(order.TargetCompID) quickfix.Send(execReport) }
//SetExecID sets ExecID, Tag 17 func (m NoExecs) SetExecID(v string) { m.Set(field.NewExecID(v)) }
//SetExecID sets ExecID, Tag 17 func (m DontKnowTrade) SetExecID(v string) { m.Set(field.NewExecID(v)) }
//SetExecID sets ExecID, Tag 17 func (m TradeCaptureReportRequest) SetExecID(v string) { m.Set(field.NewExecID(v)) }
//SetExecID sets ExecID, Tag 17 func (m ExecutionReport) SetExecID(v string) { m.Set(field.NewExecID(v)) }
func (e *executor) genExecID() field.ExecIDField { e.execID++ return field.NewExecID(strconv.Itoa(e.execID)) }