Move settings hints into rules; add OO amplitude filter toggle default off.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-08-07 17:58:50 +08:00
parent 0daac05ef5
commit ab612df818
10 changed files with 201 additions and 118 deletions
+13
View File
@@ -322,6 +322,19 @@ async def fleet_status(_tok: Annotated[str, Depends(require_fleet_token)]) -> di
"oo_amplitude_hours": _pick(
"oo_amplitude_hours", float(settings.oo_amplitude_hours)
),
"oo_amplitude_filter_enabled": (
str(
st.get("oo_amplitude_filter_enabled")
if "oo_amplitude_filter_enabled" in st
else db.get_setting(
"oo_amplitude_filter_enabled",
str(settings.oo_amplitude_filter_enabled),
)
)
.strip()
.lower()
in ("1", "true", "yes", "on")
),
"oo_min_option_hours": _pick(
"oo_min_option_hours", float(settings.oo_min_option_hours)
),
+10
View File
@@ -67,6 +67,7 @@ KEYS = (
"hedge_mode",
"oo_amplitude_pct",
"oo_amplitude_hours",
"oo_amplitude_filter_enabled",
"oo_min_option_hours",
"oo_min_leverage",
"oo_reward_ratio",
@@ -123,6 +124,7 @@ class StrategySettingsBody(BaseModel):
)
oo_amplitude_pct: float | None = Field(default=None, ge=0.1, le=50)
oo_amplitude_hours: float | None = Field(default=None, ge=1, le=168)
oo_amplitude_filter_enabled: bool | None = None
oo_min_option_hours: float | None = Field(default=None, ge=1, le=720)
oo_min_leverage: float | None = Field(default=None, ge=1, le=10000)
oo_reward_ratio: float | None = Field(default=None, ge=0.5, le=20)
@@ -365,6 +367,13 @@ def _read_settings() -> dict:
db.get_setting("oo_amplitude_hours", str(s.oo_amplitude_hours))
or s.oo_amplitude_hours
),
"oo_amplitude_filter_enabled": _as_bool(
db.get_setting(
"oo_amplitude_filter_enabled",
str(s.oo_amplitude_filter_enabled),
),
s.oo_amplitude_filter_enabled,
),
"oo_min_option_hours": float(
db.get_setting("oo_min_option_hours", str(s.oo_min_option_hours))
or s.oo_min_option_hours
@@ -476,6 +485,7 @@ async def put_strategy_settings(
"hedge_mode",
"oo_amplitude_pct",
"oo_amplitude_hours",
"oo_amplitude_filter_enabled",
"oo_min_option_hours",
"oo_min_leverage",
"oo_reward_ratio",