Documentation
¶
Index ¶
- Constants
- func NewBST() bst
- func NewIndexMinPQ(size int) indexMinPQ
- func NewMinPQ(size int) minPQ
- func NewOrdersQueue() ordersQueue
- func NewRedBlackBST() redBlackBST
- type LimitOrder
- func (lo *LimitOrder) AddVolume(volumeToAdd float64)
- func (this *LimitOrder) Clear()
- func (this *LimitOrder) Delete(o *Order)
- func (this *LimitOrder) Dequeue() *Order
- func (this *LimitOrder) Enqueue(o *Order)
- func (lo *LimitOrder) EnqueueBulk(orders []*Order)
- func (this *LimitOrder) Peek(index int) *Order
- func (this *LimitOrder) Size() int
- func (lo *LimitOrder) SubtractVolume(volumeToSubtract decimal.Decimal)
- func (this *LimitOrder) TotalVolume() float64
- type Order
- type Orderbook
- func (this *Orderbook) ALength() int
- func (this *Orderbook) Add(price float64, o *Order)
- func (ob *Orderbook) AddBulk(price float64, orders []*Order, isBid bool)
- func (this *Orderbook) BLength() int
- func (this *Orderbook) Cancel(o *Order)
- func (this *Orderbook) ClearAskLimit(price float64)
- func (this *Orderbook) ClearBidLimit(price float64)
- func (this *Orderbook) DeleteAskLimit(price float64)
- func (this *Orderbook) DeleteBidLimit(price float64)
- func (this *Orderbook) GetBestBid() float64
- func (this *Orderbook) GetBestOffer() float64
- func (this *Orderbook) GetVolumeAtAskLimit(price float64) float64
- func (this *Orderbook) GetVolumeAtBidLimit(price float64) float64
Constants ¶
View Source
const MaxLimitsNum int = 10000
maximum limits per orderbook side to pre-allocate memory
Variables ¶
This section is empty.
Functions ¶
func NewIndexMinPQ ¶
func NewIndexMinPQ(size int) indexMinPQ
func NewOrdersQueue ¶
func NewOrdersQueue() ordersQueue
func NewRedBlackBST ¶
func NewRedBlackBST() redBlackBST
Types ¶
type LimitOrder ¶
type LimitOrder struct {
Price float64
// contains filtered or unexported fields
}
Limit price orders combined as a FIFO queue
func NewLimitOrder ¶
func NewLimitOrder(price float64) LimitOrder
func (*LimitOrder) AddVolume ¶
func (lo *LimitOrder) AddVolume(volumeToAdd float64)
func (*LimitOrder) Clear ¶
func (this *LimitOrder) Clear()
func (*LimitOrder) Delete ¶
func (this *LimitOrder) Delete(o *Order)
func (*LimitOrder) Dequeue ¶
func (this *LimitOrder) Dequeue() *Order
func (*LimitOrder) Enqueue ¶
func (this *LimitOrder) Enqueue(o *Order)
func (*LimitOrder) EnqueueBulk ¶
func (lo *LimitOrder) EnqueueBulk(orders []*Order)
func (*LimitOrder) Peek ¶
func (this *LimitOrder) Peek(index int) *Order
func (*LimitOrder) Size ¶
func (this *LimitOrder) Size() int
func (*LimitOrder) SubtractVolume ¶
func (lo *LimitOrder) SubtractVolume(volumeToSubtract decimal.Decimal)
func (*LimitOrder) TotalVolume ¶
func (this *LimitOrder) TotalVolume() float64
type Order ¶
type Order struct {
Id string
UserId string
Volume float64
Next *Order
Prev *Order
Limit *LimitOrder
BidOrAsk bool
}
Single Order in an order book, as a node in a LimitOrder FIFO queue
type Orderbook ¶
type Orderbook struct {
Bids *redBlackBST
Asks *redBlackBST
// contains filtered or unexported fields
}
func NewOrderbook ¶
func NewOrderbook() Orderbook
func (*Orderbook) ClearAskLimit ¶
func (*Orderbook) ClearBidLimit ¶
func (*Orderbook) DeleteAskLimit ¶
func (*Orderbook) DeleteBidLimit ¶
func (*Orderbook) GetBestBid ¶
func (*Orderbook) GetBestOffer ¶
func (*Orderbook) GetVolumeAtAskLimit ¶
func (*Orderbook) GetVolumeAtBidLimit ¶
Click to show internal directories.
Click to hide internal directories.