Documentation ¶
Index ¶
Constants ¶
const StaticNumberPrecision = 18
StaticNumberPrecision is a precision of static numbers.
const TickPricePrecision = 18
TickPricePrecision specified number of decimal places for tick prices during marshaling.
const TickVolumePrecision = 18
TickVolumePrecision specified number of decimal places for tick volumes during marshaling.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type NumericValue ¶
type NumericValue interface {
Number() *bn.FloatNumber
}
NumericValue is a data point value which is a number.
The interface must be implemented by using non-pointer receivers.
type Pair ¶
Pair represents an asset pair.
func PairFromString ¶
PairFromString returns a new Pair for given string. The string must be formatted as "BASE/QUOTE".
func (Pair) Empty ¶
Empty returns true if the pair is empty. Pair is considered empty if either base or quote is empty.
func (Pair) Invert ¶
Invert returns an inverted pair. For example, if the pair is "BTC/USD", then the inverted pair is "USD/BTC".
func (Pair) MarshalText ¶
MarshalText implements encoding.TextMarshaler interface.
func (*Pair) UnmarshalText ¶
UnmarshalText implements encoding.TextUnmarshaler interface.
type StaticValue ¶
type StaticValue struct {
Value *bn.FloatNumber
}
StaticValue is a numeric value obtained from a static origin.
func (StaticValue) MarshalJSON ¶ added in v0.14.1
func (s StaticValue) MarshalJSON() ([]byte, error)
func (StaticValue) Number ¶
func (s StaticValue) Number() *bn.FloatNumber
Number implements the NumericValue interface.
func (StaticValue) Print ¶
func (s StaticValue) Print() string
Print implements the Value interface.
func (*StaticValue) UnmarshalJSON ¶ added in v0.14.1
func (s *StaticValue) UnmarshalJSON(bytes []byte) error
type Tick ¶
type Tick struct { // Pair is an asset pair for which this price is calculated. Pair Pair // Price is a price for the given asset pair. // Depending on the provider implementation, this price can be // a last trade price, an average of bid and ask prices, etc. // // Price is always non-nil if there is no error. Price *bn.FloatNumber // Volume24h is a 24h volume for the given asset pair presented in the // base currency. // // May be nil if the provider does not provide volume. Volume24h *bn.FloatNumber }
Tick contains a price, volume and other information for a given asset pair at a given time.
Before using this data, you should check if it is valid by calling Tick.Validate() method.
During marshaling, the price and volume are converted to fixed-point numbers with the precision specified by TickPricePrecision and TickVolumePrecision constants.
func (Tick) MarshalJSON ¶
func (Tick) Number ¶
func (t Tick) Number() *bn.FloatNumber
Number implements the NumericValue interface.
func (*Tick) UnmarshalJSON ¶
type ValidatableValue ¶
type ValidatableValue interface {
Validate() error
}
ValidatableValue is a data point value which can be validated.
The interface must be implemented by using non-pointer receivers.