Documentation ¶
Index ¶
- Variables
- func BestPriceForBuy(ob OrderBook) decimal.Decimal
- func BestPriceForSell(ob OrderBook) decimal.Decimal
- func CountLots(orders []Order) int
- func Spread(ob OrderBook) float64
- type AccountID
- type Client
- func (c *Client) CancelOrder(ctx context.Context, accountID AccountID, orderID OrderID) error
- func (c *Client) GetBalance(ctx context.Context, accountID AccountID) (decimal.Decimal, error)
- func (c *Client) GetOrderBook(ctx context.Context, req OrderBookRequest) (*OrderBookResponse, error)
- func (c *Client) GetOrderState(ctx context.Context, accountID AccountID, orderID OrderID) (decimal.Decimal, error)
- func (c *Client) GetPortfolio(ctx context.Context, accountID AccountID) (*Portfolio, error)
- func (c *Client) GetShareByFIGI(ctx context.Context, figi FIGI) (*Instrument, error)
- func (c *Client) GetTradeAvailableShares(ctx context.Context) ([]Instrument, error)
- func (c *Client) GetUserInfo(ctx context.Context) (*UserInfo, error)
- func (c *Client) PlaceLimitBuyOrder(ctx context.Context, request PlaceOrderRequest) (OrderID, error)
- func (c *Client) PlaceLimitSellOrder(ctx context.Context, request PlaceOrderRequest) (OrderID, error)
- func (c *Client) PlaceMarketBuyOrder(ctx context.Context, request PlaceOrderRequest) (OrderID, error)
- func (c *Client) PlaceMarketSellOrder(ctx context.Context, request PlaceOrderRequest) (OrderID, error)
- func (c *Client) SubscribeForOrderBookChanges(ctx context.Context, reqs []OrderBookRequest) (<-chan OrderBookChange, error)
- func (c *Client) WaitForOrderExecution(ctx context.Context, accountID AccountID, orderID OrderID) (decimal.Decimal, error)
- type FIGI
- type Instrument
- type Order
- type OrderBook
- type OrderBookChange
- type OrderBookRequest
- type OrderBookResponse
- type OrderID
- type PlaceOrderRequest
- type Portfolio
- type PortfolioPosition
- type UserInfo
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrOrderWaitExecution = errors.New("order is waiting for execution") ErrOrderRejected = errors.New("order rejected") ErrOrderCancelled = errors.New("order cancelled by user") )
View Source
var ErrInvalidToken = errors.New("invalid token")
View Source
var ErrNotEnoughStocks = errors.New("not enough stocks (shares or money)")
Functions ¶
func BestPriceForBuy ¶
BestPriceForBuy returns the lowest price among sell orders.
func BestPriceForSell ¶
BestPriceForSell returns the highest price among buy orders.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) CancelOrder ¶
func (*Client) GetBalance ¶
func (*Client) GetOrderBook ¶
func (c *Client) GetOrderBook(ctx context.Context, req OrderBookRequest) (*OrderBookResponse, error)
func (*Client) GetOrderState ¶
func (c *Client) GetOrderState(ctx context.Context, accountID AccountID, orderID OrderID) (decimal.Decimal, error)
GetOrderState returns executed price if the order was executed and one of errors otherwise: - ErrOrderWaitExecution - ErrOrderRejected - ErrOrderCancelled.
func (*Client) GetPortfolio ¶
func (*Client) GetShareByFIGI ¶
func (*Client) GetTradeAvailableShares ¶
func (c *Client) GetTradeAvailableShares(ctx context.Context) ([]Instrument, error)
func (*Client) PlaceLimitBuyOrder ¶
func (*Client) PlaceLimitSellOrder ¶
func (*Client) PlaceMarketBuyOrder ¶
func (*Client) PlaceMarketSellOrder ¶
func (*Client) SubscribeForOrderBookChanges ¶
func (c *Client) SubscribeForOrderBookChanges(ctx context.Context, reqs []OrderBookRequest) (<-chan OrderBookChange, error)
func (*Client) WaitForOrderExecution ¶
func (c *Client) WaitForOrderExecution(ctx context.Context, accountID AccountID, orderID OrderID) (decimal.Decimal, error)
WaitForOrderExecution allows waiting order execution via simple polling with GetOrderState method. Useful because investpb.OrdersStreamServiceClient is not working in sandbox.
type Instrument ¶
type OrderBookChange ¶
type OrderBookRequest ¶
type OrderBookResponse ¶
type PlaceOrderRequest ¶
type PortfolioPosition ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.