12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package main
- import (
- "git.beejay.kim/Gshopper/sentio"
- "github.com/samber/lo"
- )
- type PortfolioStub []PositionStub
- func newStubPortfolio(elem ...PositionStub) sentio.Portfolio {
- var p PortfolioStub
- p = append(p, elem...)
- return p
- }
- func (p PortfolioStub) Get(symbol string) (sentio.Position, bool) {
- return lo.Find(p, func(item PositionStub) bool {
- return item.symbol == symbol
- })
- }
- func (p PortfolioStub) Positions() []sentio.Position {
- return lo.Map(p, func(item PositionStub, _ int) sentio.Position {
- return item
- })
- }
- type PositionStub struct {
- symbol string
- size float64
- price float64
- pnl float64
- currentPrice float64
- }
- func (p PositionStub) GetSize() float64 {
- return p.size
- }
- func (p PositionStub) GetAvgPrice() float64 {
- return p.price
- }
- func (p PositionStub) GetSymbol() string {
- return p.symbol
- }
- func (p PositionStub) GetPnL() float64 {
- return p.pnl
- }
- func (p PositionStub) GetCurrentPrice() float64 {
- return p.currentPrice
- }
|