stop-loss-check
9
总安装量
2
周安装量
#32449
全站排名
安装命令
npx skills add https://github.com/felixwayne0318/aitrader --skill stop-loss-check
Agent 安装分布
amp
2
opencode
2
kimi-cli
2
codex
2
github-copilot
2
gemini-cli
2
Skill 文档
Stop-Loss Validation
Core Rules
| Direction | Stop-Loss Position | Validation |
|---|---|---|
| LONG | SL must be < entry price | stop_loss_price < entry_price - PRICE_EPSILON |
| SHORT | SL must be > entry price | stop_loss_price > entry_price + PRICE_EPSILON |
Note: Use
PRICE_EPSILON = entry_price * 1e-8for floating-point comparison.
Fixed Bug
Commit: 7f940fb
Problem: When market moves fast, support/resistance levels may be on wrong side of entry price, causing immediate SL trigger.
Example:
Entry: $91,626 (LONG)
Support: $91,808 (above entry!)
Original: SL = $91,808 Ã 0.999 = $91,808.10
Result: SL triggered immediately, loss -$0.18 in 820ms
Fix:
# strategy/deepseek_strategy.py lines 1502-1543
PRICE_EPSILON = max(entry_price * 1e-8, 1e-8) # Relative tolerance
if side == OrderSide.BUY:
default_sl = entry_price * 0.98 # Default 2% SL
if self.sl_use_support_resistance and support > 0:
potential_sl = support * (1 - self.sl_buffer_pct)
# Validate: SL must be below entry (with epsilon tolerance)
if potential_sl < entry_price - PRICE_EPSILON:
stop_loss_price = potential_sl
else:
stop_loss_price = default_sl # Fallback to default 2%
self.log.warning(f"â ï¸ Support above entry, using default SL")
Test Command
cd /home/linuxuser/nautilus_AItrader
source venv/bin/activate
python3 test_sl_fix.py
Expected Output
============================================================
Stop-Loss Fix Validation Test
============================================================
Test 1: Bug scenario: Support above entry â
Passed
Test 2: Normal scenario: Support below entry â
Passed
...
ð All tests passed! Stop-loss fix is correct!
Key Files
| File | Purpose | Key Lines |
|---|---|---|
strategy/deepseek_strategy.py |
Main strategy | 1502-1602 |
test_sl_fix.py |
Test script | – |
Verification Steps
- Read
strategy/deepseek_strategy.pylines 1502-1602 - Confirm stop-loss validation logic exists (with
PRICE_EPSILONtolerance) - Run
python3 test_sl_fix.py - All tests pass = fix is correct