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 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);