Documentation ¶
Index ¶
- Variables
- func GetError(apiErrors []string) error
- type AccountsData
- type AddOrderOptions
- type AddOrderResponse
- type Asset
- type AssetPairs
- type AuthErrorData
- type BatchOrderData
- type CancelAllOrdersData
- type CancelOrderResponse
- type CancelOrdersAfterData
- type ClosedOrders
- type DepositAddress
- type DepositMethods
- type ExecutionData
- type FOpenOrdersData
- type FuturesAccountsData
- type FuturesCancelOrderData
- type FuturesEditedOrderData
- type FuturesFillsData
- type FuturesInstrumentData
- type FuturesNotificationData
- type FuturesOpenOrdersData
- type FuturesOpenPositions
- type FuturesOrderData
- type FuturesOrderbookData
- type FuturesRecentOrdersData
- type FuturesSendOrderData
- type FuturesTickerData
- type FuturesTradeHistoryData
- type FuturesTransferData
- type GenericResponse
- type GetClosedOrdersOptions
- type GetLedgersOptions
- type GetTradesHistoryOptions
- type Kraken
- func (k *Kraken) AddOrder(ctx context.Context, symbol currency.Pair, side, orderType string, ...) (AddOrderResponse, error)
- func (k *Kraken) AuthenticateWebsocket(ctx context.Context) error
- func (k *Kraken) CancelAllOrders(ctx context.Context, req *order.Cancel) (order.CancelAllResponse, error)
- func (k *Kraken) CancelBatchOrders(ctx context.Context, orders []order.Cancel) (order.CancelBatchResponse, error)
- func (k *Kraken) CancelExistingOrder(ctx context.Context, txid string) (CancelOrderResponse, error)
- func (k *Kraken) CancelOrder(ctx context.Context, o *order.Cancel) error
- func (k *Kraken) FetchAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
- func (k *Kraken) FetchOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
- func (k *Kraken) FetchTicker(ctx context.Context, p currency.Pair, assetType asset.Item) (*ticker.Price, error)
- func (k *Kraken) FetchTradablePairs(ctx context.Context, assetType asset.Item) ([]string, error)
- func (k *Kraken) FormatExchangeKlineInterval(in kline.Interval) string
- func (k *Kraken) FuturesBatchOrder(ctx context.Context, data []PlaceBatchOrderData) (BatchOrderData, error)
- func (k *Kraken) FuturesCancelAllOrders(ctx context.Context, symbol currency.Pair) (CancelAllOrdersData, error)
- func (k *Kraken) FuturesCancelAllOrdersAfter(ctx context.Context, timeout int64) (CancelOrdersAfterData, error)
- func (k *Kraken) FuturesCancelOrder(ctx context.Context, orderID, clientOrderID string) (FuturesCancelOrderData, error)
- func (k *Kraken) FuturesEditOrder(ctx context.Context, orderID, clientOrderID string, ...) (FuturesAccountsData, error)
- func (k *Kraken) FuturesGetFills(ctx context.Context, lastFillTime time.Time) (FuturesFillsData, error)
- func (k *Kraken) FuturesGetOpenPositions(ctx context.Context) (FuturesOpenPositions, error)
- func (k *Kraken) FuturesGetTransfers(ctx context.Context, lastTransferTime time.Time) (GenericResponse, error)
- func (k *Kraken) FuturesNotifications(ctx context.Context) (FuturesNotificationData, error)
- func (k *Kraken) FuturesOpenOrders(ctx context.Context) (FuturesOpenOrdersData, error)
- func (k *Kraken) FuturesRecentOrders(ctx context.Context, symbol currency.Pair) (FuturesRecentOrdersData, error)
- func (k *Kraken) FuturesSendOrder(ctx context.Context, orderType order.Type, symbol currency.Pair, ...) (FuturesSendOrderData, error)
- func (k *Kraken) FuturesTransfer(ctx context.Context, fromAccount, toAccount, unit string, amount float64) (FuturesTransferData, error)
- func (k *Kraken) FuturesWithdrawToSpotWallet(ctx context.Context, currency string, amount float64) (GenericResponse, error)
- func (k *Kraken) GenerateDefaultSubscriptions() ([]stream.ChannelSubscription, error)
- func (k *Kraken) GetActiveOrders(ctx context.Context, req *order.GetOrdersRequest) ([]order.Detail, error)
- func (k *Kraken) GetAssetPairs(ctx context.Context, assetPairs []string, info string) (map[string]AssetPairs, error)
- func (k *Kraken) GetAssets(ctx context.Context) (map[string]*Asset, error)
- func (k *Kraken) GetAvailableTransferChains(ctx context.Context, cryptocurrency currency.Code) ([]string, error)
- func (k *Kraken) GetBalance(ctx context.Context) (map[string]float64, error)
- func (k *Kraken) GetClosedOrders(ctx context.Context, args GetClosedOrdersOptions) (ClosedOrders, error)
- func (k *Kraken) GetCryptoDepositAddress(ctx context.Context, method, code string, createNew bool) ([]DepositAddress, error)
- func (k *Kraken) GetDefaultConfig() (*config.Exchange, error)
- func (k *Kraken) GetDepositAddress(ctx context.Context, cryptocurrency currency.Code, _, chain string) (*deposit.Address, error)
- func (k *Kraken) GetDepositMethods(ctx context.Context, currency string) ([]DepositMethods, error)
- func (k *Kraken) GetDepth(ctx context.Context, symbol currency.Pair) (Orderbook, error)
- func (k *Kraken) GetFee(ctx context.Context, feeBuilder *exchange.FeeBuilder) (float64, error)
- func (k *Kraken) GetFeeByType(ctx context.Context, feeBuilder *exchange.FeeBuilder) (float64, error)
- func (k *Kraken) GetFundingHistory(ctx context.Context) ([]exchange.FundHistory, error)
- func (k *Kraken) GetFuturesAccountData(ctx context.Context) (FuturesAccountsData, error)
- func (k *Kraken) GetFuturesMarkets(ctx context.Context) (FuturesInstrumentData, error)
- func (k *Kraken) GetFuturesOrderbook(ctx context.Context, symbol currency.Pair) (FuturesOrderbookData, error)
- func (k *Kraken) GetFuturesTickers(ctx context.Context) (FuturesTickerData, error)
- func (k *Kraken) GetFuturesTradeHistory(ctx context.Context, symbol currency.Pair, lastTime time.Time) (FuturesTradeHistoryData, error)
- func (k *Kraken) GetHistoricCandles(ctx context.Context, pair currency.Pair, a asset.Item, start, end time.Time, ...) (kline.Item, error)
- func (k *Kraken) GetHistoricCandlesExtended(ctx context.Context, pair currency.Pair, a asset.Item, start, end time.Time, ...) (kline.Item, error)
- func (k *Kraken) GetHistoricTrades(_ context.Context, _ currency.Pair, _ asset.Item, _, _ time.Time) ([]trade.Data, error)
- func (k *Kraken) GetLedgers(ctx context.Context, args ...GetLedgersOptions) (Ledgers, error)
- func (k *Kraken) GetOHLC(ctx context.Context, symbol currency.Pair, interval string) ([]OpenHighLowClose, error)
- func (k *Kraken) GetOpenOrders(ctx context.Context, args OrderInfoOptions) (OpenOrders, error)
- func (k *Kraken) GetOrderHistory(ctx context.Context, getOrdersRequest *order.GetOrdersRequest) ([]order.Detail, error)
- func (k *Kraken) GetOrderInfo(ctx context.Context, orderID string, pair currency.Pair, assetType asset.Item) (order.Detail, error)
- func (k *Kraken) GetRecentTrades(ctx context.Context, p currency.Pair, assetType asset.Item) ([]trade.Data, error)
- func (k *Kraken) GetServerTime(ctx context.Context) (TimeResponse, error)
- func (k *Kraken) GetSpread(ctx context.Context, symbol currency.Pair) ([]Spread, error)
- func (k *Kraken) GetTicker(ctx context.Context, symbol currency.Pair) (Ticker, error)
- func (k *Kraken) GetTickers(ctx context.Context, pairList string) (map[string]Ticker, error)
- func (k *Kraken) GetTradeBalance(ctx context.Context, args ...TradeBalanceOptions) (TradeBalanceInfo, error)
- func (k *Kraken) GetTradeVolume(ctx context.Context, feeinfo bool, symbol ...currency.Pair) (TradeVolumeResponse, error)
- func (k *Kraken) GetTrades(ctx context.Context, symbol currency.Pair) ([]RecentTrades, error)
- func (k *Kraken) GetTradesHistory(ctx context.Context, args ...GetTradesHistoryOptions) (TradesHistory, error)
- func (k *Kraken) GetWebsocketToken(ctx context.Context) (string, error)
- func (k *Kraken) GetWithdrawInfo(ctx context.Context, currency string, amount float64) (WithdrawInformation, error)
- func (k *Kraken) GetWithdrawalsHistory(ctx context.Context, c currency.Code) (resp []exchange.WithdrawalHistory, err error)
- func (k *Kraken) ModifyOrder(ctx context.Context, action *order.Modify) (order.Modify, error)
- func (k *Kraken) OpenPositions(ctx context.Context, docalcs bool, txids ...string) (map[string]Position, error)
- func (k *Kraken) QueryLedgers(ctx context.Context, id string, ids ...string) (map[string]LedgerInfo, error)
- func (k *Kraken) QueryOrdersInfo(ctx context.Context, args OrderInfoOptions, txid string, txids ...string) (map[string]OrderInfo, error)
- func (k *Kraken) QueryTrades(ctx context.Context, trades bool, txid string, txids ...string) (map[string]TradeInfo, error)
- func (k *Kraken) Run()
- func (k *Kraken) SeedAssets(ctx context.Context) error
- func (k *Kraken) SendAuthenticatedHTTPRequest(ctx context.Context, ep exchange.URL, method string, params url.Values, ...) error
- func (k *Kraken) SendFuturesAuthRequest(ctx context.Context, method, path string, data url.Values, result interface{}) error
- func (k *Kraken) SendHTTPRequest(ctx context.Context, ep exchange.URL, path string, result interface{}) error
- func (k *Kraken) SetDefaults()
- func (k *Kraken) Setup(exch *config.Exchange) error
- func (k *Kraken) Start(wg *sync.WaitGroup) error
- func (k *Kraken) SubmitOrder(ctx context.Context, s *order.Submit) (order.SubmitResponse, error)
- func (k *Kraken) Subscribe(channelsToSubscribe []stream.ChannelSubscription) error
- func (k *Kraken) Unsubscribe(channelsToUnsubscribe []stream.ChannelSubscription) error
- func (k *Kraken) UpdateAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
- func (k *Kraken) UpdateOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
- func (k *Kraken) UpdateTicker(ctx context.Context, p currency.Pair, a asset.Item) (*ticker.Price, error)
- func (k *Kraken) UpdateTickers(ctx context.Context, a asset.Item) error
- func (k *Kraken) UpdateTradablePairs(ctx context.Context, forceUpdate bool) error
- func (k *Kraken) ValidateCredentials(ctx context.Context, assetType asset.Item) error
- func (k *Kraken) Withdraw(ctx context.Context, asset, key string, amount float64) (string, error)
- func (k *Kraken) WithdrawCancel(ctx context.Context, c currency.Code, refID string) (bool, error)
- func (k *Kraken) WithdrawCryptocurrencyFunds(ctx context.Context, withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (k *Kraken) WithdrawFiatFunds(ctx context.Context, withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (k *Kraken) WithdrawFiatFundsToInternationalBank(ctx context.Context, withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (k *Kraken) WithdrawStatus(ctx context.Context, c currency.Code, method string) ([]WithdrawStatusResponse, error)
- func (k *Kraken) WsConnect() error
- type LedgerInfo
- type Ledgers
- type OpenHighLowClose
- type OpenOrders
- type OrderDescription
- type OrderInfo
- type OrderInfoOptions
- type OrderVars
- type Orderbook
- type OrderbookBase
- type PlaceBatchOrderData
- type Position
- type RecentOrderData
- type RecentTrades
- type SpotAuthError
- type Spread
- type Ticker
- type TickerResponse
- type Tickers
- type TimeResponse
- type TradeBalanceInfo
- type TradeBalanceOptions
- type TradeInfo
- type TradeVolumeFee
- type TradeVolumeResponse
- type TradesHistory
- type WSFuturesTickerData
- type WebsocketBaseEventRequest
- type WebsocketChannelData
- type WebsocketDataResponse
- type WebsocketErrorResponse
- type WebsocketEventResponse
- type WebsocketSubscriptionData
- type WebsocketSubscriptionEventRequest
- type WebsocketSubscriptionEventResponse
- type WebsocketSubscriptionResponseData
- type WebsocketUnsubscribeByChannelIDEventRequest
- type WithdrawInformation
- type WithdrawStatusResponse
- type WsAccountBalancesAndMargin
- type WsAddOrderRequest
- type WsAddOrderResponse
- type WsCancelOrderRequest
- type WsCancelOrderResponse
- type WsFuturesAccountLog
- type WsFuturesFillsData
- type WsFuturesNotifications
- type WsFuturesOB
- type WsFuturesOpenOrders
- type WsFuturesTickerLite
- type WsFuturesTradeData
- type WsOpenOrder
- type WsOpenOrderDescription
- type WsOpenOrders
- type WsOpenPositions
- type WsOwnTrade
- type WsTokenResponse
- type WsVerboseOpenOrders
Constants ¶
This section is empty.
Variables ¶
DepositFees the large list of predefined deposit fees Prone to change
var WithdrawalFees = map[currency.Code]float64{ currency.ZUSD: 5, currency.ZEUR: 5, currency.USD: 5, currency.EUR: 5, currency.REP: 0.01, currency.XXBT: 0.0005, currency.BTC: 0.0005, currency.XBT: 0.0005, currency.BCH: 0.0001, currency.ADA: 0.3, currency.DASH: 0.005, currency.XDG: 2, currency.EOS: 0.05, currency.ETH: 0.005, currency.ETC: 0.005, currency.GNO: 0.005, currency.ICN: 0.2, currency.LTC: 0.001, currency.MLN: 0.003, currency.XMR: 0.05, currency.QTUM: 0.01, currency.XRP: 0.02, currency.XLM: 0.00002, currency.USDT: 5, currency.XTZ: 0.05, currency.ZEC: 0.0001, }
WithdrawalFees the large list of predefined withdrawal fees Prone to change
Functions ¶
Types ¶
type AccountsData ¶
type AccountsData struct { AccType string `json:"type"` Currency string `json:"currency"` Balances map[string]float64 `json:"balances"` Auxiliary struct { AvailableFunds float64 `json:"af"` ProfitAndLoss float64 `json:"pnl"` PortfolioValue float64 `json:"pv"` } `json:"auxiliary"` MarginRequirements struct { InitialMargin float64 `json:"im"` MaintenanceMargin float64 `json:"mm"` LiquidationThreshold float64 `json:"lt"` TerminationThreshold float64 `json:"tt"` } `json:"marginRequirements"` TriggerEstimates struct { InitialMargin float64 `json:"im"` MaintenanceMargin float64 `json:"mm"` LiquidationThreshold float64 `json:"lt"` TerminationThreshold float64 `json:"tt"` } `json:"triggerEstimates"` }
AccountsData stores data of an account
type AddOrderOptions ¶
type AddOrderOptions struct { UserRef int32 OrderFlags string StartTm string ExpireTm string CloseOrderType string ClosePrice float64 ClosePrice2 float64 Validate bool }
AddOrderOptions represents the AddOrder options
type AddOrderResponse ¶
type AddOrderResponse struct { Description OrderDescription `json:"descr"` TransactionIds []string `json:"txid"` }
AddOrderResponse type
type Asset ¶
type Asset struct { Altname string `json:"altname"` AclassBase string `json:"aclass_base"` Decimals int `json:"decimals"` DisplayDecimals int `json:"display_decimals"` }
Asset holds asset information
type AssetPairs ¶
type AssetPairs struct { Altname string `json:"altname"` Wsname string `json:"wsname"` AclassBase string `json:"aclass_base"` Base string `json:"base"` AclassQuote string `json:"aclass_quote"` Quote string `json:"quote"` Lot string `json:"lot"` PairDecimals int `json:"pair_decimals"` LotDecimals int `json:"lot_decimals"` LotMultiplier int `json:"lot_multiplier"` LeverageBuy []int `json:"leverage_buy"` LeverageSell []int `json:"leverage_sell"` Fees [][]float64 `json:"fees"` FeesMaker [][]float64 `json:"fees_maker"` FeeVolumeCurrency string `json:"fee_volume_currency"` MarginCall int `json:"margin_call"` MarginStop int `json:"margin_stop"` Ordermin string `json:"ordermin"` }
AssetPairs holds asset pair information
type AuthErrorData ¶
type AuthErrorData struct { Result string `json:"result"` ServerTime string `json:"serverTime"` Error string `json:"error"` }
AuthErrorData stores authenticated error messages
type BatchOrderData ¶
type BatchOrderData struct { Result string `json:"result"` ServerTime string `json:"serverTime"` BatchStatus []struct { Status string `json:"status"` OrderTag string `json:"order_tag"` OrderID string `json:"order_id"` DateTimeReceived string `json:"dateTimeReceived"` OrderEvents []struct { OrderPlaced FuturesOrderData `json:"orderPlaced"` ReduceOnly bool `json:"reduceOnly"` Timestamp string `json:"timestamp"` OldEditedOrder FuturesOrderData `json:"old"` NewEditedOrder FuturesOrderData `json:"new"` UID string `json:"uid"` RequestType string `json:"requestType"` } `json:"orderEvents"` } `json:"batchStatus"` }
BatchOrderData stores batch order data
type CancelAllOrdersData ¶
type CancelAllOrdersData struct { CancelStatus struct { ReceivedTime string `json:"receivedTime"` CancelOnly string `json:"cancelOnly"` Status string `json:"status"` CancelledOrders []struct { OrderID string `json:"order_id"` } `json:"cancelledOrders"` OrderEvents []struct { UID string `json:"uid"` } `json:"uid"` Order FuturesOrderData `json:"order"` DataType string `json:"type"` } `json:"cancelStatus"` ServerTime string `json:"serverTime"` }
CancelAllOrdersData stores order data for all cancelled orders
type CancelOrderResponse ¶
type CancelOrderResponse struct { Count int64 `json:"count"` Pending interface{} `json:"pending"` }
CancelOrderResponse type
type CancelOrdersAfterData ¶
type CancelOrdersAfterData struct { Result string `json:"result"` Status struct { CurrentTime string `json:"currentTime"` TriggerTime string `json:"triggerTime"` } `json:"status"` ServerTime string `json:"serverTime"` }
CancelOrdersAfterData stores data of all orders after a certain time that are cancelled
type ClosedOrders ¶
ClosedOrders type
type DepositAddress ¶
type DepositAddress struct { Address string `json:"address"` ExpireTime interface{} `json:"expiretm"` // this is an int when new is specified Tag string `json:"tag"` New bool `json:"new"` }
DepositAddress defines a deposit address
type DepositMethods ¶
type DepositMethods struct { Method string `json:"method"` Limit interface{} `json:"limit"` // If no limit amount, this comes back as boolean Fee float64 `json:"fee,string"` AddressSetupFee float64 `json:"address-setup-fee,string"` }
DepositMethods Used to check deposit fees
type ExecutionData ¶
type ExecutionData struct { UID string `json:"uid"` TakerOrder RecentOrderData `json:"takerOrder"` }
ExecutionData stores execution data
type FOpenOrdersData ¶
type FOpenOrdersData struct { OrderID string `json:"order_id"` ClientOrderID string `json:"cliOrdId"` Symbol string `json:"symbol"` Side string `json:"side"` OrderType string `json:"orderType"` LimitPrice float64 `json:"limitPrice"` StopPrice float64 `json:"stopPrice"` UnfilledSize float64 `json:"unfilledSize"` ReceivedTime string `json:"receivedTime"` Status string `json:"status"` FilledSize float64 `json:"filledSize"` ReduceOnly bool `json:"reduceOnly"` TriggerSignal string `json:"triggerSignal"` LastUpdateTime string `json:"lastUpdateTime"` }
FOpenOrdersData stores open orders data for futures
type FuturesAccountsData ¶
type FuturesAccountsData struct { ServerTime string `json:"serverTime"` Accounts map[string]AccountsData `json:"accounts"` }
FuturesAccountsData stores account data
type FuturesCancelOrderData ¶
type FuturesCancelOrderData struct { CancelStatus struct { Status string `json:"status"` OrderID string `json:"order_id"` ReceivedTime string `json:"receivedTime"` OrderEvents []struct { UID string `json:"uid"` Order FuturesOrderData `json:"order"` DataType string `json:"type"` } `json:"orderEvents"` } `json:"cancelStatus"` ServerTime string `json:"serverTime"` }
FuturesCancelOrderData stores cancel order data for futures
type FuturesEditedOrderData ¶
type FuturesEditedOrderData struct { ServerTime string `json:"serverTime"` EditStatus struct { Status string `json:"status"` OrderID string `json:"orderId"` ReceivedTime string `json:"receivedTime"` OrderEvents []struct { Old FuturesOrderData `json:"old"` New FuturesOrderData `json:"new"` } `json:"orderEvents"` ReduceQuantity string `json:"reduceQuantity"` DataType string `json:"type"` } `json:"editStatus"` }
FuturesEditedOrderData stores an edited order's data
type FuturesFillsData ¶
type FuturesFillsData struct { Fills []struct { FillID string `json:"fill_id"` Symbol string `json:"symbol"` Side string `json:"side"` OrderID string `json:"order_id"` Size float64 `json:"size"` Price float64 `json:"price"` FillTime string `json:"fillTime"` FillType string `json:"fillType"` } `json:"fills"` ServerTime string `json:"serverTime"` }
FuturesFillsData stores fills data
type FuturesInstrumentData ¶
type FuturesInstrumentData struct { Instruments []struct { Symbol string `json:"symbol"` FutureType string `json:"type"` Underlying string `json:"underlying"` LastTradingTime string `json:"lastTradingTime"` TickSize float64 `json:"tickSize"` ContractSize float64 `json:"contractSize"` Tradable bool `json:"tradeable"` MarginLevels []struct { Contracts float64 `json:"contracts"` InitialMargin float64 `json:"initialMargin"` MaintenanceMargin float64 `json:"maintenanceMargin"` } `json:"marginLevels"` } `json:"instruments"` }
FuturesInstrumentData stores info for futures market
type FuturesNotificationData ¶
type FuturesNotificationData struct { Notifications []struct { NotificationType string `json:"type"` Priority string `json:"priority"` Note string `json:"note"` EffectiveTime string `json:"effectiveTime"` } `json:"notifcations"` ServerTime string `json:"serverTime"` }
FuturesNotificationData stores notification data
type FuturesOpenOrdersData ¶
type FuturesOpenOrdersData struct { Result string `json:"result"` OpenOrders []FOpenOrdersData `json:"openOrders"` ServerTime string `json:"serverTime"` }
FuturesOpenOrdersData stores open orders data for futures
type FuturesOpenPositions ¶
type FuturesOpenPositions struct { OpenPositions []struct { Side string `json:"side"` Symbol string `json:"symbol"` Price float64 `json:"price"` FillTime string `json:"fillTime"` Size float64 `json:"size"` UnrealizedFunding float64 `json:"unrealizedFunding"` } `json:"openPositions"` ServerTime string `json:"serverTime"` }
FuturesOpenPositions stores open positions data for futures
type FuturesOrderData ¶
type FuturesOrderData struct { OrderID string `json:"orderId"` ClientOrderID string `json:"cliOrderId"` OrderType string `json:"type"` Symbol string `json:"symbol"` Side string `json:"side"` Quantity float64 `json:"quantity"` Filled float64 `json:"filled"` LimitPrice float64 `json:"limitPrice"` ReduceOnly bool `json:"reduceOnly"` Timestamp string `json:"timestamp"` LastUpdateTimestamp string `json:"lastUpdateTimestamp"` }
FuturesOrderData stores order data
type FuturesOrderbookData ¶
type FuturesOrderbookData struct { ServerTime string `json:"serverTime"` Orderbook struct { Bids [][2]float64 `json:"bids"` Asks [][2]float64 `json:"asks"` } `json:"orderBook"` }
FuturesOrderbookData stores orderbook data for futures
type FuturesRecentOrdersData ¶
type FuturesRecentOrdersData struct { OrderEvents []struct { Timestamp int64 `json:"timestamp"` Event struct { Timestamp string `json:"timestamp"` UID string `json:"uid"` OrderPlaced struct { RecentOrder RecentOrderData `json:"order"` Reason string `json:"reason"` } `json:"orderPlaced"` OrderCancelled struct { RecentOrder RecentOrderData `json:"order"` Reason string `json:"reason"` } `json:"orderCancelled"` OrderRejected struct { RecentOrder RecentOrderData `json:"order"` Reason string `json:"reason"` } `json:"orderRejected"` ExecutionEvent struct { Execution ExecutionData `json:"execution"` Timestamp string `json:"timestamp"` Quantity float64 `json:"quantity"` Price float64 `json:"price"` MarkPrice float64 `json:"markPrice"` LimitFilled bool `json:"limitFilled"` } `json:"executionEvent"` } `json:"event"` } `json:"orderEvents"` }
FuturesRecentOrdersData stores recent orders data
type FuturesSendOrderData ¶
type FuturesSendOrderData struct { SendStatus struct { OrderID string `json:"order_id"` Status string `json:"status"` ReceivedTime string `json:"receivedTime"` OrderEvents []struct { UID string `json:"uid"` Order FuturesOrderData `json:"order"` Reason string `json:"reason"` DataType string `json:"type"` } `json:"orderEvents"` } `json:"sendStatus"` ServerTime string `json:"serverTime"` }
FuturesSendOrderData stores send order data
type FuturesTickerData ¶
type FuturesTickerData struct { Tickers []struct { Tag string `json:"tag"` Pair string `json:"pair"` Symbol string `json:"symbol"` MarkPrice float64 `json:"markPrice"` Bid float64 `json:"bid"` BidSize float64 `json:"bidSize"` Ask float64 `json:"ask"` AskSize float64 `json:"askSize"` Vol24h float64 `json:"vol24h"` OpenInterest float64 `json:"openInterest"` Open24H float64 `json:"open24h"` Last float64 `json:"last"` LastTime string `json:"lastTime"` LastSize float64 `json:"lastSize"` Suspended bool `json:"suspended"` FundingRate float64 `json:"fundingRate"` FundingRatePrediction float64 `json:"fundingRatePrediction"` } `json:"tickers"` ServerTime string `json:"serverTime"` }
FuturesTickerData stores info for futures ticker
type FuturesTradeHistoryData ¶
type FuturesTradeHistoryData struct { History []struct { Time string `json:"time"` TradeID int64 `json:"trade_id"` Price float64 `json:"price"` Size float64 `json:"size"` Side string `json:"side"` TradeType string `json:"type"` } `json:"history"` }
FuturesTradeHistoryData stores trade history data for futures
type FuturesTransferData ¶
type FuturesTransferData struct { Result string `json:"result"` ServerTime string `json:"serverTime"` }
FuturesTransferData stores transfer data
type GenericResponse ¶
GenericResponse stores general response data for functions that only return success
type GetClosedOrdersOptions ¶
type GetClosedOrdersOptions struct { Trades bool UserRef int32 Start string End string Ofs int64 CloseTime string }
GetClosedOrdersOptions type
type GetLedgersOptions ¶
type GetLedgersOptions struct { Aclass string Asset string Type string Start string End string Ofs int64 }
GetLedgersOptions type
type GetTradesHistoryOptions ¶
GetTradesHistoryOptions type
type Kraken ¶
Kraken is the overarching type across the alphapoint package
func (*Kraken) AddOrder ¶
func (k *Kraken) AddOrder(ctx context.Context, symbol currency.Pair, side, orderType string, volume, price, price2, leverage float64, args *AddOrderOptions) (AddOrderResponse, error)
AddOrder adds a new order for Kraken exchange
func (*Kraken) AuthenticateWebsocket ¶
AuthenticateWebsocket sends an authentication message to the websocket
func (*Kraken) CancelAllOrders ¶
func (k *Kraken) CancelAllOrders(ctx context.Context, req *order.Cancel) (order.CancelAllResponse, error)
CancelAllOrders cancels all orders associated with a currency pair
func (*Kraken) CancelBatchOrders ¶
func (k *Kraken) CancelBatchOrders(ctx context.Context, orders []order.Cancel) (order.CancelBatchResponse, error)
CancelBatchOrders cancels an orders by their corresponding ID numbers
func (*Kraken) CancelExistingOrder ¶
CancelExistingOrder cancels order by orderID
func (*Kraken) CancelOrder ¶
CancelOrder cancels an order by its corresponding ID number
func (*Kraken) FetchAccountInfo ¶
func (k *Kraken) FetchAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
FetchAccountInfo retrieves balances for all enabled currencies
func (*Kraken) FetchOrderbook ¶
func (k *Kraken) FetchOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
FetchOrderbook returns orderbook base on the currency pair
func (*Kraken) FetchTicker ¶
func (k *Kraken) FetchTicker(ctx context.Context, p currency.Pair, assetType asset.Item) (*ticker.Price, error)
FetchTicker returns the ticker for a currency pair
func (*Kraken) FetchTradablePairs ¶
FetchTradablePairs returns a list of the exchanges tradable pairs
func (*Kraken) FormatExchangeKlineInterval ¶
FormatExchangeKlineInterval returns Interval to exchange formatted string
func (*Kraken) FuturesBatchOrder ¶
func (k *Kraken) FuturesBatchOrder(ctx context.Context, data []PlaceBatchOrderData) (BatchOrderData, error)
FuturesBatchOrder places a batch order for futures
func (*Kraken) FuturesCancelAllOrders ¶
func (k *Kraken) FuturesCancelAllOrders(ctx context.Context, symbol currency.Pair) (CancelAllOrdersData, error)
FuturesCancelAllOrders cancels all futures orders for a given symbol or all symbols
func (*Kraken) FuturesCancelAllOrdersAfter ¶
func (k *Kraken) FuturesCancelAllOrdersAfter(ctx context.Context, timeout int64) (CancelOrdersAfterData, error)
FuturesCancelAllOrdersAfter cancels all futures orders for all symbols after a period of time (timeout measured in seconds)
func (*Kraken) FuturesCancelOrder ¶
func (k *Kraken) FuturesCancelOrder(ctx context.Context, orderID, clientOrderID string) (FuturesCancelOrderData, error)
FuturesCancelOrder cancels an order
func (*Kraken) FuturesEditOrder ¶
func (k *Kraken) FuturesEditOrder(ctx context.Context, orderID, clientOrderID string, size, limitPrice, stopPrice float64) (FuturesAccountsData, error)
FuturesEditOrder edits a futures order
func (*Kraken) FuturesGetFills ¶
func (k *Kraken) FuturesGetFills(ctx context.Context, lastFillTime time.Time) (FuturesFillsData, error)
FuturesGetFills gets order fills for futures
func (*Kraken) FuturesGetOpenPositions ¶
func (k *Kraken) FuturesGetOpenPositions(ctx context.Context) (FuturesOpenPositions, error)
FuturesGetOpenPositions gets futures platform's notifications
func (*Kraken) FuturesGetTransfers ¶
func (k *Kraken) FuturesGetTransfers(ctx context.Context, lastTransferTime time.Time) (GenericResponse, error)
FuturesGetTransfers withdraws currencies from futures wallet to spot wallet
func (*Kraken) FuturesNotifications ¶
func (k *Kraken) FuturesNotifications(ctx context.Context) (FuturesNotificationData, error)
FuturesNotifications gets futures notifications
func (*Kraken) FuturesOpenOrders ¶
func (k *Kraken) FuturesOpenOrders(ctx context.Context) (FuturesOpenOrdersData, error)
FuturesOpenOrders gets all futures open orders
func (*Kraken) FuturesRecentOrders ¶
func (k *Kraken) FuturesRecentOrders(ctx context.Context, symbol currency.Pair) (FuturesRecentOrdersData, error)
FuturesRecentOrders gets recent futures orders for a symbol or all symbols
func (*Kraken) FuturesSendOrder ¶
func (k *Kraken) FuturesSendOrder(ctx context.Context, orderType order.Type, symbol currency.Pair, side, triggerSignal, clientOrderID, reduceOnly string, ioc bool, size, limitPrice, stopPrice float64) (FuturesSendOrderData, error)
FuturesSendOrder sends a futures order
func (*Kraken) FuturesTransfer ¶
func (k *Kraken) FuturesTransfer(ctx context.Context, fromAccount, toAccount, unit string, amount float64) (FuturesTransferData, error)
FuturesTransfer transfers funds between accounts
func (*Kraken) FuturesWithdrawToSpotWallet ¶
func (k *Kraken) FuturesWithdrawToSpotWallet(ctx context.Context, currency string, amount float64) (GenericResponse, error)
FuturesWithdrawToSpotWallet withdraws currencies from futures wallet to spot wallet
func (*Kraken) GenerateDefaultSubscriptions ¶
func (k *Kraken) GenerateDefaultSubscriptions() ([]stream.ChannelSubscription, error)
GenerateDefaultSubscriptions Adds default subscriptions to websocket to be handled by ManageSubscriptions()
func (*Kraken) GetActiveOrders ¶
func (k *Kraken) GetActiveOrders(ctx context.Context, req *order.GetOrdersRequest) ([]order.Detail, error)
GetActiveOrders retrieves any orders that are active/open
func (*Kraken) GetAssetPairs ¶
func (k *Kraken) GetAssetPairs(ctx context.Context, assetPairs []string, info string) (map[string]AssetPairs, error)
GetAssetPairs returns a full asset pair list Parameter 'info' only supports 4 strings: "fees", "leverage", "margin", "info" <- (default)
func (*Kraken) GetAvailableTransferChains ¶
func (k *Kraken) GetAvailableTransferChains(ctx context.Context, cryptocurrency currency.Code) ([]string, error)
GetAvailableTransferChains returns the available transfer blockchains for the specific cryptocurrency
func (*Kraken) GetBalance ¶
GetBalance returns your balance associated with your keys
func (*Kraken) GetClosedOrders ¶
func (k *Kraken) GetClosedOrders(ctx context.Context, args GetClosedOrdersOptions) (ClosedOrders, error)
GetClosedOrders returns a list of closed orders
func (*Kraken) GetCryptoDepositAddress ¶
func (k *Kraken) GetCryptoDepositAddress(ctx context.Context, method, code string, createNew bool) ([]DepositAddress, error)
GetCryptoDepositAddress returns a deposit address for a cryptocurrency
func (*Kraken) GetDefaultConfig ¶
GetDefaultConfig returns a default exchange config
func (*Kraken) GetDepositAddress ¶
func (k *Kraken) GetDepositAddress(ctx context.Context, cryptocurrency currency.Code, _, chain string) (*deposit.Address, error)
GetDepositAddress returns a deposit address for a specified currency
func (*Kraken) GetDepositMethods ¶
GetDepositMethods gets withdrawal fees
func (*Kraken) GetFeeByType ¶
func (k *Kraken) GetFeeByType(ctx context.Context, feeBuilder *exchange.FeeBuilder) (float64, error)
GetFeeByType returns an estimate of fee based on type of transaction
func (*Kraken) GetFundingHistory ¶
GetFundingHistory returns funding history, deposits and withdrawals
func (*Kraken) GetFuturesAccountData ¶
func (k *Kraken) GetFuturesAccountData(ctx context.Context) (FuturesAccountsData, error)
GetFuturesAccountData gets account data for futures
func (*Kraken) GetFuturesMarkets ¶
func (k *Kraken) GetFuturesMarkets(ctx context.Context) (FuturesInstrumentData, error)
GetFuturesMarkets gets a list of futures markets and their data
func (*Kraken) GetFuturesOrderbook ¶
func (k *Kraken) GetFuturesOrderbook(ctx context.Context, symbol currency.Pair) (FuturesOrderbookData, error)
GetFuturesOrderbook gets orderbook data for futures
func (*Kraken) GetFuturesTickers ¶
func (k *Kraken) GetFuturesTickers(ctx context.Context) (FuturesTickerData, error)
GetFuturesTickers gets a list of futures tickers and their data
func (*Kraken) GetFuturesTradeHistory ¶
func (k *Kraken) GetFuturesTradeHistory(ctx context.Context, symbol currency.Pair, lastTime time.Time) (FuturesTradeHistoryData, error)
GetFuturesTradeHistory gets public trade history data for futures
func (*Kraken) GetHistoricCandles ¶
func (k *Kraken) GetHistoricCandles(ctx context.Context, pair currency.Pair, a asset.Item, start, end time.Time, interval kline.Interval) (kline.Item, error)
GetHistoricCandles returns candles between a time period for a set time interval
func (*Kraken) GetHistoricCandlesExtended ¶
func (k *Kraken) GetHistoricCandlesExtended(ctx context.Context, pair currency.Pair, a asset.Item, start, end time.Time, interval kline.Interval) (kline.Item, error)
GetHistoricCandlesExtended returns candles between a time period for a set time interval
func (*Kraken) GetHistoricTrades ¶
func (k *Kraken) GetHistoricTrades(_ context.Context, _ currency.Pair, _ asset.Item, _, _ time.Time) ([]trade.Data, error)
GetHistoricTrades returns historic trade data within the timeframe provided
func (*Kraken) GetLedgers ¶
GetLedgers returns current ledgers
func (*Kraken) GetOHLC ¶
func (k *Kraken) GetOHLC(ctx context.Context, symbol currency.Pair, interval string) ([]OpenHighLowClose, error)
GetOHLC returns an array of open high low close values of a currency pair
func (*Kraken) GetOpenOrders ¶
func (k *Kraken) GetOpenOrders(ctx context.Context, args OrderInfoOptions) (OpenOrders, error)
GetOpenOrders returns all current open orders
func (*Kraken) GetOrderHistory ¶
func (k *Kraken) GetOrderHistory(ctx context.Context, getOrdersRequest *order.GetOrdersRequest) ([]order.Detail, error)
GetOrderHistory retrieves account order information Can Limit response to specific order status
func (*Kraken) GetOrderInfo ¶
func (k *Kraken) GetOrderInfo(ctx context.Context, orderID string, pair currency.Pair, assetType asset.Item) (order.Detail, error)
GetOrderInfo returns information on a current open order
func (*Kraken) GetRecentTrades ¶
func (k *Kraken) GetRecentTrades(ctx context.Context, p currency.Pair, assetType asset.Item) ([]trade.Data, error)
GetRecentTrades returns the most recent trades for a currency and asset
func (*Kraken) GetServerTime ¶
func (k *Kraken) GetServerTime(ctx context.Context) (TimeResponse, error)
GetServerTime returns current server time
func (*Kraken) GetTickers ¶
GetTickers supports fetching multiple tickers from Kraken pairList must be in the format pairs separated by commas ("LTCUSD,ETCUSD")
func (*Kraken) GetTradeBalance ¶
func (k *Kraken) GetTradeBalance(ctx context.Context, args ...TradeBalanceOptions) (TradeBalanceInfo, error)
GetTradeBalance returns full information about your trades on Kraken
func (*Kraken) GetTradeVolume ¶
func (k *Kraken) GetTradeVolume(ctx context.Context, feeinfo bool, symbol ...currency.Pair) (TradeVolumeResponse, error)
GetTradeVolume returns your trade volume by currency
func (*Kraken) GetTradesHistory ¶
func (k *Kraken) GetTradesHistory(ctx context.Context, args ...GetTradesHistoryOptions) (TradesHistory, error)
GetTradesHistory returns trade history information
func (*Kraken) GetWebsocketToken ¶
GetWebsocketToken returns a websocket token
func (*Kraken) GetWithdrawInfo ¶
func (k *Kraken) GetWithdrawInfo(ctx context.Context, currency string, amount float64) (WithdrawInformation, error)
GetWithdrawInfo gets withdrawal fees
func (*Kraken) GetWithdrawalsHistory ¶
func (k *Kraken) GetWithdrawalsHistory(ctx context.Context, c currency.Code) (resp []exchange.WithdrawalHistory, err error)
GetWithdrawalsHistory returns previous withdrawals data
func (*Kraken) ModifyOrder ¶
ModifyOrder will allow of changing orderbook placement and limit to market conversion
func (*Kraken) OpenPositions ¶
func (k *Kraken) OpenPositions(ctx context.Context, docalcs bool, txids ...string) (map[string]Position, error)
OpenPositions returns current open positions
func (*Kraken) QueryLedgers ¶
func (k *Kraken) QueryLedgers(ctx context.Context, id string, ids ...string) (map[string]LedgerInfo, error)
QueryLedgers queries an individual ledger by ID
func (*Kraken) QueryOrdersInfo ¶
func (k *Kraken) QueryOrdersInfo(ctx context.Context, args OrderInfoOptions, txid string, txids ...string) (map[string]OrderInfo, error)
QueryOrdersInfo returns order information
func (*Kraken) QueryTrades ¶
func (k *Kraken) QueryTrades(ctx context.Context, trades bool, txid string, txids ...string) (map[string]TradeInfo, error)
QueryTrades returns information on a specific trade
func (*Kraken) SeedAssets ¶
SeedAssets seeds Kraken's asset list and stores it in the asset translator
func (*Kraken) SendAuthenticatedHTTPRequest ¶
func (k *Kraken) SendAuthenticatedHTTPRequest(ctx context.Context, ep exchange.URL, method string, params url.Values, result interface{}) error
SendAuthenticatedHTTPRequest sends an authenticated HTTP request
func (*Kraken) SendFuturesAuthRequest ¶
func (k *Kraken) SendFuturesAuthRequest(ctx context.Context, method, path string, data url.Values, result interface{}) error
SendFuturesAuthRequest will send an auth req
func (*Kraken) SendHTTPRequest ¶
func (k *Kraken) SendHTTPRequest(ctx context.Context, ep exchange.URL, path string, result interface{}) error
SendHTTPRequest sends an unauthenticated HTTP requests
func (*Kraken) SetDefaults ¶
func (k *Kraken) SetDefaults()
SetDefaults sets current default settings
func (*Kraken) SubmitOrder ¶
SubmitOrder submits a new order
func (*Kraken) Subscribe ¶
func (k *Kraken) Subscribe(channelsToSubscribe []stream.ChannelSubscription) error
Subscribe sends a websocket message to receive data from the channel
func (*Kraken) Unsubscribe ¶
func (k *Kraken) Unsubscribe(channelsToUnsubscribe []stream.ChannelSubscription) error
Unsubscribe sends a websocket message to stop receiving data from the channel
func (*Kraken) UpdateAccountInfo ¶
func (k *Kraken) UpdateAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
UpdateAccountInfo retrieves balances for all enabled currencies for the Kraken exchange - to-do
func (*Kraken) UpdateOrderbook ¶
func (k *Kraken) UpdateOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
UpdateOrderbook updates and returns the orderbook for a currency pair
func (*Kraken) UpdateTicker ¶
func (k *Kraken) UpdateTicker(ctx context.Context, p currency.Pair, a asset.Item) (*ticker.Price, error)
UpdateTicker updates and returns the ticker for a currency pair
func (*Kraken) UpdateTickers ¶
UpdateTickers updates the ticker for all currency pairs of a given asset type
func (*Kraken) UpdateTradablePairs ¶
UpdateTradablePairs updates the exchanges available pairs and stores them in the exchanges config
func (*Kraken) ValidateCredentials ¶
ValidateCredentials validates current credentials used for wrapper functionality
func (*Kraken) WithdrawCancel ¶
WithdrawCancel sends a withdrawal cancelation request
func (*Kraken) WithdrawCryptocurrencyFunds ¶
func (k *Kraken) WithdrawCryptocurrencyFunds(ctx context.Context, withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawCryptocurrencyFunds returns a withdrawal ID when a withdrawal Populate exchange.WithdrawRequest.TradePassword with withdrawal key name, as set up on your account
func (*Kraken) WithdrawFiatFunds ¶
func (k *Kraken) WithdrawFiatFunds(ctx context.Context, withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawFiatFunds returns a withdrawal ID when a withdrawal is submitted
func (*Kraken) WithdrawFiatFundsToInternationalBank ¶
func (k *Kraken) WithdrawFiatFundsToInternationalBank(ctx context.Context, withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawFiatFundsToInternationalBank returns a withdrawal ID when a withdrawal is submitted
func (*Kraken) WithdrawStatus ¶
func (k *Kraken) WithdrawStatus(ctx context.Context, c currency.Code, method string) ([]WithdrawStatusResponse, error)
WithdrawStatus gets the status of recent withdrawals
type LedgerInfo ¶
type LedgerInfo struct { Refid string `json:"refid"` Time float64 `json:"time"` Type string `json:"type"` Aclass string `json:"aclass"` Asset string `json:"asset"` Amount float64 `json:"amount,string"` Fee float64 `json:"fee,string"` Balance float64 `json:"balance,string"` }
LedgerInfo type
type Ledgers ¶
type Ledgers struct { Ledger map[string]LedgerInfo `json:"ledger"` Count int64 `json:"count"` }
Ledgers type
type OpenHighLowClose ¶
type OpenHighLowClose struct { Time float64 Open float64 High float64 Low float64 Close float64 VolumeWeightedAveragePrice float64 Volume float64 Count float64 }
OpenHighLowClose contains ticker event information
type OpenOrders ¶
OpenOrders type
type OrderDescription ¶
OrderDescription represents an orders description
type OrderInfo ¶
type OrderInfo struct { RefID string `json:"refid"` UserRef int32 `json:"userref"` Status string `json:"status"` OpenTime float64 `json:"opentm"` CloseTime float64 `json:"closetm"` StartTime float64 `json:"starttm"` ExpireTime float64 `json:"expiretm"` Description struct { Pair string `json:"pair"` Type string `json:"type"` OrderType string `json:"ordertype"` Price float64 `json:"price,string"` Price2 float64 `json:"price2,string"` Leverage string `json:"leverage"` Order string `json:"order"` Close string `json:"close"` } `json:"descr"` Volume float64 `json:"vol,string"` VolumeExecuted float64 `json:"vol_exec,string"` Cost float64 `json:"cost,string"` Fee float64 `json:"fee,string"` Price float64 `json:"price,string"` StopPrice float64 `json:"stopprice,string"` LimitPrice float64 `json:"limitprice,string"` Misc string `json:"misc"` OrderFlags string `json:"oflags"` Trades []string `json:"trades"` }
OrderInfo type
type OrderInfoOptions ¶
OrderInfoOptions type
type Orderbook ¶
type Orderbook struct { Bids []OrderbookBase Asks []OrderbookBase }
Orderbook stores the bids and asks orderbook data
type OrderbookBase ¶
OrderbookBase stores the orderbook price and amount data
type PlaceBatchOrderData ¶
type PlaceBatchOrderData struct { PlaceOrderType string `json:"order,omitempty"` OrderType string `json:"orderType,omitempty"` OrderTag string `json:"order_tag,omitempty"` Symbol string `json:"symbol,omitempty"` Side string `json:"side,omitempty"` Size float64 `json:"size,omitempty"` LimitPrice float64 `json:"limitPrice,omitempty"` StopPrice float64 `json:"stopPrice,omitempty"` ClientOrderID int64 `json:"cliOrdId,omitempty"` ReduceOnly string `json:"reduceOnly,omitempty"` OrderID string `json:"order_id,omitempty"` }
PlaceBatchOrderData stores data required to place a batch order
type Position ¶
type Position struct { Ordertxid string `json:"ordertxid"` Pair string `json:"pair"` Time float64 `json:"time"` Type string `json:"type"` OrderType string `json:"ordertype"` Cost float64 `json:"cost,string"` Fee float64 `json:"fee,string"` Volume float64 `json:"vol,string"` VolumeClosed float64 `json:"vol_closed,string"` Margin float64 `json:"margin,string"` RolloverTime int64 `json:"rollovertm,string"` Misc string `json:"misc"` OrderFlags string `json:"oflags"` PositionStatus string `json:"posstatus"` Net string `json:"net"` Terms string `json:"terms"` }
Position holds the opened position
type RecentOrderData ¶
type RecentOrderData struct { UID string `json:"uid"` AccountID string `json:"accountId"` Tradeable string `json:"tradeable"` Direction string `json:"direction"` Quantity float64 `json:"quantity,string"` Filled float64 `json:"filled,string"` Timestamp string `json:"timestamp"` LimitPrice float64 `json:"limitPrice,string"` OrderType string `json:"orderType"` ClientID string `json:"clientId"` StopPrice float64 `json:"stopPrice,string"` }
RecentOrderData stores order data of a recent order
type RecentTrades ¶
type RecentTrades struct { Price float64 Volume float64 Time float64 BuyOrSell string MarketOrLimit string Miscellaneous interface{} }
RecentTrades holds recent trade data
type SpotAuthError ¶
type SpotAuthError struct {
Error interface{} `json:"error"` // can be a []string or string
}
SpotAuthError stores authenticated error messages
type Ticker ¶
type Ticker struct { Ask float64 Bid float64 Last float64 Volume float64 VolumeWeightedAveragePrice float64 Trades int64 Low float64 High float64 Open float64 }
Ticker is a standard ticker type
type TickerResponse ¶
type TickerResponse struct { Ask []string `json:"a"` Bid []string `json:"b"` Last []string `json:"c"` Volume []string `json:"v"` VolumeWeightedAveragePrice []string `json:"p"` Trades []int64 `json:"t"` Low []string `json:"l"` High []string `json:"h"` Open string `json:"o"` }
TickerResponse holds ticker information before its put into the Ticker struct
type TimeResponse ¶
TimeResponse type
type TradeBalanceInfo ¶
type TradeBalanceInfo struct { EquivalentBalance float64 `json:"eb,string"` // combined balance of all currencies TradeBalance float64 `json:"tb,string"` // combined balance of all equity currencies MarginAmount float64 `json:"m,string"` // margin amount of open positions Net float64 `json:"n,string"` // unrealized net profit/loss of open positions Equity float64 `json:"e,string"` // trade balance + unrealized net profit/loss FreeMargin float64 `json:"mf,string"` // equity - initial margin (maximum margin available to open new positions) MarginLevel float64 `json:"ml,string"` // (equity / initial margin) * 100 }
TradeBalanceInfo type
type TradeBalanceOptions ¶
TradeBalanceOptions type
type TradeInfo ¶
type TradeInfo struct { OrderTxID string `json:"ordertxid"` Pair string `json:"pair"` Time float64 `json:"time"` Type string `json:"type"` OrderType string `json:"ordertype"` Price float64 `json:"price,string"` Cost float64 `json:"cost,string"` Fee float64 `json:"fee,string"` Volume float64 `json:"vol,string"` Margin float64 `json:"margin,string"` Misc string `json:"misc"` PosTxID string `json:"postxid"` ClosedPositionAveragePrice float64 `json:"cprice,string"` ClosedPositionFee float64 `json:"cfee,string"` ClosedPositionVolume float64 `json:"cvol,string"` ClosedPositionMargin float64 `json:"cmargin,string"` Trades []string `json:"trades"` PosStatus string `json:"posstatus"` }
TradeInfo type
type TradeVolumeFee ¶
type TradeVolumeFee struct { Fee float64 `json:"fee,string"` MinFee float64 `json:"minfee,string"` MaxFee float64 `json:"maxfee,string"` NextFee float64 `json:"nextfee,string"` NextVolume float64 `json:"nextvolume,string"` TierVolume float64 `json:"tiervolume,string"` }
TradeVolumeFee type
type TradeVolumeResponse ¶
type TradeVolumeResponse struct { Currency string `json:"currency"` Volume float64 `json:"volume,string"` Fees map[string]TradeVolumeFee `json:"fees"` FeesMaker map[string]TradeVolumeFee `json:"fees_maker"` }
TradeVolumeResponse type
type TradesHistory ¶
type TradesHistory struct { Trades map[string]TradeInfo `json:"trades"` Count int64 `json:"count"` }
TradesHistory type
type WSFuturesTickerData ¶
type WSFuturesTickerData struct { Time int64 `json:"time"` Feed string `json:"feed"` ProductID string `json:"product_id"` Bid float64 `json:"bid"` Ask float64 `json:"ask"` BidSize float64 `json:"bid_size"` AskSize float64 `json:"ask_size"` Volume float64 `json:"volume"` DTM float64 `json:"dtm"` Leverage string `json:"leverage"` Index float64 `json:"index"` Premium float64 `json:"premium"` Last float64 `json:"last"` Change float64 `json:"change"` Suspended bool `json:"suspended"` Tag string `json:"tag"` Pair string `json:"pair"` OpenInterest float64 `json:"openinterest"` MarkPrice float64 `json:"markPrice"` MaturityTime int64 `json:"maturityTime"` FundingRate float64 `json:"funding_rate"` FundingRatePrediction float64 `json:"funding_rate_prediction"` RelativeFundingRate float64 `json:"relative_funding_rate"` RelativeFundingRatePrediction float64 `json:"relative_funding_rate_prediction"` NextFundingRateTime int64 `json:"next_funding_rate_time"` }
WSFuturesTickerData stores ws ticker data for futures websocket
type WebsocketBaseEventRequest ¶
type WebsocketBaseEventRequest struct {
Event string `json:"event"` // eg "unsubscribe"
}
WebsocketBaseEventRequest Just has an "event" property
type WebsocketChannelData ¶
WebsocketChannelData Holds relevant data for channels to identify what we're doing
type WebsocketDataResponse ¶
type WebsocketDataResponse []interface{}
WebsocketDataResponse defines a websocket data type
type WebsocketErrorResponse ¶
type WebsocketErrorResponse struct {
ErrorMessage string `json:"errorMessage"`
}
WebsocketErrorResponse defines a websocket error response
type WebsocketEventResponse ¶
type WebsocketEventResponse struct { WebsocketBaseEventRequest Status string `json:"status"` Pair currency.Pair `json:"pair,omitempty"` RequestID int64 `json:"reqid,omitempty"` // Optional, client originated ID reflected in response message. Subscription WebsocketSubscriptionResponseData `json:"subscription,omitempty"` ChannelName string `json:"channelName,omitempty"` WebsocketSubscriptionEventResponse WebsocketErrorResponse }
WebsocketEventResponse holds all data response types
type WebsocketSubscriptionData ¶
type WebsocketSubscriptionData struct { Name string `json:"name,omitempty"` // ticker|ohlc|trade|book|spread|*, * for all (ohlc interval value is 1 if all channels subscribed) Interval int64 `json:"interval,omitempty"` // Optional - Time interval associated with ohlc subscription in minutes. Default 1. Valid Interval values: 1|5|15|30|60|240|1440|10080|21600 Depth int64 `json:"depth,omitempty"` // Optional - depth associated with book subscription in number of levels each side, default 10. Valid Options are: 10, 25, 100, 500, 1000 Token string `json:"token,omitempty"` // Optional used for authenticated requests }
WebsocketSubscriptionData contains details on WS channel
type WebsocketSubscriptionEventRequest ¶
type WebsocketSubscriptionEventRequest struct { Event string `json:"event"` // subscribe RequestID int64 `json:"reqid,omitempty"` // Optional, client originated ID reflected in response message. Pairs []string `json:"pair,omitempty"` // Array of currency pairs (pair1,pair2,pair3). Subscription WebsocketSubscriptionData `json:"subscription,omitempty"` Channels []stream.ChannelSubscription `json:"-"` // Keeps track of associated subscriptions in batched outgoings }
WebsocketSubscriptionEventRequest handles WS subscription events
type WebsocketSubscriptionEventResponse ¶
type WebsocketSubscriptionEventResponse struct {
ChannelID int64 `json:"channelID"`
}
WebsocketSubscriptionEventResponse defines a websocket socket event response
type WebsocketSubscriptionResponseData ¶
type WebsocketSubscriptionResponseData struct {
Name string `json:"name"`
}
WebsocketSubscriptionResponseData defines a websocket subscription response
type WebsocketUnsubscribeByChannelIDEventRequest ¶
type WebsocketUnsubscribeByChannelIDEventRequest struct { WebsocketBaseEventRequest RequestID int64 `json:"reqid,omitempty"` // Optional, client originated ID reflected in response message. Pairs []string `json:"pair,omitempty"` // Array of currency pairs (pair1,pair2,pair3). ChannelID int64 `json:"channelID,omitempty"` }
WebsocketUnsubscribeByChannelIDEventRequest handles WS unsubscribe events
type WithdrawInformation ¶
type WithdrawInformation struct { Method string `json:"method"` Limit float64 `json:"limit,string"` Fee float64 `json:"fee,string"` }
WithdrawInformation Used to check withdrawal fees
type WithdrawStatusResponse ¶
type WithdrawStatusResponse struct { Method string `json:"method"` Aclass string `json:"aclass"` Asset string `json:"asset"` Refid string `json:"refid"` TxID string `json:"txid"` Info string `json:"info"` Amount float64 `json:"amount,string"` Fee float64 `json:"fee,string"` Time float64 `json:"time"` Status string `json:"status"` }
WithdrawStatusResponse defines a withdrawal status response
type WsAccountBalancesAndMargin ¶
type WsAccountBalancesAndMargin struct { Seq int64 `json:"seq"` Feed string `json:"feed"` Account string `json:"account"` MarginAccounts []struct { Name string `json:"name"` PortfolioValue float64 `json:"pv"` Balance float64 `json:"balance"` Funding float64 `json:"funding"` MaintenanceMargin float64 `json:"mm"` ProfitAndLoss float64 `json:"pnl"` InitialMargin float64 `json:"im"` AM float64 `json:"am"` } `json:"margin_accounts"` }
WsAccountBalancesAndMargin stores account balances and margin data for futures websocket
type WsAddOrderRequest ¶
type WsAddOrderRequest struct { Event string `json:"event"` Token string `json:"token"` RequestID int64 `json:"reqid,omitempty"` // Optional, client originated ID reflected in response message. OrderType string `json:"ordertype"` OrderSide string `json:"type"` Pair string `json:"pair"` Price float64 `json:"price,string,omitempty"` // optional Price2 float64 `json:"price2,string,omitempty"` // optional Volume float64 `json:"volume,string,omitempty"` Leverage float64 `json:"leverage,omitempty"` // optional OFlags string `json:"oflags,omitempty"` // optional StartTime string `json:"starttm,omitempty"` // optional ExpireTime string `json:"expiretm,omitempty"` // optional UserReferenceID string `json:"userref,omitempty"` // optional Validate string `json:"validate,omitempty"` // optional CloseOrderType string `json:"close[ordertype],omitempty"` // optional ClosePrice float64 `json:"close[price],omitempty"` // optional ClosePrice2 float64 `json:"close[price2],omitempty"` // optional }
WsAddOrderRequest request type for ws adding order
type WsAddOrderResponse ¶
type WsAddOrderResponse struct { Event string `json:"event"` RequestID int64 `json:"reqid"` Status string `json:"status"` TransactionID string `json:"txid"` Description string `json:"descr"` ErrorMessage string `json:"errorMessage"` }
WsAddOrderResponse response data for ws order
type WsCancelOrderRequest ¶
type WsCancelOrderRequest struct { Event string `json:"event"` Token string `json:"token"` TransactionIDs []string `json:"txid,omitempty"` RequestID int64 `json:"reqid,omitempty"` // Optional, client originated ID reflected in response message. }
WsCancelOrderRequest request for ws cancel order
type WsCancelOrderResponse ¶
type WsCancelOrderResponse struct { Event string `json:"event"` Status string `json:"status"` ErrorMessage string `json:"errorMessage"` RequestID int64 `json:"reqid"` Count int64 `json:"count"` }
WsCancelOrderResponse response data for ws cancel order and ws cancel all orders
type WsFuturesAccountLog ¶
type WsFuturesAccountLog struct { Feed string `json:"feed"` Logs []struct { ID int64 `json:"id"` Date string `json:"date"` Asset string `json:"asset"` Info string `json:"info"` BookingUID string `json:"booking_uid"` MarginAccount string `json:"margin_account"` OldBalance float64 `json:"old_balance"` NewBalance float64 `json:"new_balance"` OldAverageEntry float64 `json:"old_average_entry"` NewAverageEntry float64 `json:"new_average_entry"` TradePrice float64 `json:"trade_price"` MarkPrice float64 `json:"mark_price"` RealizedPNL float64 `json:"realized_pnl"` Fee float64 `json:"fee"` Execution string `json:"execution"` Collateral string `json:"collateral"` FundingRate float64 `json:"funding_rate"` RealizedFunding float64 `json:"realized_funding"` } `json:"logs"` }
WsFuturesAccountLog stores account log data for futures websocket
type WsFuturesFillsData ¶
type WsFuturesFillsData struct { Feed string `json:"feed"` Account string `json:"account"` Fills []struct { Instrument string `json:"instrument"` Time int64 `json:"time"` Price float64 `json:"price"` Seq int64 `json:"seq"` Buy bool `json:"buy"` Quantity float64 `json:"qty"` OrderID string `json:"order_id"` ClientOrderID string `json:"cli_order_id"` FillID string `json:"fill_id"` FillType string `json:"fill_type"` } `json:"fills"` }
WsFuturesFillsData stores fills data for futures websocket
type WsFuturesNotifications ¶
type WsFuturesNotifications struct { Feed string `json:"feed"` Notifications []struct { ID int64 `json:"id"` NotificationType string `json:"notificationType"` Priority string `json:"priority"` Note string `json:"note"` EffectiveTime int64 `json:"effective_time"` } }
WsFuturesNotifications stores notifications data for futures websocket
type WsFuturesOB ¶
type WsFuturesOB struct { Feed string `json:"feed"` ProductID string `json:"product_id"` Seq int64 `json:"seq"` Bids []wsOBItem `json:"bids"` Asks []wsOBItem `json:"asks"` }
WsFuturesOB stores orderbook data for futures websocket
type WsFuturesOpenOrders ¶
type WsFuturesOpenOrders struct { Feed string `json:"feed"` Account string `json:"account"` Orders []struct { Instrument string `json:"instrument"` Time int64 `json:"time"` LastUpdateTime int64 `json:"last_update_time"` Qty float64 `json:"qty"` Filled float64 `json:"filled"` LimitPrice float64 `json:"limit_price"` StopPrice float64 `json:"stop_price"` OrderType string `json:"order_type"` OrderID string `json:"order_id"` Direction string `json:"direction"` ReduceOnly bool `json:"reduce_only"` } `json:"orders"` }
WsFuturesOpenOrders stores open orders data for futures websocket
type WsFuturesTickerLite ¶
type WsFuturesTickerLite struct { Feed string `json:"feed"` ProductID string `json:"product_id"` Bid float64 `json:"bid"` Ask float64 `json:"ask"` Change float64 `json:"change"` Premium float64 `json:"premium"` Volume float64 `json:"volume"` Tag string `json:"tag"` Pair string `json:"pair"` DTM float64 `json:"dtm"` }
WsFuturesTickerLite stores ticker lite data for futures websocket
type WsFuturesTradeData ¶
type WsFuturesTradeData struct { Feed string `json:"feed"` ProductID string `json:"product_id"` Trades []struct { Feed string `json:"feed"` ProductID string `json:"product_id"` Side string `json:"side"` ProductType string `json:"type"` Seq int64 `json:"seq"` Time int64 `json:"time"` Quantity float64 `json:"qty"` Price float64 `json:"price"` } `json:"trades"` }
WsFuturesTradeData stores public trade data for futures websocket
type WsOpenOrder ¶
type WsOpenOrder struct { UserReferenceID int64 `json:"userref"` ExpireTime float64 `json:"expiretm,string"` OpenTime float64 `json:"opentm,string"` StartTime float64 `json:"starttm,string"` Fee float64 `json:"fee,string"` LimitPrice float64 `json:"limitprice,string"` StopPrice float64 `json:"stopprice,string"` Volume float64 `json:"vol,string"` ExecutedVolume float64 `json:"vol_exec,string"` Cost float64 `json:"cost,string"` Price float64 `json:"price,string"` Misc string `json:"misc"` OFlags string `json:"oflags"` RefID string `json:"refid"` Status string `json:"status"` Description struct { Close string `json:"close"` Price float64 `json:"price,string"` Price2 float64 `json:"price2,string"` Leverage float64 `json:"leverage,string"` Order string `json:"order"` OrderType string `json:"ordertype"` Pair string `json:"pair"` Type string `json:"type"` } `json:"descr"` }
WsOpenOrder contains all open order data from ws feed
type WsOpenOrderDescription ¶
type WsOpenOrderDescription struct { Close string `json:"close"` Leverage string `json:"leverage"` Order string `json:"order"` OrderType string `json:"ordertype"` Pair string `json:"pair"` Price float64 `json:"price,string"` Price2 float64 `json:"price2,string"` Type string `json:"type"` }
WsOpenOrderDescription additional data for WsOpenOrders
type WsOpenOrders ¶
type WsOpenOrders struct { Cost float64 `json:"cost,string"` Description WsOpenOrderDescription `json:"descr"` ExpireTime time.Time `json:"expiretm"` Fee float64 `json:"fee,string"` LimitPrice float64 `json:"limitprice,string"` Misc string `json:"misc"` OFlags string `json:"oflags"` OpenTime time.Time `json:"opentm"` Price float64 `json:"price,string"` RefID string `json:"refid"` StartTime time.Time `json:"starttm"` Status string `json:"status"` StopPrice float64 `json:"stopprice,string"` UserReference float64 `json:"userref"` Volume float64 `json:"vol,string"` ExecutedVolume float64 `json:"vol_exec,string"` }
WsOpenOrders ws auth open order data
type WsOpenPositions ¶
type WsOpenPositions struct { Feed string `json:"feed"` Account string `json:"account"` Positions []struct { Instrument string `json:"instrument"` Balance float64 `json:"balance"` EntryPrice float64 `json:"entry_price"` MarkPrice float64 `json:"mark_price"` IndexPrice float64 `json:"index_price"` ProfitAndLoss float64 `json:"pnl"` } `json:"positions"` }
WsOpenPositions stores open positions data for futures websocket
type WsOwnTrade ¶
type WsOwnTrade struct { Cost float64 `json:"cost,string"` Fee float64 `json:"fee,string"` Margin float64 `json:"margin,string"` OrderTransactionID string `json:"ordertxid"` OrderType string `json:"ordertype"` Pair string `json:"pair"` PostTransactionID string `json:"postxid"` Price float64 `json:"price,string"` Time float64 `json:"time,string"` Type string `json:"type"` Vol float64 `json:"vol,string"` }
WsOwnTrade ws auth owntrade data
type WsTokenResponse ¶
type WsTokenResponse struct { Error []string `json:"error"` Result struct { Expires int64 `json:"expires"` Token string `json:"token"` } `json:"result"` }
WsTokenResponse holds the WS auth token
type WsVerboseOpenOrders ¶
type WsVerboseOpenOrders struct { Feed string `json:"feed"` Account string `json:"account"` Orders []struct { Instrument string `json:"instrument"` Time int64 `json:"time"` LastUpdateTime int64 `json:"last_update_time"` Qty float64 `json:"qty"` Filled float64 `json:"filled"` LimitPrice float64 `json:"limit_price"` StopPrice float64 `json:"stop_price"` OrderType string `json:"type"` OrderID string `json:"order_id"` Direction int64 `json:"direction"` ReduceOnly bool `json:"reduce_only"` } `json:"orders"` }
WsVerboseOpenOrders stores verbose open orders data for futures websocket