Documentation
¶
Index ¶
- Constants
- type OpenPositionParams
- type PositionMap
- type ProfitStatsMap
- type Strategy
- func (s *Strategy) Defaults() error
- func (s *Strategy) HasPosition() bool
- func (s *Strategy) ID() string
- func (s *Strategy) Initialize() error
- func (s *Strategy) InstanceID() string
- func (s *Strategy) Load(ctx context.Context, store service.Store) error
- func (s *Strategy) OpenPosition(ctx context.Context, param OpenPositionParams) error
- func (s *Strategy) Run(ctx context.Context, _ bbgo.OrderExecutor, session *bbgo.ExchangeSession) error
- func (s *Strategy) Store(ctx context.Context, store service.Store) error
- func (s *Strategy) Subscribe(session *bbgo.ExchangeSession)
- func (s *Strategy) Validate() error
- type TradingManager
- func (m *TradingManager) ClosePosition(ctx context.Context) error
- func (m *TradingManager) GetPosition() *types.Position
- func (m *TradingManager) Initialize(ctx context.Context, environ *bbgo.Environment, session *bbgo.ExchangeSession, ...)
- func (m *TradingManager) OnOrderFilled(order types.Order)
- func (m *TradingManager) OpenPosition(ctx context.Context, params OpenPositionParams) error
- func (m *TradingManager) SetLeverage(ctx context.Context, lv int) error
- func (m *TradingManager) SlackBlocks() []slack.Block
- type TradingManagerMap
- type TradingManagerState
Constants ¶
View Source
const ID = "tradingdesk"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type OpenPositionParams ¶
type OpenPositionParams struct {
Symbol string `json:"symbol"`
Side types.SideType `json:"side"`
Quantity fixedpoint.Value `json:"quantity"`
StopLossPrice fixedpoint.Value `json:"stopLossPrice"`
TakeProfitPrice fixedpoint.Value `json:"takeProfitPrice"`
TimeToLive types.Duration `json:"timeToLive"`
}
type PositionMap ¶
type ProfitStatsMap ¶
type ProfitStatsMap map[string]*types.ProfitStats
type Strategy ¶
type Strategy struct {
Environment *bbgo.Environment
Leverage int `json:"leverage"`
MaxLossLimit fixedpoint.Value `json:"maxLossLimit"`
PriceType types.PriceType `json:"priceType"`
OpenPositions []OpenPositionParams `json:"openPositions"`
ClosePositionsOnShutdown bool `json:"closePositionsOnShutdown"`
// contains filtered or unexported fields
}
func (*Strategy) HasPosition ¶
func (*Strategy) Initialize ¶
func (*Strategy) InstanceID ¶
func (*Strategy) OpenPosition ¶
func (s *Strategy) OpenPosition(ctx context.Context, param OpenPositionParams) error
OpenPosition opens a new position with risk-based position sizing. The position size is calculated based on MaxLossLimit, stop loss price, and available balance.
func (*Strategy) Run ¶
func (s *Strategy) Run(ctx context.Context, _ bbgo.OrderExecutor, session *bbgo.ExchangeSession) error
Run implements the strategy interface for strategy execution
func (*Strategy) Subscribe ¶
func (s *Strategy) Subscribe(session *bbgo.ExchangeSession)
Subscribe implements the strategy interface for market data subscriptions
type TradingManager ¶
type TradingManager struct {
TradingManagerState
// contains filtered or unexported fields
}
func (*TradingManager) ClosePosition ¶
func (m *TradingManager) ClosePosition(ctx context.Context) error
func (*TradingManager) GetPosition ¶
func (m *TradingManager) GetPosition() *types.Position
func (*TradingManager) Initialize ¶
func (m *TradingManager) Initialize( ctx context.Context, environ *bbgo.Environment, session *bbgo.ExchangeSession, market types.Market, strategy *Strategy, )
func (*TradingManager) OnOrderFilled ¶ added in v1.64.0
func (m *TradingManager) OnOrderFilled(order types.Order)
func (*TradingManager) OpenPosition ¶
func (m *TradingManager) OpenPosition(ctx context.Context, params OpenPositionParams) error
OpenPosition opens a new position with risk-based position sizing. The position size is calculated based on MaxLossLimit, stop loss price, and available balance.
func (*TradingManager) SetLeverage ¶
func (m *TradingManager) SetLeverage(ctx context.Context, lv int) error
func (*TradingManager) SlackBlocks ¶ added in v1.64.0
func (m *TradingManager) SlackBlocks() []slack.Block
SlackBlocks generates Slack message blocks with position details, take profit, stop loss prices, and unrealized profit.
type TradingManagerMap ¶
type TradingManagerMap map[string]*TradingManager
func (TradingManagerMap) Get ¶
func (m TradingManagerMap) Get( ctx context.Context, environ *bbgo.Environment, session *bbgo.ExchangeSession, market types.Market, strategy *Strategy, ) *TradingManager
func (TradingManagerMap) New ¶
func (m TradingManagerMap) New( ctx context.Context, environ *bbgo.Environment, session *bbgo.ExchangeSession, market types.Market, strategy *Strategy, ) *TradingManager
type TradingManagerState ¶
type TradingManagerState struct {
Position *types.Position `json:"position,omitempty"`
ProfitStats *types.ProfitStats `json:"profitStats,omitempty"`
TakeProfitOrders types.OrderSlice `json:"takeProfitOrders,omitempty"`
StopLossOrders types.OrderSlice `json:"stopLossOrders,omitempty"`
ExpiryTime *time.Time `json:"expiryTime,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.