From f83f2b1c180886e8aa9fb15f188bf23071a0e9d1 Mon Sep 17 00:00:00 2001 From: Dean Date: Fri, 27 Mar 2026 21:49:34 +0800 Subject: [PATCH] style: apply gofmt to api/strategy.go and store/strategy.go --- api/strategy.go | 11 +++++------ store/strategy.go | 32 ++++++++++++++++---------------- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/api/strategy.go b/api/strategy.go index 64dd4e8e..1985c384 100644 --- a/api/strategy.go +++ b/api/strategy.go @@ -164,8 +164,8 @@ func (s *Server) handleCreateStrategy(c *gin.Context) { var req struct { Name string `json:"name" binding:"required"` Description string `json:"description"` - Lang string `json:"lang"` // "zh" or "en", used when config is omitted - Config *store.StrategyConfig `json:"config"` // optional — uses default if omitted + Lang string `json:"lang"` // "zh" or "en", used when config is omitted + Config *store.StrategyConfig `json:"config"` // optional — uses default if omitted } if err := c.ShouldBindJSON(&req); err != nil { @@ -452,9 +452,9 @@ func (s *Server) handlePreviewPrompt(c *gin.Context) { } var req struct { - Config store.StrategyConfig `json:"config" binding:"required"` - AccountEquity float64 `json:"account_equity"` - PromptVariant string `json:"prompt_variant"` + Config store.StrategyConfig `json:"config" binding:"required"` + AccountEquity float64 `json:"account_equity"` + PromptVariant string `json:"prompt_variant"` } if err := c.ShouldBindJSON(&req); err != nil { @@ -697,4 +697,3 @@ func (s *Server) runRealAITest(userID, modelID, systemPrompt, userPrompt string) return response, nil } - diff --git a/store/strategy.go b/store/strategy.go index 2ef062bd..573deb48 100644 --- a/store/strategy.go +++ b/store/strategy.go @@ -73,8 +73,8 @@ type Strategy struct { Description string `gorm:"default:''" json:"description"` IsActive bool `gorm:"column:is_active;default:false;index" json:"is_active"` IsDefault bool `gorm:"column:is_default;default:false" json:"is_default"` - IsPublic bool `gorm:"column:is_public;default:false;index" json:"is_public"` // whether visible in strategy market - ConfigVisible bool `gorm:"column:config_visible;default:true" json:"config_visible"` // whether config details are visible + IsPublic bool `gorm:"column:is_public;default:false;index" json:"is_public"` // whether visible in strategy market + ConfigVisible bool `gorm:"column:config_visible;default:true" json:"config_visible"` // whether config details are visible Config string `gorm:"not null;default:'{}'" json:"config"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` @@ -191,7 +191,7 @@ type IndicatorConfig struct { EnableMACD bool `json:"enable_macd"` EnableRSI bool `json:"enable_rsi"` EnableATR bool `json:"enable_atr"` - EnableBOLL bool `json:"enable_boll"` // Bollinger Bands + EnableBOLL bool `json:"enable_boll"` // Bollinger Bands EnableVolume bool `json:"enable_volume"` EnableOI bool `json:"enable_oi"` // open interest EnableFundingRate bool `json:"enable_funding_rate"` // funding rate @@ -249,10 +249,10 @@ type KlineConfig struct { // ExternalDataSource external data source configuration type ExternalDataSource struct { - Name string `json:"name"` // data source name - Type string `json:"type"` // type: "api" | "webhook" - URL string `json:"url"` // API URL - Method string `json:"method"` // HTTP method + Name string `json:"name"` // data source name + Type string `json:"type"` // type: "api" | "webhook" + URL string `json:"url"` // API URL + Method string `json:"method"` // HTTP method Headers map[string]string `json:"headers,omitempty"` DataPath string `json:"data_path,omitempty"` // JSON data path RefreshSecs int `json:"refresh_secs,omitempty"` // refresh interval (seconds) @@ -360,15 +360,15 @@ func GetDefaultStrategyConfig(lang string) StrategyConfig { PriceRankingLimit: 10, }, RiskControl: RiskControlConfig{ - MaxPositions: 3, // Max 3 coins simultaneously (CODE ENFORCED) - BTCETHMaxLeverage: 5, // BTC/ETH exchange leverage (AI guided) - AltcoinMaxLeverage: 5, // Altcoin exchange leverage (AI guided) - BTCETHMaxPositionValueRatio: 5.0, // BTC/ETH: max position = 5x equity (CODE ENFORCED) - AltcoinMaxPositionValueRatio: 1.0, // Altcoin: max position = 1x equity (CODE ENFORCED) - MaxMarginUsage: 0.9, // Max 90% margin usage (CODE ENFORCED) - MinPositionSize: 12, // Min 12 USDT per position (CODE ENFORCED) - MinRiskRewardRatio: 3.0, // Min 3:1 profit/loss ratio (AI guided) - MinConfidence: 75, // Min 75% confidence (AI guided) + MaxPositions: 3, // Max 3 coins simultaneously (CODE ENFORCED) + BTCETHMaxLeverage: 5, // BTC/ETH exchange leverage (AI guided) + AltcoinMaxLeverage: 5, // Altcoin exchange leverage (AI guided) + BTCETHMaxPositionValueRatio: 5.0, // BTC/ETH: max position = 5x equity (CODE ENFORCED) + AltcoinMaxPositionValueRatio: 1.0, // Altcoin: max position = 1x equity (CODE ENFORCED) + MaxMarginUsage: 0.9, // Max 90% margin usage (CODE ENFORCED) + MinPositionSize: 12, // Min 12 USDT per position (CODE ENFORCED) + MinRiskRewardRatio: 3.0, // Min 3:1 profit/loss ratio (AI guided) + MinConfidence: 75, // Min 75% confidence (AI guided) }, }