Documentation
¶
Overview ¶
Package environment contains all the trade environment.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BotConfig ¶
type BotConfig struct { SimulationModeOn bool `yaml:"simulation_mode"` // if true, do not create real orders and do not get real balance ExchangeConfigs []ExchangeConfig `yaml:"exchange_configs"` // Represents the current exchange configuration. Strategies []StrategyConfig `yaml:"strategies"` // Represents the current strategies adopted by the bot. }
BotConfig contains all config data of the bot, which can be also loaded from config file.
type CandleStick ¶
type CandleStick struct { High decimal.Decimal //Represents the highest value obtained during candle period. Open decimal.Decimal //Represents the first value of the candle period. Close decimal.Decimal //Represents the last value of the candle period. Low decimal.Decimal //Represents the lowest value obtained during candle period. Volume decimal.Decimal //Represents the volume of trades during the candle period. }
CandleStick represents a single candlestick in a chart.
func (CandleStick) String ¶
func (cs CandleStick) String() string
String returns the string representation of the object.
type CandleStickChart ¶
type CandleStickChart struct { CandlePeriod time.Duration //Represents the candle period (expressed in time.Duration). CandleSticks []CandleStick //Represents the last Candle Sticks used for evaluation of current state. OrderBook []Order //Represents the Book of current trades. }
CandleStickChart represents a chart of a market expresed using Candle Sticks.
type ExchangeBindingsConfig ¶
type ExchangeBindingsConfig struct { Name string `yaml:"exchange"` // Represents the name of the exchange. MarketName string `yaml:"market_name"` // Represents the name of the market as seen from the exchange. }
ExchangeBindingsConfig represents the binding of market names between bot notation and exchange ticker.
type ExchangeConfig ¶
type ExchangeConfig struct { ExchangeName string `yaml:"exchange"` // Represents the exchange name. PublicKey string `yaml:"public_key"` // Represents the public key used to connect to Exchange API. SecretKey string `yaml:"secret_key"` // Represents the secret key used to connect to Exchange API. DepositAddresses map[string]string `yaml:"deposit_addresses"` // Represents the bindings between coins and deposit address on the exchange. FakeBalances map[string]decimal.Decimal `yaml:"fake_balances"` // Used only in simulation mode, fake starting balance [coin:balance]. }
ExchangeConfig Represents a configuration for an API Connection to an exchange.
Can be used to generate an ExchangeWrapper.
type Market ¶
type Market struct { Name string `json:"name,required"` //Represents the name of the market as defined in general (e.g. ETH-BTC). BaseCurrency string `json:"baseCurrency,omitempty"` //Represents the base currency of the market. MarketCurrency string `json:"marketCurrency,omitempty"` //Represents the currency to exchange by using base currency. ExchangeNames map[string]string `json:"-"` // Represents the various names of the market on various exchanges. }
Market represents the environment the bot is trading in.
type MarketConfig ¶
type MarketConfig struct { Name string `yaml:"market"` // Represents the market where the strategy is applied. Exchanges []ExchangeBindingsConfig `yaml:"bindings"` // Represents the list of markets where the strategy is applied, along with extra-data regarding binded exchanges. }
MarketConfig contains all market configuration data.
type MarketSummary ¶
type MarketSummary struct { High decimal.Decimal `json:"high,required"` //Represents the 24 hours maximum peak of this market. Low decimal.Decimal `json:"low,required"` //Represents the 24 hours minimum peak of this market. Volume decimal.Decimal `json:"volume,required"` //Represents the 24 volume peak of this market. Ask decimal.Decimal `json:"ask,required"` //Represents the current ASK value. Bid decimal.Decimal `json:"bid,required"` //Represents the current BID value. Last decimal.Decimal `json:"last,required"` //Represents the value of the last trade. }
MarketSummary represents the summary data of a market.
func (MarketSummary) String ¶
func (ms MarketSummary) String() string
func (*MarketSummary) UpdateFromTicker ¶
func (ms *MarketSummary) UpdateFromTicker(ticker Ticker)
UpdateFromTicker updates the values of the market summary from a Ticker Data.
type Order ¶
type Order struct { Value decimal.Decimal //Value of the trade : e.g. in a BTC ETH is the value of a single ETH in BTC. Quantity decimal.Decimal //Quantity of Coins of this order. OrderNumber string //[optional] Order number as seen in echange archives. Timestamp time.Time //[optional] The timestamp of the order (as got from the exchange). }
Order represents a single order in the Order Book for a market.
type StrategyConfig ¶
type StrategyConfig struct { Strategy string `yaml:"strategy"` // Represents the applied strategy name: must be unique in the system. Markets []MarketConfig `yaml:"markets"` // Represents the exchanges where the strategy is applied. }
StrategyConfig contains where a strategy will be applied in the specified exchange.
type Ticker ¶
type Ticker struct { Ask decimal.Decimal `json:"Ask"` //Represents ASK value from the ticker. Bid decimal.Decimal `json:"Bid"` //Represents BID value from the ticker. Last decimal.Decimal `json:"Last"` //Represents LAST trade value from the ticker. }
Ticker provides data incoming from API Tickers, which have little amount of information regarding very last updates from a market.