autoborrow

package
v0.0.0-...-c0411a1 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2024 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const ID = "autoborrow"

Variables

This section is empty.

Functions

This section is empty.

Types

type MarginAction

type MarginAction struct {
	Exchange       types.ExchangeName `json:"exchange"`
	Action         string             `json:"action"`
	Asset          string             `json:"asset"`
	Amount         fixedpoint.Value   `json:"amount"`
	MarginLevel    fixedpoint.Value   `json:"marginLevel"`
	MinMarginLevel fixedpoint.Value   `json:"minMarginLevel"`
}

func (*MarginAction) SlackAttachment

func (a *MarginAction) SlackAttachment() slack.Attachment

type MarginAlert

type MarginAlert struct {
	CurrentMarginLevel fixedpoint.Value
	MinimalMarginLevel fixedpoint.Value
	SlackMentions      []string
	SessionName        string
}

MarginAlert is used to send the slack mention alerts when the current margin is less than the required margin level

func (*MarginAlert) SlackAttachment

func (m *MarginAlert) SlackAttachment() slack.Attachment

type MarginAsset

type MarginAsset struct {
	Asset                string           `json:"asset"`
	Low                  fixedpoint.Value `json:"low"`
	MaxTotalBorrow       fixedpoint.Value `json:"maxTotalBorrow"`
	MaxQuantityPerBorrow fixedpoint.Value `json:"maxQuantityPerBorrow"`
	MinQuantityPerBorrow fixedpoint.Value `json:"minQuantityPerBorrow"`
	DebtRatio            fixedpoint.Value `json:"debtRatio"`
}

type MarginLevelAlert

type MarginLevelAlert struct {
	Interval      types.Duration   `json:"interval"`
	MinMargin     fixedpoint.Value `json:"minMargin"`
	SlackMentions []string         `json:"slackMentions"`
}

type MarginRepayAlert

type MarginRepayAlert struct {
	SlackMentions []string `json:"slackMentions"`
}

type RepaidAlert

type RepaidAlert struct {
	SessionName   string
	Asset         string
	Amount        fixedpoint.Value
	SlackMentions []string
}

RepaidAlert

func (*RepaidAlert) SlackAttachment

func (m *RepaidAlert) SlackAttachment() slack.Attachment

type Strategy

type Strategy struct {
	Interval             types.Interval   `json:"interval"`
	MinMarginLevel       fixedpoint.Value `json:"minMarginLevel"`
	MaxMarginLevel       fixedpoint.Value `json:"maxMarginLevel"`
	AutoRepayWhenDeposit bool             `json:"autoRepayWhenDeposit"`

	MarginLevelAlert *MarginLevelAlert `json:"marginLevelAlert"`
	MarginRepayAlert *MarginRepayAlert `json:"marginRepayAlert"`

	Assets []MarginAsset `json:"assets"`

	ExchangeSession *bbgo.ExchangeSession
	// contains filtered or unexported fields
}

func (*Strategy) ID

func (s *Strategy) ID() string

func (*Strategy) Run

func (s *Strategy) Run(ctx context.Context, orderExecutor bbgo.OrderExecutor, session *bbgo.ExchangeSession) error

This strategy simply spent all available quote currency to buy the symbol whenever kline gets closed

func (*Strategy) Subscribe

func (s *Strategy) Subscribe(session *bbgo.ExchangeSession)

Jump to

Keyboard shortcuts

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