Files
trading_bot_v3/live-component-test.js
mindesbunister 2a3a3e3afa feat: Always show stop buttons when positions exist to prevent automation triggers
Modified Stop Button Logic:
- Stop buttons now visible when positions exist (not just when automation active)
- Prevents automation from triggering when positions close
- Added helpful tooltips explaining button purpose in different states

 Enhanced Button Behavior:
- When automation active: 'STOP' button stops running automation
- When positions exist but automation inactive: 'DISABLE' button prevents triggers
- Emergency button always available for immediate safety

 Safety Scripts Added:
- immediate-stop.js: Quick script to disable automation before position close
- Verifies position status and ensures no automation triggers

 Position Safety: CONFIRMED
- Current position: SOL-PERP LONG .41 PnL
- Automation: DISABLED 
- Safe to close position manually without triggering new automation

Critical for position management - stops automation from auto-triggering on position close.
2025-07-28 14:44:27 +02:00

84 lines
3.6 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
/**
* Live Component Data Test - Check what the frontend component is actually receiving
*/
const baseUrl = 'http://localhost:9001';
async function testComponentData() {
console.log('🔍 Testing what the EnhancedAILearningPanel component receives...\n');
try {
// Test the three API endpoints the component calls
console.log('1⃣ Testing /api/automation/learning-status:');
const learningResponse = await fetch(`${baseUrl}/api/automation/learning-status`);
const learningData = await learningResponse.json();
console.log(` - Success: ${learningData.success}`);
console.log(` - Learning Enabled: ${learningData.learningSystem?.enabled}`);
console.log(` - Message: ${learningData.learningSystem?.message}`);
console.log('\n2⃣ Testing /api/automation/status:');
const statusResponse = await fetch(`${baseUrl}/api/automation/status`);
const statusData = await statusResponse.json();
console.log(` - Is Active: ${statusData.isActive}`);
console.log(` - Mode: ${statusData.mode}`);
console.log(` - Symbol: ${statusData.symbol}`);
console.log('\n3⃣ Testing /api/ai-learning-status:');
const aiLearningResponse = await fetch(`${baseUrl}/api/ai-learning-status`);
const aiLearningData = await aiLearningResponse.json();
console.log(` - Success: ${aiLearningData.success}`);
console.log(` - Total Analyses: ${aiLearningData.data?.totalAnalyses}`);
console.log(` - Phase: ${aiLearningData.data?.phase}`);
console.log(` - Statistics Object:`, JSON.stringify(aiLearningData.data?.statistics, null, 2));
// Check what the component logic would do
console.log('\n🧠 Component Logic Analysis:');
const aiData = aiLearningData.success ? aiLearningData.data : {
totalAnalyses: 0,
totalDecisions: 0,
// ... fallback data
};
console.log(` - Component would use: ${aiLearningData.success ? 'REAL API DATA' : 'FALLBACK DATA'}`);
console.log(` - Total Analyses: ${aiData.totalAnalyses}`);
console.log(` - Has Learning Data: ${(aiData.totalAnalyses || 0) > 0}`);
console.log(` - Should Show Active: ${(aiData.totalAnalyses || 0) > 0 || (aiData.totalDecisions || 0) > 0}`);
// Check browser cache issues
console.log('\n🌐 Browser Cache Check:');
const headers = {
'Cache-Control': 'no-cache',
'Pragma': 'no-cache'
};
const pageResponse = await fetch(`${baseUrl}/automation-v2`, { headers });
console.log(` - Page loads: ${pageResponse.ok ? 'YES' : 'NO'}`);
console.log(` - Content-Type: ${pageResponse.headers.get('content-type')}`);
// Check if it's a Next.js page
const pageText = await pageResponse.text();
const hasLearningComponent = pageText.includes('AI Learning System');
const hasReactHydration = pageText.includes('__NEXT_DATA__');
console.log(` - Has AI Learning Component: ${hasLearningComponent ? 'YES' : 'NO'}`);
console.log(` - Has React Hydration: ${hasReactHydration ? 'YES' : 'NO'}`);
console.log('\n🎯 Diagnosis:');
if (!statusData.isActive) {
console.log(' ⚠️ STOP BUTTON: Hidden because automation is not active');
console.log(' 💡 To see stop button: Start automation first');
}
if (aiLearningData.success && aiData.totalAnalyses > 9000) {
console.log(' ✅ AI DATA: Component should show real learning data');
console.log(' 💡 If still showing old data: Clear browser cache (Ctrl+F5)');
}
} catch (error) {
console.error('❌ Test failed:', error.message);
}
}
testComponentData().catch(console.error);