max

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: 21 Imported by: 0

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

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

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

func (*Exchange) CancelAllOrders

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

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

func (*Exchange) CancelOrdersBySymbol

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

func (*Exchange) DefaultFeeRates

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

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

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

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

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

func (*Exchange) QueryOrderTrades

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

func (*Exchange) QueryRewards

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

func (*Exchange) QuerySpotAccount

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

func (*Exchange) QueryTicker

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

func (*Exchange) QueryTickers

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

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

func (*Exchange) SubmitOrder

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

func (*Exchange) SupportedInterval

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

func (*Exchange) TransferMarginAccountAsset

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

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

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

func (*Stream) EmitAccountUpdateEvent

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

func (*Stream) EmitAdRatioEvent

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

func (*Stream) EmitAuthEvent

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

func (*Stream) EmitBookEvent

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

func (*Stream) EmitDebtEvent

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

func (*Stream) EmitErrorEvent

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

func (*Stream) EmitKLineEvent

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

func (*Stream) EmitOrderSnapshotEvent

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

func (*Stream) EmitOrderUpdateEvent

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

func (*Stream) EmitSubscriptionEvent

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

func (*Stream) EmitTradeEvent

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

func (*Stream) EmitTradeSnapshotEvent

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

func (*Stream) EmitTradeUpdateEvent

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

func (*Stream) OnAccountSnapshotEvent

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

func (*Stream) OnAccountUpdateEvent

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

func (*Stream) OnAdRatioEvent

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

func (*Stream) OnAuthEvent

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

func (*Stream) OnBookEvent

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

func (*Stream) OnDebtEvent

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

func (*Stream) OnErrorEvent

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

func (*Stream) OnKLineEvent

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

func (*Stream) OnOrderSnapshotEvent

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

func (*Stream) OnOrderUpdateEvent

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

func (*Stream) OnSubscriptionEvent

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

func (*Stream) OnTradeEvent

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

func (*Stream) OnTradeSnapshotEvent

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

func (*Stream) OnTradeUpdateEvent

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

func (*Stream) SetPrivateChannels

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