feat: Indicator score bypass - v11.2 sends SCORE:100 to bypass bot quality scoring

Changes:
- moneyline_v11_2_indicator.pinescript: Alert format now includes SCORE:100
- parse_signal_enhanced.json: Added indicatorScore parsing (SCORE:X regex)
- execute/route.ts: Added hasIndicatorScore bypass (score >= 90 bypasses quality check)
- Money_Machine.json: Both Execute Trade nodes now pass indicatorScore to API

Rationale: v11.2 indicator filters already optimized (2.544 PF, +51.80% return).
Bot-side quality scoring was blocking proven profitable signals (e.g., quality 75).
Now indicator passes SCORE:100, bot respects it and executes immediately.

This completes the signal chain:
Indicator (SCORE:100) → n8n parser (indicatorScore) → workflow → bot endpoint (bypass)
This commit is contained in:
mindesbunister
2025-12-26 11:40:12 +01:00
parent 91f8abed19
commit ba1fe4433e
19 changed files with 22913 additions and 59 deletions

View File

@@ -120,7 +120,7 @@ export interface MarketConfig {
export const DEFAULT_TRADING_CONFIG: TradingConfig = {
// Position sizing (global fallback)
positionSize: 50, // $50 base capital (SAFE FOR TESTING) OR percentage if usePercentageSize=true
leverage: 10, // 10x leverage = $500 position size (LEGACY - used when adaptive disabled)
leverage: 5, // 5x leverage = $250 position size (LEGACY - used when adaptive disabled)
usePercentageSize: false, // False = fixed USD, True = percentage of portfolio
enableSizeTraceLogging: false, // Disable verbose sizing logs by default
@@ -128,15 +128,15 @@ export const DEFAULT_TRADING_CONFIG: TradingConfig = {
// Data-driven: v8 quality 95+ = 100% WR (4/4 wins), quality 90-94 more volatile
useAdaptiveLeverage: process.env.USE_ADAPTIVE_LEVERAGE === 'true' ? true : process.env.USE_ADAPTIVE_LEVERAGE === 'false' ? false : true, // Default true
enableOrderbookLogging: process.env.ENABLE_ORDERBOOK_LOGGING === 'true' ? true : process.env.ENABLE_ORDERBOOK_LOGGING === 'false' ? false : true, // Phase 1 shadow logging - default true
highQualityLeverage: 15, // For signals >= 95 quality (high confidence)
lowQualityLeverage: 10, // For signals 90-94 quality (reduced risk)
highQualityLeverage: 5, // For signals >= 95 quality (high confidence)
lowQualityLeverage: 5, // For signals 90-94 quality (reduced risk)
qualityLeverageThreshold: 95, // Threshold for high vs low leverage
// Per-symbol settings
solana: {
enabled: true,
positionSize: 210, // $210 base capital OR percentage if usePercentageSize=true
leverage: 10, // 10x leverage = $2100 notional
leverage: 5, // 5x leverage = $1050 notional
usePercentageSize: false,
},
ethereum: {
@@ -148,13 +148,13 @@ export const DEFAULT_TRADING_CONFIG: TradingConfig = {
fartcoin: {
enabled: false, // DISABLED BY DEFAULT
positionSize: 20, // 20% of portfolio (for profit generation)
leverage: 10, // 10x leverage
leverage: 5, // 5x leverage
usePercentageSize: true, // PERCENTAGE-BASED (not fixed USD)
},
// Risk parameters (LEGACY FALLBACK - used when ATR unavailable)
stopLossPercent: -1.5, // Fallback: -1.5% if no ATR
takeProfit1Percent: 0.8, // Fallback: +0.8% if no ATR
stopLossPercent: -2.8, // Fallback: -2.8% if no ATR
takeProfit1Percent: 1.1, // Fallback: +1.1% if no ATR
takeProfit2Percent: 1.8, // Fallback: +1.8% if no ATR
emergencyStopPercent: -2.0, // Emergency hard stop (always active)
@@ -163,12 +163,12 @@ export const DEFAULT_TRADING_CONFIG: TradingConfig = {
atrMultiplierTp1: 2.0, // TP1 = ATR × 2.0 (Example: 0.45% ATR = 0.90% TP1)
atrMultiplierTp2: 4.0, // TP2 = ATR × 4.0 (Example: 0.45% ATR = 1.80% TP2)
atrMultiplierSl: 3.0, // SL = ATR × 3.0 (Example: 0.45% ATR = 1.35% SL)
minTp1Percent: 0.5, // Floor: Never below +0.5%
maxTp1Percent: 1.5, // Cap: Never above +1.5%
minTp1Percent: 1.1, // Floor: Never below +1.1%
maxTp1Percent: 1.1, // Cap: Fixed at +1.1%
minTp2Percent: 1.0, // Floor: Never below +1.0%
maxTp2Percent: 3.0, // Cap: Never above +3.0%
minSlPercent: 0.8, // Floor: Never tighter than -0.8%
maxSlPercent: 2.0, // Cap: Never wider than -2.0%
minSlPercent: 2.8, // Floor: Never tighter than -2.8%
maxSlPercent: 2.8, // Cap: Fixed at -2.8%
// Dual Stop System
useDualStops: false, // Disabled by default