max

package
v1.58.0 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2024 License: AGPL-3.0 Imports: 21 Imported by: 8

Documentation

Index

Constants

This section is empty.

Variables

View Source
var SupportedIntervals = map[types.Interval]int{
	types.Interval1m:  1 * 60,
	types.Interval5m:  5 * 60,
	types.Interval15m: 15 * 60,
	types.Interval30m: 30 * 60,
	types.Interval1h:  60 * 60,
	types.Interval2h:  60 * 60 * 2,
	types.Interval4h:  60 * 60 * 4,
	types.Interval6h:  60 * 60 * 6,
	types.Interval12h: 60 * 60 * 12,
	types.Interval1d:  60 * 60 * 24,
	types.Interval3d:  60 * 60 * 24 * 3,
}

Functions

func NewClientOrderID added in v1.17.0

func NewClientOrderID(originalID string, tags ...string) (clientOrderID string)

Types

type Exchange

type Exchange struct {
	types.MarginSettings
	// contains filtered or unexported fields
}

func New

func New(key, secret string) *Exchange

func (*Exchange) BorrowMarginAsset added in v1.33.0

func (e *Exchange) BorrowMarginAsset(ctx context.Context, asset string, amount fixedpoint.Value) error

func (*Exchange) CancelAllOrders added in v1.5.0

func (e *Exchange) CancelAllOrders(ctx context.Context) ([]types.Order, error)

func (*Exchange) CancelOrders

func (e *Exchange) CancelOrders(ctx context.Context, orders ...types.Order) (err2 error)

func (*Exchange) CancelOrdersByGroupID added in v1.5.0

func (e *Exchange) CancelOrdersByGroupID(ctx context.Context, groupID uint32) ([]types.Order, error)

func (*Exchange) CancelOrdersBySymbol added in v1.5.0

func (e *Exchange) CancelOrdersBySymbol(ctx context.Context, symbol string) ([]types.Order, error)

func (*Exchange) DefaultFeeRates added in v1.33.0

func (e *Exchange) DefaultFeeRates() types.ExchangeFee

DefaultFeeRates returns the MAX VIP 0 fee schedule See also https://max-vip-zh.maicoin.com/

func (*Exchange) IsSupportedInterval added in v1.38.0

func (e *Exchange) IsSupportedInterval(interval types.Interval) bool

func (*Exchange) Name

func (e *Exchange) Name() types.ExchangeName

func (*Exchange) NewStream

func (e *Exchange) NewStream() types.Stream

func (*Exchange) PlatformFeeCurrency

func (e *Exchange) PlatformFeeCurrency() string

PlatformFeeCurrency

func (*Exchange) QueryAccount

func (e *Exchange) QueryAccount(ctx context.Context) (*types.Account, error)

func (*Exchange) QueryAccountBalances

func (e *Exchange) QueryAccountBalances(ctx context.Context) (types.BalanceMap, error)

func (*Exchange) QueryAveragePrice

func (e *Exchange) QueryAveragePrice(ctx context.Context, symbol string) (fixedpoint.Value, error)

func (*Exchange) QueryClosedOrders

func (e *Exchange) QueryClosedOrders(
	ctx context.Context, symbol string, since, until time.Time, lastOrderID uint64,
) ([]types.Order, error)

func (*Exchange) QueryClosedOrdersDesc added in v1.55.0

func (e *Exchange) QueryClosedOrdersDesc(
	ctx context.Context, symbol string, since, until time.Time, lastOrderID uint64,
) ([]types.Order, error)

func (*Exchange) QueryDepositHistory

func (e *Exchange) QueryDepositHistory(
	ctx context.Context, asset string, since, until time.Time,
) (allDeposits []types.Deposit, err error)

func (*Exchange) QueryKLines

func (e *Exchange) QueryKLines(
	ctx context.Context, symbol string, interval types.Interval, options types.KLineQueryOptions,
) ([]types.KLine, error)

QueryKLines returns the klines from the MAX exchange API. The KLine API of the MAX exchange uses inclusive time range

https://max-api.maicoin.com/api/v2/k?market=btctwd&limit=10&period=1&timestamp=1620202440 The above query will return a kline that starts with 1620202440 (unix timestamp) without endTime. We need to calculate the endTime by ourself.

func (*Exchange) QueryMarginAssetMaxBorrowable added in v1.33.0

func (e *Exchange) QueryMarginAssetMaxBorrowable(
	ctx context.Context, asset string,
) (amount fixedpoint.Value, err error)

func (*Exchange) QueryMarkets

func (e *Exchange) QueryMarkets(ctx context.Context) (types.MarketMap, error)

func (*Exchange) QueryOpenOrders

func (e *Exchange) QueryOpenOrders(ctx context.Context, symbol string) ([]types.Order, error)

func (*Exchange) QueryOrder added in v1.28.0

func (e *Exchange) QueryOrder(ctx context.Context, q types.OrderQuery) (*types.Order, error)

func (*Exchange) QueryOrderTrades added in v1.39.0

func (e *Exchange) QueryOrderTrades(ctx context.Context, q types.OrderQuery) ([]types.Trade, error)

func (*Exchange) QueryRewards added in v1.13.0

func (e *Exchange) QueryRewards(ctx context.Context, startTime time.Time) ([]types.Reward, error)

func (*Exchange) QuerySpotAccount added in v1.52.0

func (e *Exchange) QuerySpotAccount(ctx context.Context) (*types.Account, error)

func (*Exchange) QueryTicker added in v1.11.1

func (e *Exchange) QueryTicker(ctx context.Context, symbol string) (*types.Ticker, error)

func (*Exchange) QueryTickers added in v1.11.0

func (e *Exchange) QueryTickers(ctx context.Context, symbol ...string) (map[string]types.Ticker, error)

func (*Exchange) QueryTrades

func (e *Exchange) QueryTrades(
	ctx context.Context, symbol string, options *types.TradeQueryOptions,
) (trades []types.Trade, err error)

QueryTrades For MAX API spec start_time and end_time need to be within 3 days without any parameters -> return trades within 24 hours give start_time or end_time -> ignore parameter from_id give start_time or from_id -> order by time asc give end_time -> order by time desc limit should b1 1~1000 For this QueryTrades spec (to be compatible with batch.TradeBatchQuery) give LastTradeID -> ignore start_time (but still can filter the end_time) without any parameters -> return trades within 24 hours

func (*Exchange) QueryWithdrawHistory

func (e *Exchange) QueryWithdrawHistory(
	ctx context.Context, asset string, since, until time.Time,
) (allWithdraws []types.Withdraw, err error)

func (*Exchange) RepayMarginAsset added in v1.33.0

func (e *Exchange) RepayMarginAsset(ctx context.Context, asset string, amount fixedpoint.Value) error

func (*Exchange) SubmitOrder added in v1.40.3

func (e *Exchange) SubmitOrder(ctx context.Context, order types.SubmitOrder) (createdOrder *types.Order, err error)

func (*Exchange) SupportedInterval added in v1.38.0

func (e *Exchange) SupportedInterval() map[types.Interval]int

func (*Exchange) TransferMarginAccountAsset added in v1.52.0

func (e *Exchange) TransferMarginAccountAsset(ctx context.Context, asset string, amount fixedpoint.Value, io types.TransferDirection) error

TransferMarginAccountAsset transfers the asset into/out from the margin account

types.TransferIn => Spot to Margin types.TransferOut => Margin to Spot

to call this method, you must set the IsMargin = true

func (*Exchange) Withdraw added in v1.33.0

func (e *Exchange) Withdraw(
	ctx context.Context, asset string, amount fixedpoint.Value, address string, options *types.WithdrawalOptions,
) error

type Stream

type Stream struct {
	types.StandardStream
	types.MarginSettings
	// contains filtered or unexported fields
}

func NewStream

func NewStream(key, secret string) *Stream

func (*Stream) EmitAccountSnapshotEvent added in v1.23.0

func (s *Stream) EmitAccountSnapshotEvent(e max.AccountSnapshotEvent)

func (*Stream) EmitAccountUpdateEvent added in v1.23.0

func (s *Stream) EmitAccountUpdateEvent(e max.AccountUpdateEvent)

func (*Stream) EmitAdRatioEvent added in v1.33.0

func (s *Stream) EmitAdRatioEvent(e max.ADRatioEvent)

func (*Stream) EmitAuthEvent added in v1.23.0

func (s *Stream) EmitAuthEvent(e max.AuthEvent)

func (*Stream) EmitBookEvent added in v1.23.0

func (s *Stream) EmitBookEvent(e max.BookEvent)

func (*Stream) EmitDebtEvent added in v1.33.0

func (s *Stream) EmitDebtEvent(e max.DebtEvent)

func (*Stream) EmitErrorEvent added in v1.23.0

func (s *Stream) EmitErrorEvent(e max.ErrorEvent)

func (*Stream) EmitKLineEvent added in v1.23.0

func (s *Stream) EmitKLineEvent(e max.KLineEvent)

func (*Stream) EmitOrderSnapshotEvent added in v1.23.0

func (s *Stream) EmitOrderSnapshotEvent(e max.OrderSnapshotEvent)

func (*Stream) EmitOrderUpdateEvent added in v1.23.0

func (s *Stream) EmitOrderUpdateEvent(e max.OrderUpdateEvent)

func (*Stream) EmitSubscriptionEvent added in v1.23.0

func (s *Stream) EmitSubscriptionEvent(e max.SubscriptionEvent)

func (*Stream) EmitTradeEvent added in v1.23.0

func (s *Stream) EmitTradeEvent(e max.PublicTradeEvent)

func (*Stream) EmitTradeSnapshotEvent added in v1.23.0

func (s *Stream) EmitTradeSnapshotEvent(e max.TradeSnapshotEvent)

func (*Stream) EmitTradeUpdateEvent added in v1.23.0

func (s *Stream) EmitTradeUpdateEvent(e max.TradeUpdateEvent)

func (*Stream) OnAccountSnapshotEvent added in v1.23.0

func (s *Stream) OnAccountSnapshotEvent(cb func(e max.AccountSnapshotEvent))

func (*Stream) OnAccountUpdateEvent added in v1.23.0

func (s *Stream) OnAccountUpdateEvent(cb func(e max.AccountUpdateEvent))

func (*Stream) OnAdRatioEvent added in v1.33.0

func (s *Stream) OnAdRatioEvent(cb func(e max.ADRatioEvent))

func (*Stream) OnAuthEvent added in v1.23.0

func (s *Stream) OnAuthEvent(cb func(e max.AuthEvent))

func (*Stream) OnBookEvent added in v1.23.0

func (s *Stream) OnBookEvent(cb func(e max.BookEvent))

func (*Stream) OnDebtEvent added in v1.33.0

func (s *Stream) OnDebtEvent(cb func(e max.DebtEvent))

func (*Stream) OnErrorEvent added in v1.23.0

func (s *Stream) OnErrorEvent(cb func(e max.ErrorEvent))

func (*Stream) OnKLineEvent added in v1.23.0

func (s *Stream) OnKLineEvent(cb func(e max.KLineEvent))

func (*Stream) OnOrderSnapshotEvent added in v1.23.0

func (s *Stream) OnOrderSnapshotEvent(cb func(e max.OrderSnapshotEvent))

func (*Stream) OnOrderUpdateEvent added in v1.23.0

func (s *Stream) OnOrderUpdateEvent(cb func(e max.OrderUpdateEvent))

func (*Stream) OnSubscriptionEvent added in v1.23.0

func (s *Stream) OnSubscriptionEvent(cb func(e max.SubscriptionEvent))

func (*Stream) OnTradeEvent added in v1.23.0

func (s *Stream) OnTradeEvent(cb func(e max.PublicTradeEvent))

func (*Stream) OnTradeSnapshotEvent added in v1.23.0

func (s *Stream) OnTradeSnapshotEvent(cb func(e max.TradeSnapshotEvent))

func (*Stream) OnTradeUpdateEvent added in v1.23.0

func (s *Stream) OnTradeUpdateEvent(cb func(e max.TradeUpdateEvent))

func (*Stream) SetPrivateChannels added in v1.53.0

func (s *Stream) SetPrivateChannels(channels []string)

Directories

Path Synopsis
v3

Jump to

Keyboard shortcuts

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