Add risk leverage basis option: actual ask vs selection leverage.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -50,6 +50,7 @@ KEYS = (
|
||||
"option_qty_eth",
|
||||
"show_manual_trade_buttons",
|
||||
"sizing_mode",
|
||||
"risk_leverage_basis",
|
||||
"risk_loss_mode",
|
||||
"risk_loss_pct",
|
||||
"risk_loss_usdt",
|
||||
@@ -86,6 +87,9 @@ class StrategySettingsBody(BaseModel):
|
||||
show_manual_trade_buttons: bool | None = None
|
||||
exchange: str | None = Field(default=None, pattern="^(okx|binance|bn)$")
|
||||
sizing_mode: str | None = Field(default=None, pattern="^(manual|risk_based)$")
|
||||
risk_leverage_basis: str | None = Field(
|
||||
default=None, pattern="^(actual|selection)$"
|
||||
)
|
||||
risk_loss_mode: str | None = Field(default=None, pattern="^(percent|absolute)$")
|
||||
risk_loss_pct: float | None = Field(default=None, ge=0.01, le=100)
|
||||
risk_loss_usdt: float | None = Field(default=None, ge=0.1, le=1_000_000)
|
||||
@@ -228,6 +232,23 @@ def _read_settings() -> dict:
|
||||
in ("manual", "risk_based")
|
||||
else "manual"
|
||||
),
|
||||
"risk_leverage_basis": (
|
||||
rb
|
||||
if (
|
||||
rb := str(
|
||||
db.get_setting(
|
||||
"risk_leverage_basis",
|
||||
str(s.risk_leverage_basis),
|
||||
)
|
||||
or s.risk_leverage_basis
|
||||
or "selection"
|
||||
)
|
||||
.strip()
|
||||
.lower()
|
||||
)
|
||||
in ("actual", "selection")
|
||||
else "selection"
|
||||
),
|
||||
"risk_loss_mode": (
|
||||
lm
|
||||
if (
|
||||
|
||||
Reference in New Issue
Block a user