Close residual options when premium recovers above configurable threshold.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -46,6 +46,8 @@ KEYS = (
|
||||
"fixed_direction_enabled",
|
||||
"fixed_perp_side",
|
||||
"close_bid_mark_max_pct",
|
||||
"residual_min_premium_pct",
|
||||
"residual_close_check_sec",
|
||||
"perp_qty_eth",
|
||||
"option_qty_eth",
|
||||
"show_manual_trade_buttons",
|
||||
@@ -82,6 +84,8 @@ class StrategySettingsBody(BaseModel):
|
||||
fixed_direction_enabled: bool | None = None
|
||||
fixed_perp_side: str | None = Field(default=None, pattern="^(long|short)$")
|
||||
close_bid_mark_max_pct: float | None = Field(default=None, ge=1, le=100)
|
||||
residual_min_premium_pct: float | None = Field(default=None, ge=1, le=100)
|
||||
residual_close_check_sec: int | None = Field(default=None, ge=30, le=86400)
|
||||
perp_qty_eth: float | None = Field(default=None, ge=0.01, le=100)
|
||||
option_qty_eth: float | None = Field(default=None, ge=0.01, le=100)
|
||||
show_manual_trade_buttons: bool | None = None
|
||||
@@ -213,6 +217,20 @@ def _read_settings() -> dict:
|
||||
db.get_setting("close_bid_mark_max_pct", str(s.close_bid_mark_max_pct))
|
||||
or s.close_bid_mark_max_pct
|
||||
),
|
||||
"residual_min_premium_pct": float(
|
||||
db.get_setting(
|
||||
"residual_min_premium_pct", str(s.residual_min_premium_pct)
|
||||
)
|
||||
or s.residual_min_premium_pct
|
||||
),
|
||||
"residual_close_check_sec": int(
|
||||
float(
|
||||
db.get_setting(
|
||||
"residual_close_check_sec", str(s.residual_close_check_sec)
|
||||
)
|
||||
or s.residual_close_check_sec
|
||||
)
|
||||
),
|
||||
"perp_qty_eth": float(
|
||||
db.get_setting("perp_qty_eth", str(s.perp_qty_eth)) or s.perp_qty_eth
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user