alphapoint

package
v0.0.0-...-a2c5123 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2018 License: MIT Imports: 14 Imported by: 0

README

GoCryptoTrader package Alphapoint

Build Status Software License GoDoc Coverage Status Go Report Card

This alphapoint package is part of the GoCryptoTrader codebase.

This is still in active development

You can track ideas, planned features and what's in progresss on this Trello board: https://trello.com/b/ZAhMhpOy/gocryptotrader.

Join our slack to discuss all things related to GoCryptoTrader! GoCryptoTrader Slack

Alphapoint Exchange

How to enable
  • Not currently configurable
Please click GoDocs chevron above to view current GoDoc information for this package

Contribution

Please feel free to submit any pull requests or suggest any desired features to be added.

When submitting a PR, please abide by our coding guidelines:

  • Code must adhere to the official Go formatting guidelines (i.e. uses gofmt).
  • Code must be documented adhering to the official Go commentary guidelines.
  • Code must adhere to our coding style.
  • Pull requests need to be based on and opened against the master branch.

Donations

If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:

1F5zVDgNjorJ51oGebSvNCrSAHpwGkUdDB

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) CancelAllExchangeOrders

func (a *Alphapoint) CancelAllExchangeOrders() error

CancelAllExchangeOrders cancels all orders associated with a currency pair

func (*Alphapoint) CancelAllOrders

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

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

func (*Alphapoint) CancelExchangeOrder

func (a *Alphapoint) CancelExchangeOrder(orderID int64) error

CancelExchangeOrder cancels an order by its corresponding ID number

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) GetExchangeDepositAddress

func (a *Alphapoint) GetExchangeDepositAddress(cryptocurrency pair.CurrencyItem) (string, error)

GetExchangeDepositAddress returns a deposit address for a specified currency

func (*Alphapoint) GetExchangeFundTransferHistory

func (a *Alphapoint) GetExchangeFundTransferHistory() ([]exchange.FundHistory, error)

GetExchangeFundTransferHistory returns funding history, deposits and withdrawals

func (*Alphapoint) GetExchangeHistory

func (a *Alphapoint) GetExchangeHistory(p pair.CurrencyPair, assetType string) ([]exchange.TradeHistory, error)

GetExchangeHistory returns historic trade data since exchange opening.

func (*Alphapoint) GetExchangeOrderInfo

func (a *Alphapoint) GetExchangeOrderInfo(orderID int64) (float64, error)

GetExchangeOrderInfo returns information on a current open order

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) ModifyExchangeOrder

func (a *Alphapoint) ModifyExchangeOrder(orderID int64, action exchange.ModifyOrder) (int64, error)

ModifyExchangeOrder will allow of changing orderbook placement and limit to market conversion

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) SendHTTPRequest

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

SendHTTPRequest sends an unauthenticated HTTP 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) SubmitExchangeOrder

func (a *Alphapoint) SubmitExchangeOrder(p pair.CurrencyPair, side exchange.OrderSide, orderType exchange.OrderType, amount, price float64, clientID string) (int64, error)

SubmitExchangeOrder submits a new order and returns a true value when successfully submitted

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

func (*Alphapoint) WithdrawCryptoExchangeFunds

func (a *Alphapoint) WithdrawCryptoExchangeFunds(address string, cryptocurrency pair.CurrencyItem, amount float64) (string, error)

WithdrawCryptoExchangeFunds returns a withdrawal ID when a withdrawal is submitted

func (*Alphapoint) WithdrawFiatExchangeFunds

func (a *Alphapoint) WithdrawFiatExchangeFunds(currency pair.CurrencyItem, amount float64) (string, error)

WithdrawFiatExchangeFunds returns a withdrawal ID when a withdrawal is submitted

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 occurred 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
y or Y : Canonical URL