market.go 822 B

12345678910111213141516171819202122232425262728293031
  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. EnableLongLeverage() bool
  13. EnableShortLeverage() bool
  14. CreateOrder(opts OrderCreateOptions) error
  15. UpdateOrder(orderID string, opts OrderUpdateOptions) error
  16. CloseOrder(order Order, desiredPrice *float64) (float64, error)
  17. DeletePosition(symbol string) (float64, error)
  18. Order(orderID string, nested bool) (Order, error)
  19. Orders(criteria OrderListCriteria) ([]Order, error)
  20. Portfolio() (Portfolio, error)
  21. PortfolioHistory() ([]PortfolioRecord, error)
  22. Quotes() (map[string]Quote, error)
  23. HistoricalBars(interval time.Duration, from *time.Time) (map[string][]Bar, error)
  24. }