Documentation
¶
Index ¶
- Variables
- func GetError(apiErrors []string) error
- type AccountsData
- type AddOrder
- type AddOrderOptions
- type AddOrderResponse
- type Asset
- type AssetPairs
- type AuthErrorData
- type Balance
- type BatchOrderData
- type CancelAllOrdersData
- type CancelOrderResponse
- type CancelOrdersAfterData
- type ClosedOrders
- type DepositAddress
- type DepositMethods
- type ExecutionData
- type FOpenOrdersData
- type FutureTradeOrder
- type FuturesAccountsData
- type FuturesCancelOrderData
- type FuturesCandle
- type FuturesCandles
- type FuturesEditedOrderData
- type FuturesFillsData
- type FuturesInstrumentData
- type FuturesNotificationData
- type FuturesOpenOrdersData
- type FuturesOpenPositions
- type FuturesOrderData
- type FuturesOrderbookData
- type FuturesPublicTrades
- type FuturesRecentOrdersData
- type FuturesSendOrderData
- type FuturesTicker
- type FuturesTickerData
- type FuturesTickersData
- type FuturesTradeHistoryData
- type FuturesTradeOrderData
- 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(_ context.Context, o []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, a asset.Item) (currency.Pairs, error)
- func (k *Kraken) FormatExchangeKlineInterval(in kline.Interval) string
- func (k *Kraken) FormatExchangeKlineIntervalFutures(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() ([]subscription.Subscription, error)
- func (k *Kraken) GetAccountFundingHistory(_ context.Context) ([]exchange.FundingHistory, error)
- func (k *Kraken) GetActiveOrders(ctx context.Context, req *order.MultiOrderRequest) (order.FilteredOrders, 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]Balance, 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) GetCurrencyTradeURL(_ context.Context, a asset.Item, cp currency.Pair) (string, error)
- func (k *Kraken) GetCurrentServerTime(ctx context.Context) (TimeResponse, 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) GetFuturesAccountData(ctx context.Context) (FuturesAccountsData, error)
- func (k *Kraken) GetFuturesCharts(ctx context.Context, resolution, tickType string, symbol currency.Pair, ...) (*FuturesCandles, error)
- func (k *Kraken) GetFuturesContractDetails(ctx context.Context, item asset.Item) ([]futures.Contract, error)
- func (k *Kraken) GetFuturesOrderbook(ctx context.Context, symbol currency.Pair) (*FuturesOrderbookData, error)
- func (k *Kraken) GetFuturesTickerBySymbol(ctx context.Context, symbol string) (FuturesTickerData, error)
- func (k *Kraken) GetFuturesTickers(ctx context.Context) (FuturesTickersData, error)
- func (k *Kraken) GetFuturesTradeHistory(ctx context.Context, symbol currency.Pair, lastTime time.Time) (FuturesTradeHistoryData, error)
- func (k *Kraken) GetFuturesTrades(ctx context.Context, symbol currency.Pair, to, from time.Time) (*FuturesPublicTrades, error)
- func (k *Kraken) GetHistoricCandles(ctx context.Context, pair currency.Pair, a asset.Item, interval kline.Interval, ...) (*kline.Item, error)
- func (k *Kraken) GetHistoricCandlesExtended(_ context.Context, _ currency.Pair, _ asset.Item, _ kline.Interval, ...) (*kline.Item, error)
- func (k *Kraken) GetHistoricTrades(_ context.Context, _ currency.Pair, _ asset.Item, _, _ time.Time) ([]trade.Data, error)
- func (k *Kraken) GetInstruments(ctx context.Context) (FuturesInstrumentData, error)
- func (k *Kraken) GetLatestFundingRates(ctx context.Context, r *fundingrate.LatestRateRequest) ([]fundingrate.LatestRateResponse, 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) GetOpenInterest(ctx context.Context, keys ...key.PairAsset) ([]futures.OpenInterest, error)
- func (k *Kraken) GetOpenOrders(ctx context.Context, args OrderInfoOptions) (OpenOrders, error)
- func (k *Kraken) GetOrderHistory(ctx context.Context, getOrdersRequest *order.MultiOrderRequest) (order.FilteredOrders, error)
- func (k *Kraken) GetOrderInfo(ctx context.Context, orderID string, _ 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, _ asset.Item) (time.Time, 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, _ asset.Item) ([]exchange.WithdrawalHistory, error)
- func (k *Kraken) IsPerpetualFutureCurrency(a asset.Item, cp currency.Pair) (bool, error)
- func (k *Kraken) ModifyOrder(_ context.Context, _ *order.Modify) (*order.ModifyResponse, 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) 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) SubmitOrder(ctx context.Context, s *order.Submit) (*order.SubmitResponse, error)
- func (k *Kraken) SubmitOrders(ctx context.Context, ss ...*order.Submit) ([]*order.SubmitResponse, error)
- func (k *Kraken) Subscribe(channelsToSubscribe []subscription.Subscription) error
- func (k *Kraken) Unsubscribe(channelsToUnsubscribe []subscription.Subscription) error
- func (k *Kraken) UpdateAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
- func (k *Kraken) UpdateOrderExecutionLimits(ctx context.Context, a asset.Item) 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) ValidateAPICredentials(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 RecentTradesResponse
- type RequestParamsTimeForceType
- 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 ¶
var ( // RequestParamsTimeGTC GTC RequestParamsTimeGTC = RequestParamsTimeForceType("GTC") // RequestParamsTimeIOC IOC RequestParamsTimeIOC = RequestParamsTimeForceType("IOC") )
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
TimeInForce RequestParamsTimeForceType
}
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"`
OrderMinimum float64 `json:"ordermin,string"`
TickSize float64 `json:"tick_size,string"`
Status string `json:"status"`
}
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 Balance ¶
type Balance struct {
Total float64 `json:"balance,string"`
Hold float64 `json:"hold_trade,string"`
}
Balance represents account asset balances
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 FutureTradeOrder ¶
type FutureTradeOrder struct {
AccountUID string `json:"accountUid"`
ClientID string `json:"clientId"`
Direction string `json:"direction"`
Filled string `json:"filled"`
LastUpdateTimestamp int64 `json:"lastUpdateTimestamp"`
LimitPrice float64 `json:"limitPrice,string"`
OrderType string `json:"orderType"`
Quantity float64 `json:"quantity,string"`
ReduceOnly bool `json:"reduceOnly"`
SpotData string `json:"spotData"`
Timestamp int64 `json:"timestamp"`
Tradeable string `json:"tradeable"`
UID string `json:"uid"`
}
FutureTradeOrder holds details about the order for a futures trade
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 FuturesCandle ¶
type FuturesCandle struct {
Close float64 `json:"close,string"`
High float64 `json:"high,string"`
Low float64 `json:"low,string"`
Open float64 `json:"open,string"`
Time int64 `json:"time"`
Volume float64 `json:"volume,string"`
}
FuturesCandle is an individual candle
type FuturesCandles ¶
type FuturesCandles struct {
Candles []FuturesCandle `json:"candles"`
MoreCandles bool `json:"more_candles"`
}
FuturesCandles is the response when requesting futures candles
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:"buy"`
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"`
OpeningDate string `json:"openingDate"`
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:"notifications"`
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 FuturesPublicTrades ¶
type FuturesPublicTrades struct {
ContinuationToken string `json:"continuationToken"`
Elements []struct {
ExecutionEvent struct {
OuterExecutionHolder struct {
Execution struct {
LimitFilled bool `json:"limitFilled"`
MakerOrder FutureTradeOrder `json:"makerOrder"`
MakerOrderData FuturesTradeOrderData `json:"makerOrderData"`
MarkPrice float64 `json:"markPrice,string"`
OldTakerOrder FutureTradeOrder `json:"oldTakerOrder"`
Price float64 `json:"price,string"`
Quantity float64 `json:"quantity,string"`
TakerOrder FutureTradeOrder `json:"takerOrder"`
TakerOrderData FuturesTradeOrderData `json:"takerOrderData"`
Timestamp int64 `json:"timestamp"`
UID string `json:"uid"`
UsdValue float64 `json:"usdValue,string"`
} `json:"execution"`
TakerReducedQuantity string `json:"takerReducedQuantity"`
} `json:"execution"`
} `json:"event"`
Timestamp int64 `json:"timestamp"`
UID string `json:"uid"`
} `json:"elements"`
Len int64 `json:"len"`
}
FuturesPublicTrades returns public trade data a terrible type for parsing data
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 FuturesTicker ¶
type FuturesTicker 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"`
IndexPrice float64 `json:"indexPrice"`
PostOnly bool `json:"postOnly"`
Change24H float64 `json:"change24h"`
}
FuturesTicker holds futures ticker data
type FuturesTickerData ¶
type FuturesTickerData struct {
Ticker FuturesTicker `json:"ticker"`
ServerTime string `json:"serverTime"`
}
FuturesTickerData stores info for futures ticker
type FuturesTickersData ¶
type FuturesTickersData struct {
Tickers []FuturesTicker `json:"tickers"`
ServerTime string `json:"serverTime"`
}
FuturesTickersData stores info for futures tickers
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 FuturesTradeOrderData ¶
type FuturesTradeOrderData struct {
Fee float64 `json:"fee,string"`
PositionSize float64 `json:"positionSize,string"`
}
FuturesTradeOrderData holds additional order details for a futures trade order
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 kraken 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(_ context.Context, o []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) FormatExchangeKlineIntervalFutures ¶
FormatExchangeKlineIntervalFutures 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() ([]subscription.Subscription, error)
GenerateDefaultSubscriptions Adds default subscriptions to websocket to be handled by ManageSubscriptions()
func (*Kraken) GetAccountFundingHistory ¶
GetAccountFundingHistory returns funding history, deposits and withdrawals
func (*Kraken) GetActiveOrders ¶
func (k *Kraken) GetActiveOrders(ctx context.Context, req *order.MultiOrderRequest) (order.FilteredOrders, 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) GetCurrencyTradeURL ¶
func (k *Kraken) GetCurrencyTradeURL(_ context.Context, a asset.Item, cp currency.Pair) (string, error)
GetCurrencyTradeURL returns the URL to the exchange's trade page for the given asset and currency pair
func (*Kraken) GetCurrentServerTime ¶
func (k *Kraken) GetCurrentServerTime(ctx context.Context) (TimeResponse, error)
GetCurrentServerTime returns current server time
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) GetFuturesAccountData ¶
func (k *Kraken) GetFuturesAccountData(ctx context.Context) (FuturesAccountsData, error)
GetFuturesAccountData gets account data for futures
func (*Kraken) GetFuturesCharts ¶
func (k *Kraken) GetFuturesCharts(ctx context.Context, resolution, tickType string, symbol currency.Pair, to, from time.Time) (*FuturesCandles, error)
GetFuturesCharts returns candle data for kraken futures
func (*Kraken) GetFuturesContractDetails ¶
func (k *Kraken) GetFuturesContractDetails(ctx context.Context, item asset.Item) ([]futures.Contract, error)
GetFuturesContractDetails returns details about futures contracts
func (*Kraken) GetFuturesOrderbook ¶
func (k *Kraken) GetFuturesOrderbook(ctx context.Context, symbol currency.Pair) (*FuturesOrderbookData, error)
GetFuturesOrderbook gets orderbook data for futures
func (*Kraken) GetFuturesTickerBySymbol ¶
func (k *Kraken) GetFuturesTickerBySymbol(ctx context.Context, symbol string) (FuturesTickerData, error)
GetFuturesTickerBySymbol returns futures ticker data by symbol
func (*Kraken) GetFuturesTickers ¶
func (k *Kraken) GetFuturesTickers(ctx context.Context) (FuturesTickersData, 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) GetFuturesTrades ¶
func (k *Kraken) GetFuturesTrades(ctx context.Context, symbol currency.Pair, to, from time.Time) (*FuturesPublicTrades, error)
GetFuturesTrades returns public trade data for kraken futures
func (*Kraken) GetHistoricCandles ¶
func (k *Kraken) GetHistoricCandles(ctx context.Context, pair currency.Pair, a asset.Item, interval kline.Interval, start, end time.Time) (*kline.Item, error)
GetHistoricCandles returns candles between a time period for a set time interval
func (*Kraken) GetHistoricCandlesExtended ¶
func (k *Kraken) GetHistoricCandlesExtended(_ context.Context, _ currency.Pair, _ asset.Item, _ kline.Interval, _, _ time.Time) (*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) GetInstruments ¶
func (k *Kraken) GetInstruments(ctx context.Context) (FuturesInstrumentData, error)
GetInstruments gets a list of futures markets and their data
func (*Kraken) GetLatestFundingRates ¶
func (k *Kraken) GetLatestFundingRates(ctx context.Context, r *fundingrate.LatestRateRequest) ([]fundingrate.LatestRateResponse, error)
GetLatestFundingRates returns the latest funding rates data
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) GetOpenInterest ¶
func (k *Kraken) GetOpenInterest(ctx context.Context, keys ...key.PairAsset) ([]futures.OpenInterest, error)
GetOpenInterest returns the open interest rate for a given asset 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.MultiOrderRequest) (order.FilteredOrders, 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, _ 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 ¶
GetServerTime returns the current exchange 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, _ asset.Item) ([]exchange.WithdrawalHistory, error)
GetWithdrawalsHistory returns previous withdrawals data
func (*Kraken) IsPerpetualFutureCurrency ¶
IsPerpetualFutureCurrency ensures a given asset and currency is a perpetual future
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) SubmitOrders ¶ added in v1.0.7
func (*Kraken) Subscribe ¶
func (k *Kraken) Subscribe(channelsToSubscribe []subscription.Subscription) error
Subscribe sends a websocket message to receive data from the channel
func (*Kraken) Unsubscribe ¶
func (k *Kraken) Unsubscribe(channelsToUnsubscribe []subscription.Subscription) 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) UpdateOrderExecutionLimits ¶
UpdateOrderExecutionLimits sets exchange execution order limits for an asset type
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) ValidateAPICredentials ¶
ValidateAPICredentials validates current credentials used for wrapper functionality
func (*Kraken) WithdrawCancel ¶
WithdrawCancel sends a withdrawal cancellation 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{}
TradeID int64
}
RecentTrades holds recent trade data
type RecentTradesResponse ¶
type RecentTradesResponse struct {
Error []interface{} `json:"error"`
Result map[string]interface{} `json:"result"`
Last string `json:"last"`
}
RecentTradesResponse defines the response for recent trades
type RequestParamsTimeForceType ¶
type RequestParamsTimeForceType string
RequestParamsTimeForceType Time in force
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
AskSize float64
Bid float64
BidSize 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 [3]types.Number `json:"a"`
Bid [3]types.Number `json:"b"`
Last [2]types.Number `json:"c"`
Volume [2]types.Number `json:"v"`
VolumeWeightedAveragePrice [2]types.Number `json:"p"`
Trades [2]int64 `json:"t"`
Low [2]types.Number `json:"l"`
High [2]types.Number `json:"h"`
Open types.Number `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 ¶
type WebsocketChannelData struct {
Subscription string
Pair currency.Pair
ChannelID *int64
MaxDepth int
}
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 []subscription.Subscription `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
TimeInForce RequestParamsTimeForceType `json:"timeinforce,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"`
LastUpdated float64 `json:"lastupdated,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"`
AveragePrice float64 `json:"avg_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