Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Book ¶
type Book struct { Order []*Order Transactions []*Transaction OrdersChan chan *Order // Canal entrada ordens OrdersChanOut chan *Order // Canal saida ordens Wg *sync.WaitGroup //recurso Go await }
EStrutura dados do book
func (*Book) AddTransaction ¶
func (b *Book) AddTransaction(transaction *Transaction, wg *sync.WaitGroup)
Método que adiciona a transação na order (controle de pending shares)
type Investor ¶
type Investor struct { ID string Name string AssetPosition []*InvestorAssetPosition // Slice (go) }
Estrutura dados do Investidor ID, Nome e Posição de ativos
func NewInvestor ¶
Criar novo investidor ID e posição em branco
func (*Investor) AddAssetPosition ¶
func (i *Investor) AddAssetPosition(assetPosition *InvestorAssetPosition)
Método adicionar posição
func (*Investor) GetAssetPosition ¶
func (i *Investor) GetAssetPosition(assetID string) *InvestorAssetPosition
Método que busca a posição atual
func (*Investor) UpdateAssetPosition ¶
Método que atualiza as posições
type InvestorAssetPosition ¶
type InvestorAssetPosition struct { AssetID string }
Estrutura dados para posição de ativos do investidor
func NewInvestorAssetPosition ¶
func NewInvestorAssetPosition(assetID string, shares int) *InvestorAssetPosition
Função que cria nova posição
type Order ¶
type Order struct { ID string Investor *Investor Asset *Asset Price float64 OrderType string Status string Transactions []*Transaction }
Estrutura dados dos ativos
type OrderQueue ¶
type OrderQueue struct {
Orders []*Order
}
func NewOrderQueue ¶
func NewOrderQueue() *OrderQueue
func (OrderQueue) Less ¶
func (oq OrderQueue) Less(i, j int) bool
Método Less diz o valor i é menor que j
func (OrderQueue) Swap ¶
func (oq OrderQueue) Swap(i, j int)
Método Swap inverte i vira j e j vira i
type Transaction ¶
type Transaction struct { ID string SellingOrder *Order BuyingOrder *Order Price float64 Total float64 Datetime time.Time }
Estrutura de dados para as transações
func NewTransaction ¶
func NewTransaction(sellingOrder *Order, buyingOrder *Order, shares int, price float64) *Transaction
Função que cria nova transação
func (*Transaction) AddBuyOrderPendingShares ¶
func (t *Transaction) AddBuyOrderPendingShares(shares int)
func (*Transaction) AddSellOrderPendingShares ¶
func (t *Transaction) AddSellOrderPendingShares(shares int)
func (*Transaction) CalculateTotal ¶
func (t *Transaction) CalculateTotal(shares int, price float64)
func (*Transaction) CloseBuyOrder ¶
func (t *Transaction) CloseBuyOrder()
func (*Transaction) CloseSellOrder ¶
func (t *Transaction) CloseSellOrder()
Click to show internal directories.
Click to hide internal directories.