mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2025-12-06 13:54:41 +08:00
Expose the default mainstream currency settings to the configuration file
This commit is contained in:
@@ -60,6 +60,16 @@
|
|||||||
"altcoin_leverage": 5
|
"altcoin_leverage": 5
|
||||||
},
|
},
|
||||||
"use_default_coins": true,
|
"use_default_coins": true,
|
||||||
|
"default_coins": [
|
||||||
|
"BTCUSDT",
|
||||||
|
"ETHUSDT",
|
||||||
|
"SOLUSDT",
|
||||||
|
"BNBUSDT",
|
||||||
|
"XRPUSDT",
|
||||||
|
"DOGEUSDT",
|
||||||
|
"ADAUSDT",
|
||||||
|
"HYPEUSDT",
|
||||||
|
],
|
||||||
"coin_pool_api_url": "",
|
"coin_pool_api_url": "",
|
||||||
"oi_top_api_url": "",
|
"oi_top_api_url": "",
|
||||||
"api_server_port": 8080,
|
"api_server_port": 8080,
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ type LeverageConfig struct {
|
|||||||
type Config struct {
|
type Config struct {
|
||||||
Traders []TraderConfig `json:"traders"`
|
Traders []TraderConfig `json:"traders"`
|
||||||
UseDefaultCoins bool `json:"use_default_coins"` // 是否使用默认主流币种列表
|
UseDefaultCoins bool `json:"use_default_coins"` // 是否使用默认主流币种列表
|
||||||
|
DefaultCoins []string `json:"default_coins"` // 默认主流币种池
|
||||||
CoinPoolAPIURL string `json:"coin_pool_api_url"`
|
CoinPoolAPIURL string `json:"coin_pool_api_url"`
|
||||||
OITopAPIURL string `json:"oi_top_api_url"`
|
OITopAPIURL string `json:"oi_top_api_url"`
|
||||||
APIServerPort int `json:"api_server_port"`
|
APIServerPort int `json:"api_server_port"`
|
||||||
@@ -78,6 +79,20 @@ func LoadConfig(filename string) (*Config, error) {
|
|||||||
config.UseDefaultCoins = true
|
config.UseDefaultCoins = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 设置默认币种池
|
||||||
|
if len(config.DefaultCoins) == 0 {
|
||||||
|
config.DefaultCoins = []string{
|
||||||
|
"BTCUSDT",
|
||||||
|
"ETHUSDT",
|
||||||
|
"SOLUSDT",
|
||||||
|
"BNBUSDT",
|
||||||
|
"XRPUSDT",
|
||||||
|
"DOGEUSDT",
|
||||||
|
"ADAUSDT",
|
||||||
|
"HYPEUSDT",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 验证配置
|
// 验证配置
|
||||||
if err := config.Validate(); err != nil {
|
if err := config.Validate(); err != nil {
|
||||||
return nil, fmt.Errorf("配置验证失败: %w", err)
|
return nil, fmt.Errorf("配置验证失败: %w", err)
|
||||||
|
|||||||
5
main.go
5
main.go
@@ -34,10 +34,13 @@ func main() {
|
|||||||
log.Printf("✓ 配置加载成功,共%d个trader参赛", len(cfg.Traders))
|
log.Printf("✓ 配置加载成功,共%d个trader参赛", len(cfg.Traders))
|
||||||
fmt.Println()
|
fmt.Println()
|
||||||
|
|
||||||
|
// 设置默认主流币种列表
|
||||||
|
pool.SetDefaultCoins(cfg.DefaultCoins)
|
||||||
|
|
||||||
// 设置是否使用默认主流币种
|
// 设置是否使用默认主流币种
|
||||||
pool.SetUseDefaultCoins(cfg.UseDefaultCoins)
|
pool.SetUseDefaultCoins(cfg.UseDefaultCoins)
|
||||||
if cfg.UseDefaultCoins {
|
if cfg.UseDefaultCoins {
|
||||||
log.Printf("✓ 已启用默认主流币种列表(BTC、ETH、SOL、BNB、XRP、DOGE、ADA、HYPE)")
|
log.Printf("✓ 已启用默认主流币种列表(共%d个币种): %v", len(cfg.DefaultCoins), cfg.DefaultCoins)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置币种池API URL
|
// 设置币种池API URL
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
// defaultMainstreamCoins 默认主流币种池(当AI500和OI Top都失败时使用)
|
// defaultMainstreamCoins 默认主流币种池(从配置文件读取)
|
||||||
var defaultMainstreamCoins = []string{
|
var defaultMainstreamCoins = []string{
|
||||||
"BTCUSDT",
|
"BTCUSDT",
|
||||||
"ETHUSDT",
|
"ETHUSDT",
|
||||||
@@ -83,6 +83,14 @@ func SetUseDefaultCoins(useDefault bool) {
|
|||||||
coinPoolConfig.UseDefaultCoins = useDefault
|
coinPoolConfig.UseDefaultCoins = useDefault
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetDefaultCoins 设置默认主流币种列表
|
||||||
|
func SetDefaultCoins(coins []string) {
|
||||||
|
if len(coins) > 0 {
|
||||||
|
defaultMainstreamCoins = coins
|
||||||
|
log.Printf("✓ 已设置默认币种池(共%d个币种): %v", len(coins), coins)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// GetCoinPool 获取币种池列表(带重试和缓存机制)
|
// GetCoinPool 获取币种池列表(带重试和缓存机制)
|
||||||
func GetCoinPool() ([]CoinInfo, error) {
|
func GetCoinPool() ([]CoinInfo, error) {
|
||||||
// 优先检查是否启用默认币种列表
|
// 优先检查是否启用默认币种列表
|
||||||
|
|||||||
Reference in New Issue
Block a user