Documentation ¶
Index ¶
- Constants
- type BotConfig
- func (b *BotConfig) AssetBase() hProtocol.Asset
- func (b *BotConfig) AssetQuote() hProtocol.Asset
- func (b *BotConfig) Init() error
- func (b *BotConfig) IsTradingSdex() bool
- func (b *BotConfig) SourceAccount() string
- func (b BotConfig) String() string
- func (b *BotConfig) TradingAccount() string
- func (b *BotConfig) TradingExchangeName() string
- type FeeConfig
- type Trader
Constants ¶
View Source
const XLM = "XLM"
XLM is a constant for XLM
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BotConfig ¶
type BotConfig struct { SourceSecretSeed string `valid:"-" toml:"SOURCE_SECRET_SEED" json:"source_secret_seed"` TradingSecretSeed string `valid:"-" toml:"TRADING_SECRET_SEED" json:"trading_secret_seed"` AssetCodeA string `valid:"-" toml:"ASSET_CODE_A" json:"asset_code_a"` IssuerA string `valid:"-" toml:"ISSUER_A" json:"issuer_a"` AssetCodeB string `valid:"-" toml:"ASSET_CODE_B" json:"asset_code_b"` IssuerB string `valid:"-" toml:"ISSUER_B" json:"issuer_b"` TickIntervalSeconds int32 `valid:"-" toml:"TICK_INTERVAL_SECONDS" json:"tick_interval_seconds"` MaxTickDelayMillis int64 `valid:"-" toml:"MAX_TICK_DELAY_MILLIS" json:"max_tick_delay_millis"` DeleteCyclesThreshold int64 `valid:"-" toml:"DELETE_CYCLES_THRESHOLD" json:"delete_cycles_threshold"` SubmitMode string `valid:"-" toml:"SUBMIT_MODE" json:"submit_mode"` FillTrackerSleepMillis uint32 `valid:"-" toml:"FILL_TRACKER_SLEEP_MILLIS" json:"fill_tracker_sleep_millis"` FillTrackerDeleteCyclesThreshold int64 `valid:"-" toml:"FILL_TRACKER_DELETE_CYCLES_THRESHOLD" json:"fill_tracker_delete_cycles_threshold"` FillTrackerLastTradeCursorOverride string `valid:"-" toml:"FILL_TRACKER_LAST_TRADE_CURSOR_OVERRIDE"` HorizonURL string `valid:"-" toml:"HORIZON_URL" json:"horizon_url"` CcxtRestURL *string `valid:"-" toml:"CCXT_REST_URL" json:"ccxt_rest_url"` Fee *FeeConfig `valid:"-" toml:"FEE" json:"fee"` CentralizedPricePrecisionOverride *int8 `valid:"-" toml:"CENTRALIZED_PRICE_PRECISION_OVERRIDE" json:"centralized_price_precision_override"` CentralizedVolumePrecisionOverride *int8 `valid:"-" toml:"CENTRALIZED_VOLUME_PRECISION_OVERRIDE" json:"centralized_volume_precision_override"` // Deprecated: use CENTRALIZED_MIN_BASE_VOLUME_OVERRIDE instead MinCentralizedBaseVolumeDeprecated *float64 `valid:"-" toml:"MIN_CENTRALIZED_BASE_VOLUME" deprecated:"true" json:"min_centralized_base_volume"` CentralizedMinBaseVolumeOverride *float64 `valid:"-" toml:"CENTRALIZED_MIN_BASE_VOLUME_OVERRIDE" json:"centralized_min_base_volume_override"` CentralizedMinQuoteVolumeOverride *float64 `valid:"-" toml:"CENTRALIZED_MIN_QUOTE_VOLUME_OVERRIDE" json:"centralized_min_quote_volume_override"` PostgresDbConfig *postgresdb.Config `valid:"-" toml:"POSTGRES_DB" json:"postgres_db"` Filters []string `valid:"-" toml:"FILTERS" json:"filters"` AlertType string `valid:"-" toml:"ALERT_TYPE" json:"alert_type"` AlertAPIKey string `valid:"-" toml:"ALERT_API_KEY" json:"alert_api_key"` MonitoringPort uint16 `valid:"-" toml:"MONITORING_PORT" json:"monitoring_port"` MonitoringTLSCert string `valid:"-" toml:"MONITORING_TLS_CERT" json:"monitoring_tls_cert"` MonitoringTLSKey string `valid:"-" toml:"MONITORING_TLS_KEY" json:"monitoring_tls_key"` GoogleClientID string `valid:"-" toml:"GOOGLE_CLIENT_ID" json:"google_client_id"` GoogleClientSecret string `valid:"-" toml:"GOOGLE_CLIENT_SECRET" json:"google_client_secret"` AcceptableEmails string `valid:"-" toml:"ACCEPTABLE_GOOGLE_EMAILS" json:"acceptable_google_emails"` TradingExchange string `valid:"-" toml:"TRADING_EXCHANGE" json:"trading_exchange"` ExchangeAPIKeys toml.ExchangeAPIKeysToml `valid:"-" toml:"EXCHANGE_API_KEYS" json:"exchange_api_keys"` ExchangeParams toml.ExchangeParamsToml `valid:"-" toml:"EXCHANGE_PARAMS" json:"exchange_params"` ExchangeHeaders toml.ExchangeHeadersToml `valid:"-" toml:"EXCHANGE_HEADERS" json:"exchange_headers"` // contains filtered or unexported fields }
BotConfig represents the configuration params for the bot
func MakeBotConfig ¶ added in v1.8.0
func MakeBotConfig( sourceSecretSeed string, tradingSecretSeed string, assetCodeA string, issuerA string, assetCodeB string, issuerB string, tickIntervalSeconds int32, maxTickDelayMillis int64, deleteCyclesThreshold int64, submitMode string, fillTrackerSleepMillis uint32, fillTrackerDeleteCyclesThreshold int64, horizonURL string, ccxtRestURL *string, fee *FeeConfig, centralizedPricePrecisionOverride *int8, centralizedVolumePrecisionOverride *int8, centralizedMinBaseVolumeOverride *float64, centralizedMinQuoteVolumeOverride *float64, ) *BotConfig
MakeBotConfig factory method for BotConfig
func (*BotConfig) AssetQuote ¶
AssetQuote returns the config's assetQuote
func (*BotConfig) IsTradingSdex ¶ added in v1.6.0
IsTradingSdex returns whether the config is set to trade on SDEX
func (*BotConfig) SourceAccount ¶
SourceAccount returns the config's source account
func (*BotConfig) TradingAccount ¶
TradingAccount returns the config's trading account
func (*BotConfig) TradingExchangeName ¶ added in v1.8.0
TradingExchangeName returns the defaulted trading exchange name
type FeeConfig ¶ added in v1.5.0
type FeeConfig struct { CapacityTrigger float64 `valid:"-" toml:"CAPACITY_TRIGGER" json:"capacity_trigger"` // trigger when "ledger_capacity_usage" in /fee_stats is >= this value Percentile uint8 `valid:"-" toml:"PERCENTILE" json:"percentile"` // percentile computation to use from /fee_stats (10, 20, ..., 90, 95, 99) MaxOpFeeStroops uint64 `valid:"-" toml:"MAX_OP_FEE_STROOPS" json:"max_op_fee_stroops"` // max fee in stroops per operation to use }
FeeConfig represents input data for how to deal with network fees
type Trader ¶
type Trader struct {
// contains filtered or unexported fields
}
Trader represents a market making bot, which is composed of various parts include the strategy and various APIs.
func MakeTrader ¶ added in v1.8.0
func MakeTrader( api *horizonclient.Client, ieif *plugins.IEIF, assetBase hProtocol.Asset, assetQuote hProtocol.Asset, tradingAccount string, sdex *plugins.SDEX, exchangeShim api.ExchangeShim, strategy api.Strategy, timeController api.TimeController, deleteCyclesThreshold int64, submitFilters []plugins.SubmitFilter, threadTracker *multithreading.ThreadTracker, fixedIterations *uint64, dataKey *model.BotKey, alert api.Alert, ) *Trader
MakeTrader is the factory method for the Trader struct
Click to show internal directories.
Click to hide internal directories.