Documentation
¶
Overview ¶
Package quant provides a minimal AI-friendly interface to crypto exchanges. Currently supports Binance (Spot) via environment variables.
Index ¶
- func BinanceFuturesRequest(method, endpoint string, params url.Values, result interface{}) error
- func BuyMarket(symbol string, quoteAmount float64) (*binance.CreateOrderResponse, error)
- func CreateSignature(queryString, secretKey string) string
- func CreateSignatureFromParams(params url.Values, secretKey string) (signature, queryString string)
- func FetchHistoricalPrices(symbol, interval string, limit int) ([]*binance.Kline, error)
- func FetchLatestPrice(symbol string) (*binance.SymbolPrice, error)
- func Format(t time.Time) string
- func FuturesBuyMarket(symbol string, quantity float64) (*futures.CreateOrderResponse, error)
- func FuturesClosePosition(symbol string) (*futures.CreateOrderResponse, error)
- func FuturesGetAccountDefaultFeeRate() (makerFeeRate string, takerFeeRate string, err error)
- func FuturesGetBalance(asset string) (string, error)
- func FuturesGetCurrentFundingRate(symbol string) (fundingRate string, nextFundingTime int64, err error)
- func FuturesGetFeeRateForSymbol(symbol string) (makerFeeRate string, takerFeeRate string, err error)
- func FuturesGetKlines(symbol, interval string, limit int) ([]*futures.Kline, error)
- func FuturesGetPosition(symbol string) (*futures.PositionRisk, error)
- func FuturesGetTickerPrice(symbol string) (string, error)
- func FuturesSellMarket(symbol string, quantity float64) (*futures.CreateOrderResponse, error)
- func GetAccountBalance(currency string) (string, error)
- func ListOpenOrders(symbol string) ([]*binance.Order, error)
- func SellMarket(symbol string, baseAmount float64) (*binance.CreateOrderResponse, error)
- type CommissionRateResponse
- type IndicatorConfig
- type MultiTimeframeIndicator
- type ProfessionalIndicatorCalculator
- type TechnicalIndicator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BinanceFuturesRequest ¶
BinanceFuturesRequest 通用的 Binance Futures API 请求函数 method: HTTP 方法 (GET, POST, etc.) endpoint: API 端点路径 (e.g., "/fapi/v1/commissionRate") params: 请求参数 result: 用于存储响应数据的指针
func BuyMarket ¶
func BuyMarket(symbol string, quoteAmount float64) (*binance.CreateOrderResponse, error)
BuyMarket buys using quote currency (e.g., USDT).
func CreateSignature ¶
CreateSignature 创建 HMAC SHA256 签名 queryString: 需要签名的查询参数字符串 secretKey: API密钥 返回: 十六进制格式的签名字符串
func CreateSignatureFromParams ¶
CreateSignatureFromParams 从 url.Values 创建签名 params: 请求参数 secretKey: API密钥 返回: 签名和编码后的查询字符串
func FetchHistoricalPrices ¶
FetchHistoricalPrices returns historical klines.
func FetchLatestPrice ¶
func FetchLatestPrice(symbol string) (*binance.SymbolPrice, error)
FetchLatestPrice returns the latest price as a binance.SymbolPrice.
func FuturesBuyMarket ¶
func FuturesBuyMarket(symbol string, quantity float64) (*futures.CreateOrderResponse, error)
FuturesBuyMarket opens a long position with market order
func FuturesClosePosition ¶
func FuturesClosePosition(symbol string) (*futures.CreateOrderResponse, error)
FuturesClosePosition closes current position (auto detect direction)
func FuturesGetAccountDefaultFeeRate ¶
FuturesGetAccountDefaultFeeRate 获取账户的默认交易手续费率
func FuturesGetBalance ¶
FuturesGetBalance returns USDT-margined futures account balance
func FuturesGetCurrentFundingRate ¶
func FuturesGetCurrentFundingRate(symbol string) (fundingRate string, nextFundingTime int64, err error)
FuturesGetCurrentFundingRate 获取指定交易对的当前资金费率 返回资金费率 (例如 0.0001 表示 0.01%) 和下次更新时间戳
func FuturesGetFeeRateForSymbol ¶
func FuturesGetFeeRateForSymbol(symbol string) (makerFeeRate string, takerFeeRate string, err error)
FuturesGetFeeRateForSymbol 获取指定交易对的当前交易手续费率
func FuturesGetKlines ¶
FuturesGetKlines returns historical futures klines
func FuturesGetPosition ¶
func FuturesGetPosition(symbol string) (*futures.PositionRisk, error)
FuturesGetPosition returns position info for a symbol
func FuturesGetTickerPrice ¶
func FuturesSellMarket ¶
func FuturesSellMarket(symbol string, quantity float64) (*futures.CreateOrderResponse, error)
FuturesSellMarket opens a short position or closes long
func GetAccountBalance ¶
GetAccountBalance returns the free balance of a currency.
func ListOpenOrders ¶
ListOpenOrders returns open orders as []*binance.Order.
func SellMarket ¶
func SellMarket(symbol string, baseAmount float64) (*binance.CreateOrderResponse, error)
SellMarket sells base asset.
Types ¶
type CommissionRateResponse ¶
type CommissionRateResponse struct {
Symbol string `json:"symbol"`
MakerCommissionRate string `json:"makerCommissionRate"` // 例如 "0.000200" 表示 0.02%
TakerCommissionRate string `json:"takerCommissionRate"` // 例如 "0.000400" 表示 0.04%
}
CommissionRateResponse 定义 API 响应结构
type IndicatorConfig ¶
type IndicatorConfig struct {
EMAs []int `json:"emas"` // [12, 26, 50]
MAs []int `json:"mas"` // [20, 50]
RSI []int `json:"rsi"` // [14]
MACD bool `json:"macd"` // 是否计算MACD
Stochastic []int `json:"stochastic"` // [14, 3]
ATR []int `json:"atr"` // [14]
Bollinger []int `json:"bollinger"` // [20, 2]
}
技术指标配置
type MultiTimeframeIndicator ¶
type MultiTimeframeIndicator struct {
Timestamp time.Time `json:"timestamp"`
Symbol string `json:"symbol"`
Timeframes map[string]*TechnicalIndicator `json:"timeframes"` // 周期 -> 指标
}
多周期技术指标
func (*MultiTimeframeIndicator) ToJSON ¶
func (multi *MultiTimeframeIndicator) ToJSON() string
输出原始JSON数据
func (*MultiTimeframeIndicator) ToSimpleString ¶
func (multi *MultiTimeframeIndicator) ToSimpleString(timeframeOrder []string) string
输出清晰格式(适合AI分析)
type ProfessionalIndicatorCalculator ¶
type ProfessionalIndicatorCalculator struct {
// contains filtered or unexported fields
}
专业指标计算器(使用go-talib)
func NewIndicatorCalculator ¶
func NewIndicatorCalculator(config *IndicatorConfig) *ProfessionalIndicatorCalculator
func (*ProfessionalIndicatorCalculator) Calculate ¶
func (pic *ProfessionalIndicatorCalculator) Calculate(symbol, timeframe string, klines []*futures.Kline) *TechnicalIndicator
计算单个周期指标 计算单个周期指标
func (*ProfessionalIndicatorCalculator) CalculateMultiTimeframe ¶
func (pic *ProfessionalIndicatorCalculator) CalculateMultiTimeframe(symbol string, timeframeData map[string][]*futures.Kline) *MultiTimeframeIndicator
计算多周期指标