A tighter, more opinionated variant of DSL for aggressive profit protection. Uses the
same script and architecture as DSL v5
(
dsl-v5.py
) — strategy-scoped cron, MCP clearinghouse, state under
{DSL_STATE_DIR}/{strategyId}/{asset}.json
. All tier triggers are ROE-based (
PnL / margin × 100
); leverage is accounted for automatically.
Key difference from default DSL v5:
DSL v5 is the configurable engine with maximum flexibility. DSL-Tight is the "just works" preset — fewer knobs, tighter defaults, per-tier breach counts, stagnation exits, and auto-calculated floors.
Core Concept
All thresholds defined in ROE. The script auto-converts to price levels:
($29.16): Floor locks at ~$29.01, 3 breaches to close.
Tier 2 at 20% ROE
($29.45): Floor locks at ~$29.24, now only 2 breaches.
Stagnation
Price stalls at 12% ROE for 65 min → auto-closed with profit.
Tier 4 at 75% ROE
($31.04): Floor at ~$30.71. Single breach = instant close.
Script and Dependencies
Uses
dsl-v5.py
from the
dsl-dynamic-stop-loss
skill. Install that skill first.
When setting up cron or running the script, locate the dsl-dynamic-stop-loss skill on disk
(search workspace/skills/install path for the folder containing
scripts/dsl-v5.py
) and use that path — do not assume a fixed location. State files go in
{DSL_STATE_DIR}/{strategyId}/{asset}.json
(main) or
xyz--SYMBOL.json
(xyz). For cron setup, path conventions, cleanup on strategy inactive, and output schema, follow the
dsl-dynamic-stop-loss
skill.