Files
trading_bot_v3/test-position-analysis.js
mindesbunister 6b5b955589 feat: add retroactive position analysis functionality
New Features:
- 🔍 ANALYZE button to generate AI reasoning for existing positions
- Retroactive AI analysis API endpoint for positions opened outside automation
- Enhanced reasoning display with RETROACTIVE indicator
- Smart position analysis that handles missing stop loss data

- /api/automation/analyze-position endpoint for retroactive analysis
- analyzeExistingPosition() function in automation-v2 UI
- Automatic estimation of stop loss when not visible in position data
- Enhanced AI reasoning panel with retroactive analysis support

- Analyzes entry strategy, risk management, and leverage calculations
- Generates detailed AI reasoning for existing positions
- Shows estimated vs actual stop loss levels
- Calculates risk/reward ratios and leverage estimates
- Displays position status (profitable/underwater) with safety metrics

- RETROACTIVE badge for analyzed existing positions
- Blue 🔍 ANALYZE button in automation controls
- Enhanced reasoning display with position-specific insights
- Comprehensive execution details with estimated vs actual data

Now users can see AI reasoning for any existing position, not just new automation trades!
2025-07-27 08:59:50 +02:00

59 lines
2.5 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.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Test the position analysis functionality
async function testPositionAnalysis() {
console.log('🔍 Testing Position Analysis Functionality...\n');
try {
// Get current position data
console.log('📊 Fetching current position...');
const positionResponse = await fetch('http://localhost:9001/api/automation/position-monitor');
const positionData = await positionResponse.json();
if (positionData.success && positionData.monitor.hasPosition) {
console.log('✅ Position found:', positionData.monitor.position);
// Analyze the position
console.log('\n🧠 Generating AI analysis...');
const analysisResponse = await fetch('http://localhost:9001/api/automation/analyze-position', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
action: 'analyze_existing_position',
positionData: positionData.monitor.position
})
});
const analysisData = await analysisResponse.json();
if (analysisData.success) {
console.log('\n🎯 AI Analysis Generated:');
console.log(`Recommendation: ${analysisData.decision.recommendation}`);
console.log(`Confidence: ${analysisData.decision.confidence}%`);
console.log(`Retroactive: ${analysisData.decision.isRetrospective}`);
console.log('\n📝 Reasoning Preview:');
console.log(analysisData.decision.reasoning.substring(0, 200) + '...');
console.log('\n💰 Execution Details:');
console.log(`Side: ${analysisData.decision.executionDetails.side}`);
console.log(`Amount: $${analysisData.decision.executionDetails.amount}`);
console.log(`Leverage: ${analysisData.decision.executionDetails.leverage}x`);
console.log(`Entry: $${analysisData.decision.executionDetails.currentPrice}`);
console.log(`Stop Loss: $${analysisData.decision.executionDetails.stopLoss}`);
console.log(`Take Profit: $${analysisData.decision.executionDetails.takeProfit.toFixed(2)}`);
console.log('\n✅ Position analysis test completed successfully!');
console.log('📱 Now you can use the "🔍 ANALYZE" button in the UI to see this analysis.');
} else {
console.error('❌ Analysis failed:', analysisData.error);
}
} else {
console.log(' No position found to analyze');
}
} catch (error) {
console.error('❌ Test error:', error.message);
}
}
testPositionAnalysis().catch(console.error);