| 1234567891011121314151617181920212223242526272829303132 | package sentioimport (	"context"	"errors")var (	ErrMarketClosed  = errors.New("market is closed")	ErrTooSmallOrder = errors.New("too small order size"))type Market interface {	Connect(done chan struct{}) (chan MarketConnection, error)	Subscribe(symbol string) error	IsMarketOpened() bool	Time() Clock	LatestBar(symbol string) (*Bar, error)	Buy(ctx context.Context, symbol string, ratio float64) (Order, error)	Sell(ctx context.Context, symbol string, ratio float64) (Order, error)	CancelOrder(id string) error	Orders() ([]Order, error)	Portfolio() (Portfolio, error)	Cash() (float64, error)	Equity() (float64, error)	MaxBudget() float64}
 |