Documentation
¶
Index ¶
- Constants
- type ProfitStats
- type RecoverApiQueryService
- type Round
- type State
- type Strategy
- func (s *Strategy) CalculateAndEmitProfit(ctx context.Context) error
- func (s *Strategy) CleanUp(ctx context.Context) error
- func (s *Strategy) Close(ctx context.Context) error
- func (s *Strategy) Defaults() error
- func (s *Strategy) EmitPosition(position *types.Position)
- func (s *Strategy) EmitProfit(profitStats *ProfitStats)
- func (s *Strategy) ID() string
- func (s *Strategy) Initialize() error
- func (s *Strategy) InstanceID() string
- func (s *Strategy) OnPosition(cb func(*types.Position))
- func (s *Strategy) OnProfit(cb func(*ProfitStats))
- func (s *Strategy) Run(ctx context.Context, _ bbgo.OrderExecutor, session *bbgo.ExchangeSession) error
- func (s *Strategy) Subscribe(session *bbgo.ExchangeSession)
- func (s *Strategy) Validate() error
Constants ¶
View Source
const ID = "dca2"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ProfitStats ¶ added in v1.56.0
type ProfitStats struct {
Symbol string `json:"symbol"`
Market types.Market `json:"market,omitempty"`
FromOrderID uint64 `json:"fromOrderID,omitempty"`
Round int64 `json:"round,omitempty"`
QuoteInvestment fixedpoint.Value `json:"quoteInvestment,omitempty"`
CurrentRoundProfit fixedpoint.Value `json:"currentRoundProfit,omitempty"`
CurrentRoundFee map[string]fixedpoint.Value `json:"currentRoundFee,omitempty"`
TotalProfit fixedpoint.Value `json:"totalProfit,omitempty"`
TotalFee map[string]fixedpoint.Value `json:"totalFee,omitempty"`
types.PersistenceTTL
}
func (*ProfitStats) AddTrade ¶ added in v1.56.0
func (s *ProfitStats) AddTrade(trade types.Trade)
func (*ProfitStats) NewRound ¶ added in v1.56.0
func (s *ProfitStats) NewRound()
func (*ProfitStats) String ¶ added in v1.56.0
func (s *ProfitStats) String() string
type RecoverApiQueryService ¶ added in v1.56.0
type RecoverApiQueryService interface {
types.ExchangeOrderQueryService
types.ExchangeTradeService
// contains filtered or unexported methods
}
type Strategy ¶
type Strategy struct {
Position *types.Position `json:"position,omitempty" persistence:"position"`
ProfitStats *ProfitStats `json:"profitStats,omitempty" persistence:"profit_stats"`
Environment *bbgo.Environment
Session *bbgo.ExchangeSession
OrderExecutor *bbgo.GeneralOrderExecutor
Market types.Market
Symbol string `json:"symbol"`
// setting
QuoteInvestment fixedpoint.Value `json:"quoteInvestment"`
MaxOrderCount int64 `json:"maxOrderCount"`
PriceDeviation fixedpoint.Value `json:"priceDeviation"`
TakeProfitRatio fixedpoint.Value `json:"takeProfitRatio"`
CoolDownInterval types.Duration `json:"coolDownInterval"`
// OrderGroupID is the group ID used for the strategy instance for canceling orders
OrderGroupID uint32 `json:"orderGroupID"`
// RecoverWhenStart option is used for recovering dca states
RecoverWhenStart bool `json:"recoverWhenStart"`
// KeepOrdersWhenShutdown option is used for keeping the grid orders when shutting down bbgo
KeepOrdersWhenShutdown bool `json:"keepOrdersWhenShutdown"`
// UseCancelAllOrdersApiWhenClose uses a different API to cancel all the orders on the market when closing a grid
UseCancelAllOrdersApiWhenClose bool `json:"useCancelAllOrdersApiWhenClose"`
LogFields logrus.Fields `json:"logFields"`
// PrometheusLabels will be used as the base prometheus labels
PrometheusLabels prometheus.Labels `json:"prometheusLabels"`
// callbacks
common.StatusCallbacks
// contains filtered or unexported fields
}
func (*Strategy) CalculateAndEmitProfit ¶ added in v1.56.0
func (*Strategy) EmitPosition ¶ added in v1.56.0
func (*Strategy) EmitProfit ¶ added in v1.56.0
func (s *Strategy) EmitProfit(profitStats *ProfitStats)
func (*Strategy) Initialize ¶
func (*Strategy) InstanceID ¶
func (*Strategy) OnPosition ¶ added in v1.56.0
func (*Strategy) OnProfit ¶ added in v1.56.0
func (s *Strategy) OnProfit(cb func(*ProfitStats))
func (*Strategy) Run ¶
func (s *Strategy) Run(ctx context.Context, _ bbgo.OrderExecutor, session *bbgo.ExchangeSession) error
func (*Strategy) Subscribe ¶
func (s *Strategy) Subscribe(session *bbgo.ExchangeSession)
Click to show internal directories.
Click to hide internal directories.