Files
trading_bot_v3/demo-learning-enhanced-ai.js
mindesbunister 2dd7cb2d66 🧠 LEARNING-ENHANCED AI: Historical Performance Integration
Core Implementation:
- Enhanced AI Analysis Service: Uses historical learning data in OpenAI prompts
- Learning Context Retrieval: Queries database for symbol/timeframe specific performance
- Pattern Matching: Adjusts confidence based on successful vs failed historical setups
- Database Integration: Automatic storage of analysis for continuous learning
- Smart Confidence Calibration: AI knows when it's accurate vs uncertain

- lib/ai-analysis.ts: Complete learning integration with getLearningContext()
- lib/db.ts: Optimized Prisma client for database operations
- Enhanced AnalysisResult: Added learningApplication field for pattern insights
- Symbol/Timeframe Optimization: AI learns specific market behavior patterns
- Automatic Learning Storage: Every analysis builds future intelligence

1. AI retrieves last 30 analyses for specific symbol/timeframe
2. Calculates historical accuracy and identifies successful patterns
3. Compares current setup to historical successes/failures
4. Adjusts confidence and reasoning based on learned patterns
5. Stores new analysis for continuous improvement

efits:
- AI references: 'This matches my 85% success pattern from...'
- Pattern avoidance: 'Reducing confidence due to similarity to failed trade...'
- Smart calibration: 'Historical data shows 90% accuracy with this confluence...'
- Self-improving: Gets better with every analysis for YOUR trading style

 695 existing learning records ready to enhance decisions
 Automation service updated to pass symbol/timeframe to AI
 Complete learning workflow: Analyze → Store → Learn → Improve
 Symbol-specific optimization (SOL vs ETH vs BTC patterns)
 Timeframe-specific learning (1h vs 4h vs 1D strategies)

Your AI now learns from its own trading history! 🧠
2025-07-25 13:12:17 +02:00

267 lines
8.8 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env node
/**
* Learning-Enhanced AI Analysis Demonstration
*
* Shows how the AI uses historical performance data to make better decisions
*/
// Note: Using require directly for demo - in production this would be properly imported
const { PrismaClient } = require('@prisma/client');
async function demonstrateLearningEnhancedAI() {
console.log('🧠 LEARNING-ENHANCED AI ANALYSIS DEMONSTRATION');
console.log('='.repeat(80));
console.log(`
🔬 How Your AI Now Uses Learning Data:
BEFORE (Standard AI):
❌ No memory of past performance
❌ Fixed confidence levels
❌ No pattern recognition from history
❌ Repeats same mistakes
AFTER (Learning-Enhanced AI):
✅ Remembers successful vs failed predictions
✅ Adjusts confidence based on historical accuracy
✅ Recognizes patterns that worked before
✅ Avoids setups that previously failed
✅ Gets smarter with every analysis
`);
console.log('\n🎬 SIMULATED LEARNING WORKFLOW:\n');
// Simulate the learning process
const scenarios = [
{
phase: 'INITIAL ANALYSIS (No Learning Data)',
symbol: 'SOL-PERP',
timeframe: '1h',
description: 'First time analyzing this symbol/timeframe',
expectedBehavior: 'Standard technical analysis, no historical context'
},
{
phase: 'LEARNING PHASE (Building Data)',
symbol: 'SOL-PERP',
timeframe: '1h',
description: 'After 10 analyses with outcomes recorded',
expectedBehavior: 'AI starts recognizing patterns, adjusting confidence'
},
{
phase: 'EXPERT PHASE (Rich Learning Data)',
symbol: 'SOL-PERP',
timeframe: '1h',
description: 'After 50+ analyses with clear success/failure patterns',
expectedBehavior: 'AI confidently avoids bad setups, favors proven patterns'
}
];
for (const scenario of scenarios) {
console.log(`📊 ${scenario.phase}:`);
console.log(` Symbol: ${scenario.symbol}`);
console.log(` Timeframe: ${scenario.timeframe}`);
console.log(` Context: ${scenario.description}`);
console.log(` Expected: ${scenario.expectedBehavior}`);
console.log('');
}
console.log('🔍 LEARNING CONTEXT EXAMPLES:\n');
// Show what learning context looks like
const learningExamples = [
{
scenario: 'High Success Rate (85%)',
context: `**AI LEARNING CONTEXT for SOL-PERP 1h:**
- Historical Accuracy: 85% (17/20 successful predictions)
- Optimal Confidence Range: 78% (successful predictions average)
**SUCCESSFUL PATTERNS:**
1. ✅ Confidence: 82% | Sentiment: BULLISH | Accuracy: 92%
Setup: RSI oversold + MACD bullish crossover + EMA stack bullish
2. ✅ Confidence: 75% | Sentiment: BEARISH | Accuracy: 88%
Setup: RSI overbought + Volume divergence + Support break
**LEARNED OPTIMIZATION:**
- Favor bullish setups with 75%+ confidence
- Avoid bearish calls below 70% confidence
- RSI + MACD confluence has 90% success rate`,
impact: 'AI will be MORE confident in similar bullish setups, LESS confident in weak bearish signals'
},
{
scenario: 'Mixed Performance (60%)',
context: `**AI LEARNING CONTEXT for ETH-PERP 4h:**
- Historical Accuracy: 60% (12/20 successful predictions)
- Warning: Below optimal performance threshold
**FAILURE PATTERNS:**
1. ❌ Confidence: 85% | Sentiment: BULLISH | Accuracy: 25%
Failed Setup: High confidence bull call during range-bound market
2. ❌ Confidence: 90% | Sentiment: BEARISH | Accuracy: 15%
Failed Setup: Aggressive short during strong uptrend
**LEARNED RULES:**
- Reduce confidence by 15% in range-bound markets
- Avoid high-confidence calls during unclear trends`,
impact: 'AI will be MORE cautious, LOWER confidence in uncertain conditions'
}
];
learningExamples.forEach((example, index) => {
console.log(`Example ${index + 1}: ${example.scenario}`);
console.log('');
console.log(example.context);
console.log('');
console.log(`🎯 Impact: ${example.impact}`);
console.log('');
console.log('-'.repeat(60));
console.log('');
});
console.log('🤖 AI DECISION ENHANCEMENT PROCESS:\n');
console.log(`
STEP 1: 📸 Screenshot Analysis
Standard technical analysis of chart indicators
STEP 2: 🔍 Learning Context Retrieval
Query database for historical performance on this symbol/timeframe
- Get last 30 analyses with known outcomes
- Calculate success rate and confidence patterns
- Identify successful vs failed setups
STEP 3: 🧠 Pattern Matching
Compare current setup to historical data:
- Does this match a successful pattern? → INCREASE confidence
- Does this resemble a failed setup? → DECREASE confidence
- Is this a new scenario? → Use standard confidence
STEP 4: ✨ Enhanced Analysis
Generate analysis with learning-enhanced reasoning:
- "This bullish setup matches my 92% success pattern from March 15..."
- "Reducing confidence due to similarity to failed trade on April 2..."
- "Historical data shows 85% accuracy with this indicator confluence..."
STEP 5: 💾 Store for Future Learning
Record this analysis in database:
- Setup details, confidence, reasoning
- Market conditions, indicators used
- Later: Outcome will be added for continuous learning
`);
console.log('\n📈 CONTINUOUS IMPROVEMENT CYCLE:\n');
console.log(`
🔄 LEARNING LOOP:
Analysis → Store → Outcome → Learn → Better Analysis
1. 📊 AI analyzes chart with current knowledge
2. 💾 Analysis stored with confidence & reasoning
3. ⏰ Time passes, trade outcome becomes known
4. 📝 Outcome recorded (WIN/LOSS/accuracy score)
5. 🧠 Next analysis uses this outcome as learning data
6. 🎯 AI gets progressively better at this symbol/timeframe
RESULT: Self-improving AI that learns from every single prediction!
`);
console.log('\n🏗 INTEGRATION WITH YOUR TRADING SYSTEM:\n');
console.log(`
🎯 ENHANCED AUTOMATION WORKFLOW:
OLD: Screenshot → AI Analysis → Trade Decision
NEW: Screenshot → AI Analysis + Learning Context → Smarter Trade Decision
🔧 Technical Implementation:
✅ Enhanced lib/ai-analysis.ts with learning integration
✅ Database queries for historical performance
✅ Pattern matching and confidence adjustment
✅ Learning data storage for continuous improvement
✅ Symbol/timeframe specific optimization
🎮 How to Use:
1. Your automation calls: aiAnalysisService.analyzeScreenshot(screenshot, 'SOL-PERP', '1h')
2. AI automatically gets learning context for SOL-PERP 1h
3. Analysis enhanced with historical patterns
4. Decision confidence adjusted based on past performance
5. New analysis stored for future learning
🏖️ Beach Mode Benefits:
- AI learns your trading style and market conditions
- Avoids repeating historical mistakes
- Favors setups that have actually worked
- Gets better the longer it runs!
`);
console.log('\n🚀 NEXT STEPS TO ACTIVATE:\n');
console.log(`
TO ENABLE LEARNING-ENHANCED AI:
1. ✅ DONE: Enhanced AI analysis service with learning
2. 🔄 UPDATE: Your automation calls to pass symbol & timeframe
3. 📊 ENJOY: AI that gets smarter with every trade!
Example Update in Your Automation:
// OLD
const analysis = await aiAnalysisService.analyzeScreenshot('screenshot.png')
// NEW
const analysis = await aiAnalysisService.analyzeScreenshot('screenshot.png', 'SOL-PERP', '1h')
That's it! Your AI now uses learning data automatically! 🧠✨
`);
try {
console.log('\n🔍 DATABASE CHECK:\n');
const prisma = new PrismaClient();
// Check if we have any learning data
const learningCount = await prisma.aILearningData.count();
const recentAnalyses = await prisma.aILearningData.findMany({
take: 5,
orderBy: { createdAt: 'desc' },
select: {
symbol: true,
timeframe: true,
confidenceScore: true,
outcome: true,
createdAt: true
}
});
console.log(`📊 Current Learning Database Status:`);
console.log(` Total AI Learning Records: ${learningCount}`);
if (recentAnalyses.length > 0) {
console.log(`\n🕐 Recent Analyses:`);
recentAnalyses.forEach((analysis, i) => {
console.log(` ${i + 1}. ${analysis.symbol} ${analysis.timeframe} - Confidence: ${analysis.confidenceScore}% - Outcome: ${analysis.outcome || 'Pending'}`);
});
} else {
console.log(` No analyses yet - Learning will begin with first enhanced analysis!`);
}
await prisma.$disconnect();
} catch (dbError) {
console.log(`⚠️ Database check failed: ${dbError.message}`);
console.log(` Learning will work once database is accessible`);
}
console.log('\n✨ YOUR AI IS NOW LEARNING-ENHANCED! ✨');
console.log('\nEvery analysis it performs will make it smarter for the next one! 🧠🚀');
}
// Run the demonstration
if (require.main === module) {
demonstrateLearningEnhancedAI().catch(console.error);
}
module.exports = { demonstrateLearningEnhancedAI };