Loading...
Loading...
Opinionated trailing stop loss preset for Hyperliquid perps with tighter defaults than DSL v4. 4 tiers with per-tier breach counts that tighten as profit grows (3→2→2→1), auto-calculated price floors from entry and leverage, stagnation take-profit that closes if ROE ≥8% but high-water stalls for 1 hour. Same ROE-based engine as DSL v4 — different defaults, fewer knobs. Use when you want aggressive profit protection with minimal configuration.
npx skill4agent add senpi-ai/senpi-skills dsl-tightPnL / margin × 100price_floor = entry × (1 ± lockPct / 100 / leverage)| Tier | Trigger ROE | Lock % of HW Move | Breaches to Close |
|---|---|---|---|
| 1 | 10% | 50% | 3 |
| 2 | 20% | 65% | 2 |
| 3 | 40% | 75% | 2 |
| 4 | 75% | 85% | 1 |
max(tier_floor, trailing_floor)min(){
"active": true,
"asset": "HYPE",
"direction": "LONG",
"leverage": 10,
"entryPrice": 28.87,
"size": 1890.28,
"wallet": "0xYourStrategyWalletAddress",
"strategyId": "uuid",
"phase": 1,
"phase1": {
"retraceThreshold": 0.05,
"consecutiveBreachesRequired": 3
},
"phase2TriggerTier": 0,
"phase2": {
"retraceThreshold": 0.015,
"consecutiveBreachesRequired": 3
},
"tiers": [
{"triggerPct": 10, "lockPct": 5, "retrace": 0.015, "breachesRequired": 3},
{"triggerPct": 20, "lockPct": 13, "retrace": 0.012, "breachesRequired": 2},
{"triggerPct": 40, "lockPct": 30, "retrace": 0.010, "breachesRequired": 2},
{"triggerPct": 75, "lockPct": 64, "retrace": 0.006, "breachesRequired": 1}
],
"breachDecay": "hard",
"stagnation": {
"enabled": true,
"minRoePct": 8,
"maxStaleSec": 3600
},
"currentTierIndex": -1,
"tierFloorPrice": null,
"highWaterPrice": 28.87,
"floorPrice": null,
"currentBreachCount": 0,
"createdAt": "2026-02-23T10:00:00Z"
}| Field | Purpose |
|---|---|
| Not needed — auto-calculated from entry, leverage, retrace |
| Per-tier breach count (replaces global phase2 setting) |
| Per-tier trailing stop tightness |
| Enable stagnation take-profit |
| Minimum ROE to trigger stagnation check |
| Max seconds HW can be stale before auto-close |
DSL_STATE_FILE=/data/workspace/dsl-tight-HYPE.json python3 scripts/dsl-v4.pyscripts/dsl-v4.pyCLOSE_NO_POSITIONdsl-v4.pydsl-dynamic-stop-loss