common

package
v1.60.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2024 License: AGPL-3.0 Imports: 17 Imported by: 15

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SyncActiveOrder added in v1.58.0

func SyncActiveOrder(ctx context.Context, ex types.Exchange, orderQueryService types.ExchangeOrderQueryService, activeOrderBook *bbgo.ActiveOrderBook, orderID uint64, syncBefore time.Time) (isOrderUpdated bool, err error)

func SyncActiveOrders added in v1.58.0

func SyncActiveOrders(ctx context.Context, opts SyncActiveOrdersOpts) error

Types

type FeeBudget added in v1.60.0

type FeeBudget struct {
	DailyFeeBudgets map[string]fixedpoint.Value `json:"dailyFeeBudgets,omitempty"`
	State           *State                      `persistence:"state"`
	// contains filtered or unexported fields
}

func (*FeeBudget) HandleTradeUpdate added in v1.60.0

func (f *FeeBudget) HandleTradeUpdate(trade types.Trade)

func (*FeeBudget) Initialize added in v1.60.0

func (f *FeeBudget) Initialize()

func (*FeeBudget) IsBudgetAllowed added in v1.60.0

func (f *FeeBudget) IsBudgetAllowed() bool

type InventorySkew added in v1.60.0

type InventorySkew struct {
	InventoryRangeMultiplier fixedpoint.Value `json:"inventoryRangeMultiplier"`
	TargetBaseRatio          fixedpoint.Value `json:"targetBaseRatio"`
}

https://hummingbot.org/strategy-configs/inventory-skew/ https://github.com/hummingbot/hummingbot/blob/31fc61d5e71b2c15732142d30983f3ea2be4d466/hummingbot/strategy/pure_market_making/inventory_skew_calculator.pyx

func (*InventorySkew) CalculateBidAskRatios added in v1.60.0

func (s *InventorySkew) CalculateBidAskRatios(quantity fixedpoint.Value, price fixedpoint.Value, baseBalance fixedpoint.Value, quoteBalance fixedpoint.Value) *InventorySkewBidAskRatios

func (*InventorySkew) Validate added in v1.60.0

func (s *InventorySkew) Validate() error

type InventorySkewBidAskRatios added in v1.60.0

type InventorySkewBidAskRatios struct {
	BidRatio fixedpoint.Value
	AskRatio fixedpoint.Value
}

type ProfitFixer added in v1.58.0

type ProfitFixer struct {
	core.ConverterManager
	// contains filtered or unexported fields
}

ProfitFixer implements a trade-history-based profit fixer

func NewProfitFixer added in v1.58.0

func NewProfitFixer() *ProfitFixer

func (*ProfitFixer) AddExchange added in v1.58.0

func (f *ProfitFixer) AddExchange(sessionName string, service types.ExchangeTradeHistoryService)

func (*ProfitFixer) Fix added in v1.58.0

func (f *ProfitFixer) Fix(
	ctx context.Context, symbol string, since, until time.Time, stats *types.ProfitStats, position *types.Position,
) error

func (*ProfitFixer) FixFromTrades added in v1.58.0

func (f *ProfitFixer) FixFromTrades(allTrades []types.Trade, stats *types.ProfitStats, position *types.Position) error

type ProfitFixerBundle added in v1.60.0

type ProfitFixerBundle struct {
	ProfitFixerConfig *ProfitFixerConfig `json:"profitFixer,omitempty"`
}

func (*ProfitFixerBundle) Fix added in v1.60.0

func (f *ProfitFixerBundle) Fix(
	ctx context.Context,
	symbol string,
	position *types.Position,
	profitStats *types.ProfitStats,
	sessions ...*bbgo.ExchangeSession,
) error

type ProfitFixerConfig added in v1.58.0

type ProfitFixerConfig struct {
	TradesSince types.Time `json:"tradesSince,omitempty"`
}

ProfitFixerConfig is used for fixing profitStats and position by re-playing the trade history

type RiskController

type RiskController struct {
	PositionHardLimit         fixedpoint.Value     `json:"positionHardLimit"`
	MaxPositionQuantity       fixedpoint.Value     `json:"maxPositionQuantity"`
	CircuitBreakLossThreshold fixedpoint.Value     `json:"circuitBreakLossThreshold"`
	CircuitBreakEMA           types.IntervalWindow `json:"circuitBreakEMA"`
	// contains filtered or unexported fields
}

type State added in v1.60.0

type State struct {
	AccumulatedFeeStartedAt time.Time                   `json:"accumulatedFeeStartedAt,omitempty"`
	AccumulatedFees         map[string]fixedpoint.Value `json:"accumulatedFees,omitempty"`
}

func (*State) IsOver24Hours added in v1.60.0

func (s *State) IsOver24Hours() bool

func (*State) Reset added in v1.60.0

func (s *State) Reset()

type StatusCallbacks added in v1.56.0

type StatusCallbacks struct {
	// contains filtered or unexported fields
}

func (*StatusCallbacks) EmitClosed added in v1.56.0

func (c *StatusCallbacks) EmitClosed()

func (*StatusCallbacks) EmitError added in v1.56.0

func (c *StatusCallbacks) EmitError(err error)

func (*StatusCallbacks) EmitReady added in v1.56.0

func (c *StatusCallbacks) EmitReady()

func (*StatusCallbacks) OnClosed added in v1.56.0

func (c *StatusCallbacks) OnClosed(cb func())

func (*StatusCallbacks) OnError added in v1.56.0

func (c *StatusCallbacks) OnError(cb func(err error))

func (*StatusCallbacks) OnReady added in v1.56.0

func (c *StatusCallbacks) OnReady(cb func())

type Strategy

type Strategy struct {
	Position    *types.Position    `json:"position,omitempty" persistence:"position"`
	ProfitStats *types.ProfitStats `json:"profitStats,omitempty" persistence:"profit_stats"`

	Environ       *bbgo.Environment
	Session       *bbgo.ExchangeSession
	OrderExecutor *bbgo.GeneralOrderExecutor

	RiskController
	// contains filtered or unexported fields
}

Strategy provides the core functionality that is required by a long/short strategy.

func (*Strategy) Initialize

func (s *Strategy) Initialize(ctx context.Context, environ *bbgo.Environment, session *bbgo.ExchangeSession, market types.Market, strategyID, instanceID string)

func (*Strategy) IsHalted added in v1.52.0

func (s *Strategy) IsHalted(t time.Time) bool

type SyncActiveOrdersOpts added in v1.58.0

type SyncActiveOrdersOpts struct {
	Logger            *logrus.Entry
	Exchange          types.Exchange
	OrderQueryService types.ExchangeOrderQueryService
	ActiveOrderBook   *bbgo.ActiveOrderBook
	OpenOrders        []types.Order
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL