mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-15 00:36:56 +08:00
chore: run go fmt to fix formatting issues
This commit is contained in:
@@ -796,7 +796,7 @@ func (s *Server) handleTraderList(c *gin.Context) {
|
|||||||
result = append(result, map[string]interface{}{
|
result = append(result, map[string]interface{}{
|
||||||
"trader_id": trader.ID,
|
"trader_id": trader.ID,
|
||||||
"trader_name": trader.Name,
|
"trader_name": trader.Name,
|
||||||
"ai_model": trader.AIModelID, // 使用完整 ID
|
"ai_model": trader.AIModelID, // 使用完整 ID
|
||||||
"exchange_id": trader.ExchangeID,
|
"exchange_id": trader.ExchangeID,
|
||||||
"is_running": isRunning,
|
"is_running": isRunning,
|
||||||
"initial_balance": trader.InitialBalance,
|
"initial_balance": trader.InitialBalance,
|
||||||
@@ -1726,4 +1726,3 @@ func (s *Server) handleGetPublicTraderConfig(c *gin.Context) {
|
|||||||
|
|
||||||
c.JSON(http.StatusOK, result)
|
c.JSON(http.StatusOK, result)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -258,17 +258,17 @@ func (d *Database) initDefaultData() error {
|
|||||||
|
|
||||||
// 初始化系统配置 - 创建所有字段,设置默认值,后续由config.json同步更新
|
// 初始化系统配置 - 创建所有字段,设置默认值,后续由config.json同步更新
|
||||||
systemConfigs := map[string]string{
|
systemConfigs := map[string]string{
|
||||||
"admin_mode": "true", // 默认开启管理员模式,便于首次使用
|
"admin_mode": "true", // 默认开启管理员模式,便于首次使用
|
||||||
"beta_mode": "false", // 默认关闭内测模式
|
"beta_mode": "false", // 默认关闭内测模式
|
||||||
"api_server_port": "8080", // 默认API端口
|
"api_server_port": "8080", // 默认API端口
|
||||||
"use_default_coins": "true", // 默认使用内置币种列表
|
"use_default_coins": "true", // 默认使用内置币种列表
|
||||||
"default_coins": `["BTCUSDT","ETHUSDT","SOLUSDT","BNBUSDT","XRPUSDT","DOGEUSDT","ADAUSDT","HYPEUSDT"]`, // 默认币种列表(JSON格式)
|
"default_coins": `["BTCUSDT","ETHUSDT","SOLUSDT","BNBUSDT","XRPUSDT","DOGEUSDT","ADAUSDT","HYPEUSDT"]`, // 默认币种列表(JSON格式)
|
||||||
"max_daily_loss": "10.0", // 最大日损失百分比
|
"max_daily_loss": "10.0", // 最大日损失百分比
|
||||||
"max_drawdown": "20.0", // 最大回撤百分比
|
"max_drawdown": "20.0", // 最大回撤百分比
|
||||||
"stop_trading_minutes": "60", // 停止交易时间(分钟)
|
"stop_trading_minutes": "60", // 停止交易时间(分钟)
|
||||||
"btc_eth_leverage": "5", // BTC/ETH杠杆倍数
|
"btc_eth_leverage": "5", // BTC/ETH杠杆倍数
|
||||||
"altcoin_leverage": "5", // 山寨币杠杆倍数
|
"altcoin_leverage": "5", // 山寨币杠杆倍数
|
||||||
"jwt_secret": "", // JWT密钥,默认为空,由config.json或系统生成
|
"jwt_secret": "", // JWT密钥,默认为空,由config.json或系统生成
|
||||||
}
|
}
|
||||||
|
|
||||||
for key, value := range systemConfigs {
|
for key, value := range systemConfigs {
|
||||||
|
|||||||
18
main.go
18
main.go
@@ -64,15 +64,15 @@ func syncConfigToDatabase(database *config.Database) error {
|
|||||||
|
|
||||||
// 同步各配置项到数据库
|
// 同步各配置项到数据库
|
||||||
configs := map[string]string{
|
configs := map[string]string{
|
||||||
"admin_mode": fmt.Sprintf("%t", configFile.AdminMode),
|
"admin_mode": fmt.Sprintf("%t", configFile.AdminMode),
|
||||||
"beta_mode": fmt.Sprintf("%t", configFile.BetaMode),
|
"beta_mode": fmt.Sprintf("%t", configFile.BetaMode),
|
||||||
"api_server_port": strconv.Itoa(configFile.APIServerPort),
|
"api_server_port": strconv.Itoa(configFile.APIServerPort),
|
||||||
"use_default_coins": fmt.Sprintf("%t", configFile.UseDefaultCoins),
|
"use_default_coins": fmt.Sprintf("%t", configFile.UseDefaultCoins),
|
||||||
"coin_pool_api_url": configFile.CoinPoolAPIURL,
|
"coin_pool_api_url": configFile.CoinPoolAPIURL,
|
||||||
"oi_top_api_url": configFile.OITopAPIURL,
|
"oi_top_api_url": configFile.OITopAPIURL,
|
||||||
"max_daily_loss": fmt.Sprintf("%.1f", configFile.MaxDailyLoss),
|
"max_daily_loss": fmt.Sprintf("%.1f", configFile.MaxDailyLoss),
|
||||||
"max_drawdown": fmt.Sprintf("%.1f", configFile.MaxDrawdown),
|
"max_drawdown": fmt.Sprintf("%.1f", configFile.MaxDrawdown),
|
||||||
"stop_trading_minutes": strconv.Itoa(configFile.StopTradingMinutes),
|
"stop_trading_minutes": strconv.Itoa(configFile.StopTradingMinutes),
|
||||||
}
|
}
|
||||||
|
|
||||||
// 同步default_coins(转换为JSON字符串存储)
|
// 同步default_coins(转换为JSON字符串存储)
|
||||||
|
|||||||
@@ -23,9 +23,9 @@ type CompetitionCache struct {
|
|||||||
|
|
||||||
// TraderManager 管理多个trader实例
|
// TraderManager 管理多个trader实例
|
||||||
type TraderManager struct {
|
type TraderManager struct {
|
||||||
traders map[string]*trader.AutoTrader // key: trader ID
|
traders map[string]*trader.AutoTrader // key: trader ID
|
||||||
competitionCache *CompetitionCache
|
competitionCache *CompetitionCache
|
||||||
mu sync.RWMutex
|
mu sync.RWMutex
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewTraderManager 创建trader管理器
|
// NewTraderManager 创建trader管理器
|
||||||
|
|||||||
@@ -280,8 +280,8 @@ func isRetryableError(err error) bool {
|
|||||||
"connection refused",
|
"connection refused",
|
||||||
"temporary failure",
|
"temporary failure",
|
||||||
"no such host",
|
"no such host",
|
||||||
"stream error", // HTTP/2 stream 错误
|
"stream error", // HTTP/2 stream 错误
|
||||||
"INTERNAL_ERROR", // 服务端内部错误
|
"INTERNAL_ERROR", // 服务端内部错误
|
||||||
}
|
}
|
||||||
for _, retryable := range retryableErrors {
|
for _, retryable := range retryableErrors {
|
||||||
if strings.Contains(errStr, retryable) {
|
if strings.Contains(errStr, retryable) {
|
||||||
|
|||||||
Reference in New Issue
Block a user