alphapoint

package
Version: v0.0.0-...-3240a16 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2017 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountInfo

type AccountInfo struct {
	Currencies []struct {
		Name    string `json:"name"`
		Balance int    `json:"balance"`
		Hold    int    `json:"hold"`
	} `json:"currencies"`
	ProductPairs []struct {
		ProductPairName string `json:"productPairName"`
		ProductPairCode int    `json:"productPairCode"`
		TradeCount      int    `json:"tradeCount"`
		TradeVolume     int    `json:"tradeVolume"`
	} `json:"productPairs"`
	IsAccepted   bool   `json:"isAccepted"`
	RejectReason string `json:"rejectReason"`
}

AccountInfo holds your current account information like balances, trade count and volume

type Alphapoint

type Alphapoint struct {
	exchange.Base
	WebsocketConn *websocket.Conn
}

Alphapoint is the overarching type across the alphapoint package

func (*Alphapoint) CancelAllOrders

func (a *Alphapoint) CancelAllOrders(symbol string) error

CancelAllOrders cancels all open orders by symbol symbol - Instrument code (ex: “BTCUSD”)

func (*Alphapoint) CancelOrder

func (a *Alphapoint) CancelOrder(symbol string, OrderID int64) (int64, error)

CancelOrder cancels an order that has not been executed. symbol - Instrument code (ex: “BTCUSD”) OrderId - Order id (ex: 1000)

func (*Alphapoint) CreateAccount

func (a *Alphapoint) CreateAccount(firstName, lastName, email, phone, password string) error

CreateAccount creates a new account on alphapoint FirstName - First name LastName - Last name Email - Email address Phone - Phone number (ex: “+12223334444”) Password - Minimum 8 characters

func (*Alphapoint) CreateOrder

func (a *Alphapoint) CreateOrder(symbol, side string, orderType int, quantity, price float64) (int64, error)

CreateOrder creates a market or limit order symbol - Instrument code (ex: “BTCUSD”) side - “buy” or “sell” orderType - “1” for market orders, “0” for limit orders quantity - Quantity price - Price in USD

func (*Alphapoint) GetAccountInfo

func (a *Alphapoint) GetAccountInfo() (AccountInfo, error)

GetAccountInfo returns account info

func (*Alphapoint) GetAccountTrades

func (a *Alphapoint) GetAccountTrades(currencyPair string, startIndex, count int) (Trades, error)

GetAccountTrades returns the trades executed on the account. CurrencyPair - Instrument code (ex: “BTCUSD”) StartIndex - Starting index, if less than 0 then start from the beginning Count - Returns last trade, (Default: 30)

func (*Alphapoint) GetDepositAddresses

func (a *Alphapoint) GetDepositAddresses() ([]DepositAddresses, error)

GetDepositAddresses generates a deposit address

func (*Alphapoint) GetExchangeAccountInfo

func (a *Alphapoint) GetExchangeAccountInfo() (exchange.AccountInfo, error)

GetExchangeAccountInfo retrieves balances for all enabled currencies on the Alphapoint exchange

func (*Alphapoint) GetOrderFee

func (a *Alphapoint) GetOrderFee(symbol, side string, quantity, price float64) (float64, error)

GetOrderFee returns a fee associated with an order symbol - Instrument code (ex: “BTCUSD”) side - “buy” or “sell” quantity - Quantity price - Price in USD

func (*Alphapoint) GetOrderbook

func (a *Alphapoint) GetOrderbook(currencyPair string) (Orderbook, error)

GetOrderbook fetches the current orderbook for a given currency pair CurrencyPair - trade pair (ex: “BTCUSD”)

func (*Alphapoint) GetOrderbookEx

func (a *Alphapoint) GetOrderbookEx(p pair.CurrencyPair, assetType string) (orderbook.Base, error)

GetOrderbookEx returns the orderbook for a currency pair

func (*Alphapoint) GetOrders

func (a *Alphapoint) GetOrders() ([]OpenOrders, error)

GetOrders returns all current open orders

func (*Alphapoint) GetProductPairs

func (a *Alphapoint) GetProductPairs() (ProductPairs, error)

GetProductPairs gets the currency pairs currently traded on alphapoint

func (*Alphapoint) GetProducts

func (a *Alphapoint) GetProducts() (Products, error)

GetProducts gets the currency products currently supported on alphapoint

func (*Alphapoint) GetTicker

func (a *Alphapoint) GetTicker(currencyPair string) (Ticker, error)

GetTicker returns current ticker information from Alphapoint for a selected currency pair ie "BTCUSD"

func (*Alphapoint) GetTickerPrice

func (a *Alphapoint) GetTickerPrice(p pair.CurrencyPair, assetType string) (ticker.Price, error)

GetTickerPrice returns the ticker for a currency pair

func (*Alphapoint) GetTrades

func (a *Alphapoint) GetTrades(currencyPair string, startIndex, count int) (Trades, error)

GetTrades fetches past trades for the given currency pair currencyPair: ie "BTCUSD" StartIndex: specifies the index to begin from, -1 being the first trade on AlphaPoint Exchange. To begin from the most recent trade, set startIndex to 0 (default: 0) Count: specifies the number of trades to return (default: 10)

func (*Alphapoint) GetTradesByDate

func (a *Alphapoint) GetTradesByDate(currencyPair string, startDate, endDate int64) (Trades, error)

GetTradesByDate gets trades by date CurrencyPair - instrument code (ex: “BTCUSD”) StartDate - specifies the starting time in epoch time, type is long EndDate - specifies the end time in epoch time, type is long

func (*Alphapoint) GetUserInfo

func (a *Alphapoint) GetUserInfo() (UserInfo, error)

GetUserInfo returns current account user information

func (*Alphapoint) ModifyOrder

func (a *Alphapoint) ModifyOrder(symbol string, OrderID, action int64) (int64, error)

ModifyOrder modifies and existing Order OrderId - tracked order id number symbol - Instrument code (ex: “BTCUSD”) modifyAction - “0” or “1” “0” means "Move to top", which will modify the order price to the top of the book. A buy order will be modified to the highest bid and a sell order will be modified to the lowest ask price. “1” means "Execute now", which will convert a limit order into a market order.

func (*Alphapoint) SendAuthenticatedHTTPRequest

func (a *Alphapoint) SendAuthenticatedHTTPRequest(method, path string, data map[string]interface{}, result interface{}) error

SendAuthenticatedHTTPRequest sends an authenticated request

func (*Alphapoint) SendRequest

func (a *Alphapoint) SendRequest(method, path string, data map[string]interface{}, result interface{}) error

SendRequest sends an unauthenticated request

func (*Alphapoint) SetDefaults

func (a *Alphapoint) SetDefaults()

SetDefaults sets current default settings

func (*Alphapoint) SetUserInfo

func (a *Alphapoint) SetUserInfo(firstName, lastName, cell2FACountryCode, cell2FAValue string, useAuthy2FA, use2FAForWithdraw bool) (UserInfoSet, error)

SetUserInfo changes user name and/or 2FA settings userInfoKVP - An array of key value pairs FirstName - First name LastName - Last name UseAuthy2FA - “true” or “false” toggle Authy app Cell2FACountryCode - Cell country code (ex: 1), required for Authentication Cell2FAValue - Cell phone number, required for Authentication Use2FAForWithdraw - “true” or “false” set to true for using 2FA for withdrawals

func (*Alphapoint) UpdateOrderbook

func (a *Alphapoint) UpdateOrderbook(p pair.CurrencyPair, assetType string) (orderbook.Base, error)

UpdateOrderbook updates and returns the orderbook for a currency pair

func (*Alphapoint) UpdateTicker

func (a *Alphapoint) UpdateTicker(p pair.CurrencyPair, assetType string) (ticker.Price, error)

UpdateTicker updates and returns the ticker for a currency pair

func (*Alphapoint) WebsocketClient

func (a *Alphapoint) WebsocketClient()

WebsocketClient starts a new webstocket connection

func (*Alphapoint) WithdrawCoins

func (a *Alphapoint) WithdrawCoins(symbol, product, address string, amount float64) error

WithdrawCoins withdraws a coin to a specific address symbol - Instrument name (ex: “BTCUSD”) product - Currency name (ex: “BTC”) amount - Amount (ex: “.011”) address - Withdraw address

type DepositAddresses

type DepositAddresses struct {
	Name           string `json:"name"`
	DepositAddress string `json:"depositAddress"`
}

DepositAddresses holds information about the generated deposit address for a specific currency

type OpenOrders

type OpenOrders struct {
	Instrument string  `json:"ins"`
	Openorders []Order `json:"openOrders"`
}

OpenOrders holds the full range of orders by instrument

type Order

type Order struct {
	Serverorderid int   `json:"ServerOrderId"`
	AccountID     int   `json:"AccountId"`
	Price         int   `json:"Price"`
	QtyTotal      int   `json:"QtyTotal"`
	QtyRemaining  int   `json:"QtyRemaining"`
	ReceiveTime   int64 `json:"ReceiveTime"`
	Side          int   `json:"Side"`
}

Order is a generalised order type

type OrderInfo

type OrderInfo struct {
	OpenOrders   []OpenOrders `json:"openOrdersInfo"`
	IsAccepted   bool         `json:"isAccepted"`
	DateTimeUTC  int64        `json:"dateTimeUtc"`
	RejectReason string       `json:"rejectReason"`
}

OrderInfo holds all open orders across the entire range of all instruments

type Orderbook

type Orderbook struct {
	Bids         []OrderbookEntry `json:"bids"`
	Asks         []OrderbookEntry `json:"asks"`
	IsAccepted   bool             `json:"isAccepted"`
	RejectReason string           `json:"rejectReason"`
}

Orderbook holds the total Bids and Asks on the exchange

type OrderbookEntry

type OrderbookEntry struct {
	Quantity float64 `json:"qty"`
	Price    float64 `json:"px"`
}

OrderbookEntry is a sub-type that takes has the individual quantity and price

type Product

type Product struct {
	Name          string `json:"name"`
	IsDigital     bool   `json:"isDigital"`
	ProductCode   int    `json:"productCode"`
	DecimalPlaces int    `json:"decimalPlaces"`
	FullName      string `json:"fullName"`
}

Product holds the a single currency product that is supported

type ProductPair

type ProductPair struct {
	Name                  string `json:"name"`
	Productpaircode       int    `json:"productPairCode"`
	Product1Label         string `json:"product1Label"`
	Product1Decimalplaces int    `json:"product1DecimalPlaces"`
	Product2Label         string `json:"product2Label"`
	Product2Decimalplaces int    `json:"product2DecimalPlaces"`
}

ProductPair holds the individual product pairs that are currently traded

type ProductPairs

type ProductPairs struct {
	ProductPairs []ProductPair `json:"productPairs"`
	IsAccepted   bool          `json:"isAccepted"`
	RejectReason string        `json:"rejectReason"`
}

ProductPairs holds the full range of product pairs that the exchange can trade between

type Products

type Products struct {
	Products     []Product `json:"products"`
	IsAccepted   bool      `json:"isAccepted"`
	RejectReason string    `json:"rejectReason"`
}

Products holds the full range of supported currency products

type Response

type Response struct {
	IsAccepted    bool    `json:"isAccepted"`
	RejectReason  string  `json:"rejectReason"`
	Fee           float64 `json:"fee"`
	FeeProduct    string  `json:"feeProduct"`
	CancelOrderID int64   `json:"cancelOrderId"`
	ServerOrderID int64   `json:"serverOrderId"`
	DateTimeUTC   float64 `json:"dateTimeUtc"`
	ModifyOrderID int64   `json:"modifyOrderId"`
	Addresses     []DepositAddresses
}

Response contains general responses from the exchange

type Ticker

type Ticker struct {
	High               float64 `json:"high"`
	Last               float64 `json:"last"`
	Bid                float64 `json:"bid"`
	Volume             float64 `json:"volume"`
	Low                float64 `json:"low"`
	Ask                float64 `json:"ask"`
	Total24HrQtyTraded float64 `json:"Total24HrQtyTraded"`
	Total24HrNumTrades float64 `json:"Total24HrNumTrades"`
	SellOrderCount     float64 `json:"sellOrderCount"`
	BuyOrderCount      float64 `json:"buyOrderCount"`
	NumOfCreateOrders  float64 `json:"numOfCreateOrders"`
	IsAccepted         bool    `json:"isAccepted"`
	RejectReason       string  `json:"rejectReason"`
}

Ticker holds ticker information

type Trade

type Trade struct {
	TID                   int64   `json:"tid"`
	Price                 float64 `json:"px"`
	Quantity              float64 `json:"qty"`
	Unixtime              int     `json:"unixtime"`
	UTCTicks              int64   `json:"utcticks"`
	IncomingOrderSide     int     `json:"incomingOrderSide"`
	IncomingServerOrderID int     `json:"incomingServerOrderId"`
	BookServerOrderID     int     `json:"bookServerOrderId"`
}

Trade is a sub-type which holds the singular trade that occured in the past

type Trades

type Trades struct {
	IsAccepted   bool    `json:"isAccepted"`
	RejectReason string  `json:"rejectReason"`
	DateTimeUTC  int64   `json:"dateTimeUtc"`
	Instrument   string  `json:"ins"`
	StartIndex   int     `json:"startIndex"`
	Count        int     `json:"count"`
	StartDate    int64   `json:"startDate"`
	EndDate      int64   `json:"endDate"`
	Trades       []Trade `json:"trades"`
}

Trades holds trade information

type UserInfo

type UserInfo struct {
	UserInforKVPs []UserInfoKVP `json:"userInfoKVP"`
	IsAccepted    bool          `json:"isAccepted"`
	RejectReason  string        `json:"rejectReason"`
}

UserInfo holds current user information associated with the apiKey details

type UserInfoKVP

type UserInfoKVP struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

UserInfoKVP is a sub-type that holds key value pairs

type UserInfoSet

type UserInfoSet struct {
	IsAccepted        string `json:"isAccepted"`
	RejectReason      string `json:"rejectReason"`
	RequireAuthy2FA   bool   `json:"requireAuthy2FA"`
	Val2FaRequestCode string `json:"val2FaRequestCode"`
}

UserInfoSet is the returned response from set user information request

type WebsocketTicker

type WebsocketTicker struct {
	MessageType             string  `json:"messageType"`
	ProductPair             string  `json:"prodPair"`
	High                    float64 `json:"high"`
	Low                     float64 `json:"low"`
	Last                    float64 `json:"last"`
	Volume                  float64 `json:"volume"`
	Volume24Hrs             float64 `json:"volume24hrs"`
	Volume24HrsProduct2     float64 `json:"volume24hrsProduct2"`
	Total24HrQtyTraded      float64 `json:"Total24HrQtyTraded"`
	Total24HrProduct2Traded float64 `json:"Total24HrProduct2Traded"`
	Total24HrNumTrades      float64 `json:"Total24HrNumTrades"`
	Bid                     float64 `json:"bid"`
	Ask                     float64 `json:"ask"`
	BuyOrderCount           int     `json:"buyOrderCount"`
	SellOrderCount          int     `json:"sellOrderCount"`
}

WebsocketTicker holds current up to date ticker information

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL