本文整理汇总了Golang中github.com/quickfixgo/quickfix/field.NewOrderQty函数的典型用法代码示例。如果您正苦于以下问题:Golang NewOrderQty函数的具体用法?Golang NewOrderQty怎么用?Golang NewOrderQty使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewOrderQty函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: OnFIX41NewOrderSingle
func (e *executor) OnFIX41NewOrderSingle(msg fix41nos.NewOrderSingle, sessionID quickfix.SessionID) (err quickfix.MessageRejectError) {
ordType, err := msg.GetOrdType()
if err != nil {
return
}
if ordType != enum.OrdType_LIMIT {
return quickfix.ValueIsIncorrect(tag.OrdType)
}
symbol, err := msg.GetSymbol()
if err != nil {
return
}
side, err := msg.GetSide()
if err != nil {
return
}
orderQty, err := msg.GetOrderQty()
if err != nil {
return
}
price, err := msg.GetPrice()
if err != nil {
return
}
execReport := fix41er.New(
e.genOrderID(),
e.genExecID(),
field.NewExecTransType(enum.ExecTransType_NEW),
field.NewExecType(enum.ExecType_FILL),
field.NewOrdStatus(enum.OrdStatus_FILLED),
field.NewSymbol(symbol),
field.NewSide(side),
field.NewOrderQty(orderQty, 2),
field.NewLastShares(orderQty, 2),
field.NewLastPx(price, 2),
field.NewLeavesQty(decimal.Zero, 2),
field.NewCumQty(orderQty, 2),
field.NewAvgPx(price, 2),
)
clOrdID, err := msg.GetClOrdID()
if err != nil {
return
}
execReport.SetClOrdID(clOrdID)
quickfix.SendToTarget(execReport, sessionID)
return
}
示例2: SetOrderQty
//SetOrderQty sets OrderQty, Tag 38
func (m NewOrderSingle) SetOrderQty(v float64) {
m.Set(field.NewOrderQty(v))
}
示例3: SetOrderQty
//SetOrderQty sets OrderQty, Tag 38
func (m OrderCancelRequest) SetOrderQty(v float64) {
m.Set(field.NewOrderQty(v))
}
示例4: SetOrderQty
//SetOrderQty sets OrderQty, Tag 38
func (m DontKnowTrade) SetOrderQty(value decimal.Decimal, scale int32) {
m.Set(field.NewOrderQty(value, scale))
}
示例5: SetOrderQty
//SetOrderQty sets OrderQty, Tag 38
func (m DontKnowTrade) SetOrderQty(v float64) {
m.Set(field.NewOrderQty(v))
}
示例6: SetOrderQty
//SetOrderQty sets OrderQty, Tag 38
func (m NoOrders) SetOrderQty(v float64) {
m.Set(field.NewOrderQty(v))
}
示例7: SetOrderQty
//SetOrderQty sets OrderQty, Tag 38
func (m NoRelatedSym) SetOrderQty(value decimal.Decimal, scale int32) {
m.Set(field.NewOrderQty(value, scale))
}
示例8: main
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))
}
示例9: SetOrderQty
//SetOrderQty sets OrderQty, Tag 38
func (m OrderCancelRequest) SetOrderQty(value decimal.Decimal, scale int32) {
m.Set(field.NewOrderQty(value, scale))
}
示例10: queryOrderQty
func queryOrderQty() field.OrderQtyField {
return field.NewOrderQty(queryDecimal("OrderQty"), 2)
}
示例11: SetOrderQty
//SetOrderQty sets OrderQty, Tag 38
func (m NewOrderList) SetOrderQty(v float64) {
m.Set(field.NewOrderQty(v))
}
示例12: SetOrderQty
//SetOrderQty sets OrderQty, Tag 38
func (m ExecutionReport) SetOrderQty(v float64) {
m.Set(field.NewOrderQty(v))
}
示例13: queryOrderQty
func queryOrderQty() field.OrderQtyField {
return field.NewOrderQty(queryFloat("OrderQty"))
}
示例14: SetOrderQty
//SetOrderQty sets OrderQty, Tag 38
func (m NoRelatedSym) SetOrderQty(v float64) {
m.Set(field.NewOrderQty(v))
}
示例15: SetOrderQty
//SetOrderQty sets OrderQty, Tag 38
func (m ExecutionReport) SetOrderQty(value decimal.Decimal, scale int32) {
m.Set(field.NewOrderQty(value, scale))
}