mm

package
v0.0.0-...-7d4a57b Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2019 License: MIT Imports: 11 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FilterByAsset

func FilterByAsset(orders objects.LimitOrders, asset objects.GrapheneID) objects.LimitOrders

func FilterBySeller

func FilterBySeller(orders objects.LimitOrders, seller objects.GrapheneID) objects.LimitOrders

func OrdersAmount

func OrdersAmount(orders objects.LimitOrders) uint64

Types

type Config

type Config struct {
	Market         MarketConfig
	UpdateInterval time.Duration
	Account        string
	FeeReserve     decimal.Decimal
}

type Market

type Market struct {
	Base  objects.Asset
	Quote objects.Asset
}

func (*Market) DisplayName

func (m *Market) DisplayName() string

func (*Market) GetRate

func (m *Market) GetRate(price objects.Price) objects.Rate

func (*Market) NewPrice

func (m *Market) NewPrice(baseAmount, quoteAmount uint64) objects.Price

type MarketConfig

type MarketConfig struct {
	Base       string  `json:"base"`
	Quote      string  `json:"quote"`
	Spread     float64 `json:"spread"`
	Threshold  float64 `json:"threshold"`
	Expiration int     `json:"expiration"`
	Amount     float64 `json:"amount"`
	OrderCount int     `json:"orders"`
	SpreadStep float64 `json:"spread_step"`
}

type MarketMaker

type MarketMaker struct {
	// contains filtered or unexported fields
}

func NewMarketMaker

func NewMarketMaker(
	cfg *Config,
	rpc api.BitsharesAPI,
	wallet wallet.Wallet,
	factory PriceProviderFactory,
	logger *zap.SugaredLogger,
	balanceMutex *sync.Mutex,
) *MarketMaker

func (*MarketMaker) CancelOrders

func (m *MarketMaker) CancelOrders() error

func (*MarketMaker) Market

func (m *MarketMaker) Market() *Market

func (*MarketMaker) Start

func (m *MarketMaker) Start() error

func (*MarketMaker) Stop

func (m *MarketMaker) Stop()

type OrderBook

type OrderBook struct {
	Sell objects.LimitOrders
	Buy  objects.LimitOrders
	// contains filtered or unexported fields
}

func NewOrderBook

func NewOrderBook(orders objects.LimitOrders, market *Market, logger *zap.SugaredLogger) OrderBook

func (*OrderBook) BuyAmount

func (o *OrderBook) BuyAmount() uint64

func (*OrderBook) Log

func (o *OrderBook) Log(market *Market)

func (*OrderBook) Orders

func (o *OrderBook) Orders() objects.LimitOrders

func (*OrderBook) SellAmount

func (o *OrderBook) SellAmount() uint64

type PriceProvider

type PriceProvider interface {
	GetPrice() objects.Price
}

PriceProvider reports price for a given asset

type PriceProviderFactory

type PriceProviderFactory interface {
	GetProvider(market *Market) (PriceProvider, error)
}

PriceProviderFactory creates PriceProvider for the given market

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL