market.go 752 B

1234567891011121314151617181920212223242526272829
  1. package sentio
  2. import (
  3. "time"
  4. )
  5. type Market interface {
  6. Clock() Clock
  7. IsOpen() bool
  8. Connect(done chan struct{}) (chan MarketConnection, error)
  9. Subscribe(symbols ...string) error
  10. Account() (MarketAccount, error)
  11. MaxBudget() float64
  12. CreateOrder(opts OrderOptions) error
  13. UpdateOrder(orderID string, rm RiskManager) error
  14. CloseOrder(order Order, desiredPrice *float64) (float64, error)
  15. DeletePosition(symbol string) (float64, error)
  16. Order(orderID string, nested bool) (Order, error)
  17. Orders(criteria OrderListCriteria) ([]Order, error)
  18. Portfolio() (Portfolio, error)
  19. PortfolioHistory() ([]PortfolioRecord, error)
  20. Quotes() (map[string]Quote, error)
  21. HistoricalBars(interval time.Duration, from *time.Time) (map[string][]Bar, error)
  22. }