12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package sentio
- import (
- "fmt"
- "strings"
- )
- // TimeInForce Specifies how long the order remains in effect. Absence of this field is interpreted as DAY.
- // See more at https://www.onixs.biz/fix-dictionary/4.2/tagNum_59.html
- type TimeInForce int
- var tifs = map[TimeInForce]string{
- TIFDay: "DAY",
- TIFGoodTillCancel: "GTC",
- TIFOpenPriceGuarantee: "OPG",
- TIFImmediateOrCancel: "IOC",
- TIFFillOrKill: "FOK",
- TIFGoodTillCrossing: "GTX",
- TIFGoodTillDate: "GTD",
- }
- func (tif TimeInForce) String() string {
- t, ok := tifs[tif]
- if !ok {
- return "undefined"
- }
- return t
- }
- func ParseTimeInForce(s string) (TimeInForce, error) {
- s = strings.TrimSpace(s)
- s = strings.ToUpper(s)
- for t, l := range tifs {
- if s == l {
- return t, nil
- }
- }
- return -1, fmt.Errorf("`tif.Parse`: undefined TimeInForce `%s`", s)
- }
- const (
- TIFDay TimeInForce = 0
- TIFGoodTillCancel TimeInForce = 1
- TIFOpenPriceGuarantee TimeInForce = 2
- TIFImmediateOrCancel TimeInForce = 3
- TIFFillOrKill TimeInForce = 4
- TIFGoodTillCrossing TimeInForce = 5
- TIFGoodTillDate TimeInForce = 6
- )
|