mirror of
https://github.com/laoxong/nofx.git
synced 2026-06-04 09:58:22 +08:00
style: apply gofmt to api/strategy.go and store/strategy.go
This commit is contained in:
+5
-6
@@ -164,8 +164,8 @@ func (s *Server) handleCreateStrategy(c *gin.Context) {
|
|||||||
var req struct {
|
var req struct {
|
||||||
Name string `json:"name" binding:"required"`
|
Name string `json:"name" binding:"required"`
|
||||||
Description string `json:"description"`
|
Description string `json:"description"`
|
||||||
Lang string `json:"lang"` // "zh" or "en", used when config is omitted
|
Lang string `json:"lang"` // "zh" or "en", used when config is omitted
|
||||||
Config *store.StrategyConfig `json:"config"` // optional — uses default if omitted
|
Config *store.StrategyConfig `json:"config"` // optional — uses default if omitted
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := c.ShouldBindJSON(&req); err != nil {
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
@@ -452,9 +452,9 @@ func (s *Server) handlePreviewPrompt(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var req struct {
|
var req struct {
|
||||||
Config store.StrategyConfig `json:"config" binding:"required"`
|
Config store.StrategyConfig `json:"config" binding:"required"`
|
||||||
AccountEquity float64 `json:"account_equity"`
|
AccountEquity float64 `json:"account_equity"`
|
||||||
PromptVariant string `json:"prompt_variant"`
|
PromptVariant string `json:"prompt_variant"`
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := c.ShouldBindJSON(&req); err != nil {
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
@@ -697,4 +697,3 @@ func (s *Server) runRealAITest(userID, modelID, systemPrompt, userPrompt string)
|
|||||||
|
|
||||||
return response, nil
|
return response, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+16
-16
@@ -73,8 +73,8 @@ type Strategy struct {
|
|||||||
Description string `gorm:"default:''" json:"description"`
|
Description string `gorm:"default:''" json:"description"`
|
||||||
IsActive bool `gorm:"column:is_active;default:false;index" json:"is_active"`
|
IsActive bool `gorm:"column:is_active;default:false;index" json:"is_active"`
|
||||||
IsDefault bool `gorm:"column:is_default;default:false" json:"is_default"`
|
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
|
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
|
ConfigVisible bool `gorm:"column:config_visible;default:true" json:"config_visible"` // whether config details are visible
|
||||||
Config string `gorm:"not null;default:'{}'" json:"config"`
|
Config string `gorm:"not null;default:'{}'" json:"config"`
|
||||||
CreatedAt time.Time `json:"created_at"`
|
CreatedAt time.Time `json:"created_at"`
|
||||||
UpdatedAt time.Time `json:"updated_at"`
|
UpdatedAt time.Time `json:"updated_at"`
|
||||||
@@ -191,7 +191,7 @@ type IndicatorConfig struct {
|
|||||||
EnableMACD bool `json:"enable_macd"`
|
EnableMACD bool `json:"enable_macd"`
|
||||||
EnableRSI bool `json:"enable_rsi"`
|
EnableRSI bool `json:"enable_rsi"`
|
||||||
EnableATR bool `json:"enable_atr"`
|
EnableATR bool `json:"enable_atr"`
|
||||||
EnableBOLL bool `json:"enable_boll"` // Bollinger Bands
|
EnableBOLL bool `json:"enable_boll"` // Bollinger Bands
|
||||||
EnableVolume bool `json:"enable_volume"`
|
EnableVolume bool `json:"enable_volume"`
|
||||||
EnableOI bool `json:"enable_oi"` // open interest
|
EnableOI bool `json:"enable_oi"` // open interest
|
||||||
EnableFundingRate bool `json:"enable_funding_rate"` // funding rate
|
EnableFundingRate bool `json:"enable_funding_rate"` // funding rate
|
||||||
@@ -249,10 +249,10 @@ type KlineConfig struct {
|
|||||||
|
|
||||||
// ExternalDataSource external data source configuration
|
// ExternalDataSource external data source configuration
|
||||||
type ExternalDataSource struct {
|
type ExternalDataSource struct {
|
||||||
Name string `json:"name"` // data source name
|
Name string `json:"name"` // data source name
|
||||||
Type string `json:"type"` // type: "api" | "webhook"
|
Type string `json:"type"` // type: "api" | "webhook"
|
||||||
URL string `json:"url"` // API URL
|
URL string `json:"url"` // API URL
|
||||||
Method string `json:"method"` // HTTP method
|
Method string `json:"method"` // HTTP method
|
||||||
Headers map[string]string `json:"headers,omitempty"`
|
Headers map[string]string `json:"headers,omitempty"`
|
||||||
DataPath string `json:"data_path,omitempty"` // JSON data path
|
DataPath string `json:"data_path,omitempty"` // JSON data path
|
||||||
RefreshSecs int `json:"refresh_secs,omitempty"` // refresh interval (seconds)
|
RefreshSecs int `json:"refresh_secs,omitempty"` // refresh interval (seconds)
|
||||||
@@ -360,15 +360,15 @@ func GetDefaultStrategyConfig(lang string) StrategyConfig {
|
|||||||
PriceRankingLimit: 10,
|
PriceRankingLimit: 10,
|
||||||
},
|
},
|
||||||
RiskControl: RiskControlConfig{
|
RiskControl: RiskControlConfig{
|
||||||
MaxPositions: 3, // Max 3 coins simultaneously (CODE ENFORCED)
|
MaxPositions: 3, // Max 3 coins simultaneously (CODE ENFORCED)
|
||||||
BTCETHMaxLeverage: 5, // BTC/ETH exchange leverage (AI guided)
|
BTCETHMaxLeverage: 5, // BTC/ETH exchange leverage (AI guided)
|
||||||
AltcoinMaxLeverage: 5, // Altcoin exchange leverage (AI guided)
|
AltcoinMaxLeverage: 5, // Altcoin exchange leverage (AI guided)
|
||||||
BTCETHMaxPositionValueRatio: 5.0, // BTC/ETH: max position = 5x equity (CODE ENFORCED)
|
BTCETHMaxPositionValueRatio: 5.0, // BTC/ETH: max position = 5x equity (CODE ENFORCED)
|
||||||
AltcoinMaxPositionValueRatio: 1.0, // Altcoin: max position = 1x equity (CODE ENFORCED)
|
AltcoinMaxPositionValueRatio: 1.0, // Altcoin: max position = 1x equity (CODE ENFORCED)
|
||||||
MaxMarginUsage: 0.9, // Max 90% margin usage (CODE ENFORCED)
|
MaxMarginUsage: 0.9, // Max 90% margin usage (CODE ENFORCED)
|
||||||
MinPositionSize: 12, // Min 12 USDT per position (CODE ENFORCED)
|
MinPositionSize: 12, // Min 12 USDT per position (CODE ENFORCED)
|
||||||
MinRiskRewardRatio: 3.0, // Min 3:1 profit/loss ratio (AI guided)
|
MinRiskRewardRatio: 3.0, // Min 3:1 profit/loss ratio (AI guided)
|
||||||
MinConfidence: 75, // Min 75% confidence (AI guided)
|
MinConfidence: 75, // Min 75% confidence (AI guided)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user