docs: Update copilot-instructions.md für Leverage 5x (Jan 30, 2026)

Alle Leverage-Referenzen von 10x/15x auf 5x aktualisiert:
- Adaptive Leverage Status, Configuration, Rationale
- Position Sizing (notional: ~$2,700 statt ~$8,100)
- Per-Symbol defaults (SOL 5x, ETH 5x)
- Pyramid stacking leverage
- Quick Reference Table

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
root
2026-01-30 17:47:19 +01:00
parent fdab446aa4
commit 17ff829c6c

View File

@@ -126,17 +126,20 @@
- **Last Updated:** Jan 3, 2026 (TP1 fixed to 1.45%)
### Adaptive Leverage System
- **Status:** ❌ DISABLED (Jan 2, 2026) - Using fixed leverage (SOL 10x, ETH 5x)
- **Status:** ❌ DISABLED (Jan 2, 2026) - Using fixed leverage (SOL 5x, ETH 5x)
- **Configuration:**
* `USE_ADAPTIVE_LEVERAGE=false`
* `LEVERAGE=10` (global default)
* `SOLANA_LEVERAGE=10`
* `LEVERAGE=5` (global default)
* `BASE_LEVERAGE=5`
* `STACK_LEVERAGE=5`
* `MAX_LEVERAGE_TOTAL=10`
* `SOLANA_LEVERAGE=5`
* `ETHEREUM_LEVERAGE=5`
* `HIGH_QUALITY_LEVERAGE=10`
* `LOW_QUALITY_LEVERAGE=10`
- **Rationale:** 10x leverage justified by 82% WR, 2.18 PF, 6.19% max DD (Jan 2, 2026 analysis)
- **Previous Config:** Was 5x fixed (Dec 26, 2025)
- **Last Updated:** Jan 2, 2026
* `HIGH_QUALITY_LEVERAGE=5`
* `LOW_QUALITY_LEVERAGE=5`
- **Rationale:** Reduced from 10x to 5x (Jan 30, 2026) for risk reduction
- **Previous Config:** Was 10x fixed (Jan 2 - Jan 30, 2026), 5x fixed before that (Dec 26, 2025)
- **Last Updated:** Jan 30, 2026
### Projection Page & Analytics Stats (Jan 13, 2026 - UPDATED)
- **Purpose:** 12-month financial projection dashboard showing actual vs planned progress
@@ -200,7 +203,7 @@ docker logs trading-bot-v4 | grep "Server starting" | head -1
| "I want to..." | Existing Feature | Search Term |
|----------------|------------------|-------------|
| Re-enter after stop-out | **Stop Hunt Revenge System** - Auto re-enters quality 85+ signals after price reverses through original entry | `grep -i "stop hunt revenge"` |
| Scale position by quality | **Adaptive Leverage System** - 10x for quality 95+, 5x for borderline signals | `grep -i "adaptive leverage"` |
| Scale position by quality | **Adaptive Leverage System** - Currently disabled, fixed 5x leverage (Jan 30, 2026) | `grep -i "adaptive leverage"` |
| Test different timeframes | **Multi-Timeframe Data Collection** - Parallel data collection for 5min/15min/1H/4H/Daily | `grep -i "multi-timeframe"` |
| Monitor blocked signals | **BlockedSignal Tracker** - Tracks quality-blocked signals with price analysis | `grep -i "blockedsignal"` |
| Survive server failures | **HA Failover** - Secondary server with auto DNS failover (90s detection) | `grep -i "high availability"` |
@@ -1049,7 +1052,7 @@ When you have high-resolution data (1 minute), use it immediately. Arbitrary del
- **Trading P&L:** -$6 (early v6/v7 testing before v8 optimization)
- **Target:** $2,500 by end of Phase 1 (Month 2.5) - 4.6x growth from current
- **Strategy:** Aggressive compounding, 0 withdrawals, data-driven optimization
- **Position Sizing:** 100% of free collateral (~$540 at 15x leverage = ~$8,100 notional)
- **Position Sizing:** 100% of free collateral (~$540 at 5x leverage = ~$2,700 notional)
- **Risk Tolerance:** HIGH - Proof-of-concept mode with increased capital cushion
- **Win Target:** 15-20% monthly returns to reach $2,500 (more achievable with larger base)
- **Trades Executed:** 170+ (as of Nov 19, 2025)
@@ -1139,8 +1142,8 @@ When you have high-resolution data (1 minute), use it immediately. Arbitrary del
- **Implementation:** Nov 24, 2025 (commit 9d7932f)
**Per-Symbol Configuration:** SOL and ETH have independent enable/disable toggles and position sizing:
- `SOLANA_ENABLED`, `SOLANA_POSITION_SIZE`, `SOLANA_LEVERAGE` (defaults: true, 100%, 15x)
- `ETHEREUM_ENABLED`, `ETHEREUM_POSITION_SIZE`, `ETHEREUM_LEVERAGE` (defaults: true, 100%, 1x)
- `SOLANA_ENABLED`, `SOLANA_POSITION_SIZE`, `SOLANA_LEVERAGE` (defaults: true, 100%, 5x)
- `ETHEREUM_ENABLED`, `ETHEREUM_POSITION_SIZE`, `ETHEREUM_LEVERAGE` (defaults: true, 100%, 5x)
- BTC and other symbols fall back to global settings (`MAX_POSITION_SIZE_USD`, `LEVERAGE`)
- **Priority:** Per-symbol ENV → Market config → Global ENV → Defaults
@@ -1160,12 +1163,10 @@ Frequency penalties (overtrading / flip-flop / alternating) now ignore 1-minute
**Adaptive Leverage System (Nov 24, 2025 - RISK-ADJUSTED POSITION SIZING):**
- **Purpose:** Automatically adjust leverage based on signal quality score - high confidence gets full leverage, borderline signals get reduced risk exposure
- **Quality-Based Leverage Tiers:**
- **Quality 95-100:** 15x leverage ($540 × 15x = $8,100 notional position)
- **Quality 90-94:** 10x leverage ($540 × 10x = $5,400 notional position)
- **Currently disabled** - fixed 5x leverage for all signals (Jan 30, 2026)
- **Previous tiers (historical):** Quality 95-100: 15x, Quality 90-94: 10x
- **Quality <90:** Blocked by direction-specific thresholds
- **Risk Impact:** Quality 90-94 signals save $2,700 exposure (33% risk reduction) vs fixed 15x
- **Data-Driven Justification:** v8 indicator quality 95+ = 100% WR (4/4 wins), quality 90-94 more volatile
- **Configuration:** `USE_ADAPTIVE_LEVERAGE=true`, `HIGH_QUALITY_LEVERAGE=15`, `LOW_QUALITY_LEVERAGE=10`, `QUALITY_LEVERAGE_THRESHOLD=95` in .env
- **Configuration:** `USE_ADAPTIVE_LEVERAGE=false`, `LEVERAGE=5`, `HIGH_QUALITY_LEVERAGE=5`, `LOW_QUALITY_LEVERAGE=5` in .env
- **Implementation:** Quality score calculated EARLY in execute endpoint (before position sizing), passed to `getActualPositionSizeForSymbol(qualityScore)`, leverage determined via `getLeverageForQualityScore()` helper
- **Log Message:** `📊 Adaptive leverage: Quality X → Yx leverage (threshold: 95)`
- **Trade-off:** ~$21 less profit on borderline wins, but ~$21 less loss on borderline stops = better risk-adjusted returns
@@ -2946,8 +2947,8 @@ MIN_TP1_PERCENT=0.5 # Don't go below 0.5% for TP1
MAX_TP1_PERCENT=1.5 # Don't go above 1.5% for TP1
MIN_TP2_PERCENT=1.0 # Don't go below 1.0% for TP2
MAX_TP2_PERCENT=3.0 # Don't go above 3.0% for TP2
MIN_SL_PERCENT=1.3 # Fixed SL (Jan 16, 2026 - optimized for 10x leverage)
MAX_SL_PERCENT=1.3 # Fixed SL (Jan 16, 2026 - optimized for 10x leverage)
MIN_SL_PERCENT=1.3 # Fixed SL (Jan 16, 2026 - may need adjustment for 5x leverage)
MAX_SL_PERCENT=1.3 # Fixed SL (Jan 16, 2026 - may need adjustment for 5x leverage)
# Legacy fallback (used when ATR unavailable)
STOP_LOSS_PERCENT=-1.3
@@ -3036,7 +3037,7 @@ const driftSymbol = normalizeTradingViewSymbol(body.symbol)
**Adaptive Leverage Configuration:**
- **Helper function:** `getLeverageForQualityScore(qualityScore, config)` returns leverage tier based on quality
- **Quality threshold:** Configured via `QUALITY_LEVERAGE_THRESHOLD` (default: 95)
- **Leverage tiers:** HIGH_QUALITY_LEVERAGE (default: 15x), LOW_QUALITY_LEVERAGE (default: 10x)
- **Leverage tiers:** HIGH_QUALITY_LEVERAGE (current: 5x), LOW_QUALITY_LEVERAGE (current: 5x)
- **Integration:** Pass `qualityScore` parameter to `getActualPositionSizeForSymbol(symbol, config, qualityScore?)`
- **Flow:** Quality score → getLeverageForQualityScore() → returns 15x or 10x → applied to position sizing
- **Logging:** System logs adaptive leverage decisions for monitoring and validation
@@ -3044,7 +3045,7 @@ const driftSymbol = normalizeTradingViewSymbol(body.symbol)
// Example usage in execute endpoint
const qualityResult = scoreSignalQuality({ atr, adx, rsi, volumeRatio, pricePosition, timeframe })
const { size, leverage } = getActualPositionSizeForSymbol(driftSymbol, config, qualityResult.score)
// leverage is now 15x for quality ≥95, or 10x for quality 90-94
// leverage is currently fixed 5x (adaptive disabled since Jan 2, 2026)
```
## API Endpoints Architecture
@@ -6115,9 +6116,9 @@ model Trade {
```
**Core Logic Flow:**
1. **First signal** → Open position with 10x leverage (`pyramidLevel: 1`)
1. **First signal** → Open position with 5x leverage (`pyramidLevel: 1`)
2. **Second signal within 4 hours** → Check same direction + within window + under max levels
3. **If valid** → Add 7x position (`pyramidLevel: 2`, `parentTradeId` = base trade ID)
3. **If valid** → Add 5x position (`pyramidLevel: 2`, `parentTradeId` = base trade ID)
4. **Position Manager** tracks pyramid group via `pyramidGroups` Map
5. **Exit** → Close ALL pyramid levels together via `closeAllPyramidLevels()` (unified exit)
@@ -6432,7 +6433,7 @@ const tracker = new StopHuntTracker() // ❌ Don't do this
- **CURRENT Configuration (Dec 1, 2025):**
```bash
USE_ADAPTIVE_LEVERAGE=true
HIGH_QUALITY_LEVERAGE=10 # 10x for high-quality signals
HIGH_QUALITY_LEVERAGE=5 # 5x for high-quality signals (reduced Jan 30, 2026)
LOW_QUALITY_LEVERAGE=5 # 5x for borderline signals
QUALITY_LEVERAGE_THRESHOLD_LONG=95 # LONG quality threshold (configurable via UI)
QUALITY_LEVERAGE_THRESHOLD_SHORT=90 # SHORT quality threshold (configurable via UI)