func queryNewOrderSingle40() fix40nos.NewOrderSingle { var ordType field.OrdTypeField order := fix40nos.New(queryClOrdID(), field.NewHandlInst("1"), querySymbol(), querySide(), queryOrderQty(), queryOrdType(&ordType)) switch ordType.Value() { case enum.OrdType_LIMIT, enum.OrdType_STOP_LIMIT: order.Set(queryPrice()) } switch ordType.Value() { case enum.OrdType_STOP, enum.OrdType_STOP_LIMIT: order.Set(queryStopPx()) } order.Set(queryTimeInForce()) queryHeader(order.Header.Header) return order }
func queryNewOrderSingle42() (msg quickfix.Message) { var ordType field.OrdTypeField order := fix42nos.New(queryClOrdID(), field.NewHandlInst("1"), querySymbol(), querySide(), field.NewTransactTime(time.Now()), queryOrdType(&ordType)) order.Set(queryOrderQty()) switch ordType.Value() { case enum.OrdType_LIMIT, enum.OrdType_STOP_LIMIT: order.Set(queryPrice()) } switch ordType.Value() { case enum.OrdType_STOP, enum.OrdType_STOP_LIMIT: order.Set(queryStopPx()) } order.Set(queryTimeInForce()) msg = order.ToMessage() queryHeader(msg.Header) return }
//SetHandlInst sets HandlInst, Tag 21 func (m NewOrderSingle) SetHandlInst(v enum.HandlInst) { m.Set(field.NewHandlInst(v)) }
//SetHandlInst sets HandlInst, Tag 21 func (m NewOrderSingle) SetHandlInst(v string) { m.Set(field.NewHandlInst(v)) }
//SetHandlInst sets HandlInst, Tag 21 func (m OrderCancelReplaceRequest) SetHandlInst(v string) { m.Set(field.NewHandlInst(v)) }
//SetHandlInst sets HandlInst, Tag 21 func (m OrderCancelReplaceRequest) SetHandlInst(v enum.HandlInst) { m.Set(field.NewHandlInst(v)) }
//SetHandlInst sets HandlInst, Tag 21 func (m NewOrderList) SetHandlInst(v string) { m.Set(field.NewHandlInst(v)) }
//SetHandlInst sets HandlInst, Tag 21 func (m NoOrders) SetHandlInst(v string) { m.Set(field.NewHandlInst(v)) }
//SetHandlInst sets HandlInst, Tag 21 func (m ExecutionReport) SetHandlInst(v string) { m.Set(field.NewHandlInst(v)) }
func main() { fmt.Println("hello world") msg := quickfix.NewMessage() group := NewNoOrdersRepeatingGroup() order1 := group.Add() order1.SetClOrdID(field.ClOrdIDField{FIXString: "1"}) order2 := group.Add() order2.SetClOrdID(field.ClOrdIDField{FIXString: "2"}) msg.Header.Set(field.NewBeginString(enum.BeginStringFIX42)) msg.Header.Set(field.NewMsgType(enum.MsgType_NEW_ORDER_CROSS)) msg.Body.SetGroup(group) b, _ := msg.Build() fmt.Println(string(b)) m, err := quickfix.ParseMessage(b) if err != nil { panic(err) } g := NewNoOrdersRepeatingGroup() m.Body.GetGroup(g) fmt.Println(g.Len()) clordid1, _ := g.Get(0).GetClOrdID() clordid2, _ := g.Get(1).GetClOrdID() fmt.Println(clordid1) fmt.Println(clordid2) m, err = quickfix.ParseMessage([]byte("8=FIX.4.29=10835=D34=249=TW52=20160421-14:43:5056=ISLD11=ID21=440=154=138=002000.0055=INTC60=20160421-14:43:5010=004")) // m, err = quickfix.ParseMessage([]byte("8=FIX.4.29=10835=D34=249=TW52=20160421-14:43:5056=ISLD11=ID21=438=002000.0040=154=255=INTC60=20160421-14:43:5010=005")) // m, err = quickfix.ParseMessage([]byte("8=FIX.4.29=11835=D34=249=TW52=20160421-14:43:5056=ISLD11=ID21=438=002000.0040=154=255=INTC58=oh hai60=20160421-14:43:5010=218")) if err != nil { panic(err) } nos := newordersingle.FromMessage(m) if side, err := nos.GetSide(); err != nil { panic(err) } else { fmt.Printf("Side is %v\n", side) } nos.SetSide(enum.Side_SELL) nos.Set(field.NewText("oh hai")) m = nos.ToMessage() b, err = m.Build() if err != nil { panic(err) } fmt.Println(string(b)) newNos := newordersingle.New( field.NewClOrdID("1234"), field.NewHandlInst("1"), field.NewSymbol("TSLA"), field.NewSide(enum.Side_BUY), field.NewOrderQty(100.0), field.NewOrdType(enum.OrdType_MARKET), ) //newNos.Set(field.NewTransactTime(time.Now())) newNos.Set(field.NewTransactTimeNoMillis(time.Now())) m = newNos.ToMessage() b, err = m.Build() if err != nil { panic(err) } fmt.Println(string(b)) }