order

package
v0.0.0-...-4511e25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: MIT Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildMassCancelRequest

func BuildMassCancelRequest(side enum.Side, symbol string, account string) quickfix.Messagable

Types

type Handler

type Handler interface {
	GetSymbol() string
	GetSide() enum.Side
	GetLastOrderId() string
	GetAccount() string
	GetTimestamp() time.Time
	GetMessageType() string

	UpdateClientOrderId(newId string)

	CanCancelAllOrdersInOnRequest() bool
	BuildAllCancelRequest(symbols []string) quickfix.Messagable
	BuildMassCancelRequest() quickfix.Messagable
	BuildOrderRequest() (quickfix.Messagable, string)
}

type Manager

type Manager struct {
	Closed chan bool
	// contains filtered or unexported fields
}

func NewManager

func NewManager(
	context context.Context,
	app *SenderApp,
	accounts []string,
	symbols []string,
	refPrices []float64,
	useQuoteWorkflow bool,
	updateTempo time.Duration) *Manager

func (*Manager) CancelAllOrders

func (m *Manager) CancelAllOrders()

func (*Manager) Start

func (m *Manager) Start()

type OrderHandler

type OrderHandler struct {
	// contains filtered or unexported fields
}

func NewOrderHandler

func NewOrderHandler(symbol string, price float64, side enum.Side, account string) *OrderHandler

func (*OrderHandler) BuildAllCancelRequest

func (o *OrderHandler) BuildAllCancelRequest(symbols []string) quickfix.Messagable

func (*OrderHandler) BuildMassCancelRequest

func (o *OrderHandler) BuildMassCancelRequest() quickfix.Messagable

func (*OrderHandler) BuildOrderRequest

func (o *OrderHandler) BuildOrderRequest() (quickfix.Messagable, string)

func (*OrderHandler) CanCancelAllOrdersInOnRequest

func (o *OrderHandler) CanCancelAllOrdersInOnRequest() bool

func (*OrderHandler) GetAccount

func (o *OrderHandler) GetAccount() string

func (*OrderHandler) GetLastOrderId

func (o *OrderHandler) GetLastOrderId() string

func (*OrderHandler) GetMessageType

func (o *OrderHandler) GetMessageType() string

func (*OrderHandler) GetSide

func (o *OrderHandler) GetSide() enum.Side

func (*OrderHandler) GetSymbol

func (o *OrderHandler) GetSymbol() string

func (*OrderHandler) GetTimestamp

func (o *OrderHandler) GetTimestamp() time.Time

func (*OrderHandler) UpdateClientOrderId

func (o *OrderHandler) UpdateClientOrderId(newId string)

type QuoteHandler

type QuoteHandler struct {
	// contains filtered or unexported fields
}

func NewQuoteHandler

func NewQuoteHandler(symbol string, bidPrice, offerPrice float64, account string) *QuoteHandler

func (*QuoteHandler) BuildAllCancelRequest

func (q *QuoteHandler) BuildAllCancelRequest(symbols []string) quickfix.Messagable

func (*QuoteHandler) BuildMassCancelRequest

func (q *QuoteHandler) BuildMassCancelRequest() quickfix.Messagable

func (*QuoteHandler) BuildOrderRequest

func (q *QuoteHandler) BuildOrderRequest() (quickfix.Messagable, string)

func (*QuoteHandler) CanCancelAllOrdersInOnRequest

func (q *QuoteHandler) CanCancelAllOrdersInOnRequest() bool

func (*QuoteHandler) GetAccount

func (q *QuoteHandler) GetAccount() string

func (*QuoteHandler) GetLastOrderId

func (q *QuoteHandler) GetLastOrderId() string

func (*QuoteHandler) GetMessageType

func (q *QuoteHandler) GetMessageType() string

func (*QuoteHandler) GetSide

func (q *QuoteHandler) GetSide() enum.Side

func (*QuoteHandler) GetSymbol

func (q *QuoteHandler) GetSymbol() string

func (*QuoteHandler) GetTimestamp

func (q *QuoteHandler) GetTimestamp() time.Time

func (*QuoteHandler) UpdateClientOrderId

func (q *QuoteHandler) UpdateClientOrderId(newId string)

type SampledManager

type SampledManager struct {
	Closed chan bool
	// contains filtered or unexported fields
}

func NewSampledManager

func NewSampledManager(
	context context.Context,
	app *SenderApp,
	accounts []string,
	symbols []string,
	refPrices []float64,
	nbOrderPerSec uint) *SampledManager

func (*SampledManager) CancelAllOrders

func (m *SampledManager) CancelAllOrders()

func (*SampledManager) Start

func (m *SampledManager) Start()

type SenderApp

type SenderApp struct {
	// Logger.
	fixutils.QuickFixAppMessageLogger

	// Message router.
	*quickfix.MessageRouter

	// ExecReportNotification forwards received fix message to subscriber.
	ExecReportNotification chan executionreport.ExecutionReport

	// QuoteStatusReportNotification forwards received fix message to subscriber.
	QuoteStatusReportNotification chan quotestatusreport.QuoteStatusReport

	// Closed is a chan to notify when application is closed properly.
	Closed chan bool
	// contains filtered or unexported fields
}

func NewOrderSender

func NewOrderSender(
	ctx context.Context,
	quickFixAppMessageLogger fixutils.QuickFixAppMessageLogger,
	settings *quickfix.Settings,
	sessionConfig *config.Session) (*SenderApp, error)

NewOrderSender creates an Application which implements quickfix.Application.

func (*SenderApp) Connect

func (a *SenderApp) Connect() error

func (*SenderApp) FromAdmin

func (a *SenderApp) FromAdmin(message *quickfix.Message, sessionID quickfix.SessionID) quickfix.MessageRejectError

FromAdmin is called when receiving a FIX message regarding the FIX protocol, e.g.: LOGIN, LOGOUT, HEARTBEAT, TEST ... etc.

func (*SenderApp) FromApp

func (a *SenderApp) FromApp(message *quickfix.Message, sessionID quickfix.SessionID) (reject quickfix.MessageRejectError)

FromApp is called when receiving a FIX message that is not considered "Admin".

func (*SenderApp) OnCreate

func (a *SenderApp) OnCreate(sessionID quickfix.SessionID)

OnCreate is called when a session is created. Note that sessions are created upon initiator/acceptor start and not when a connection is established.

func (*SenderApp) OnLogon

func (a *SenderApp) OnLogon(sessionID quickfix.SessionID)

OnLogon is called when a FIX logon occurs.

func (*SenderApp) OnLogout

func (a *SenderApp) OnLogout(sessionID quickfix.SessionID)

OnLogout is called when a FIX logout occurs.

func (*SenderApp) OnQuoteStatusReport

func (*SenderApp) Send

func (a *SenderApp) Send(message quickfix.Messagable) error

func (*SenderApp) ToAdmin

func (a *SenderApp) ToAdmin(message *quickfix.Message, sessionID quickfix.SessionID)

ToAdmin is called when sending a FIX message regarding the FIX protocol, e.g.: LOGIN, LOGOUT, HEARTBEAT, TEST ... etc.

func (*SenderApp) ToApp

func (a *SenderApp) ToApp(message *quickfix.Message, sessionID quickfix.SessionID) error

ToApp is called when sending a FIX message that is not considered "Admin".

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL