Files
trading_bot_v3/check-automation.js
mindesbunister 532c5c888e feat: implement 24/7 server-side automation with AI learning integration
Core Features:
- True 24/7 automation runs without browser dependency
- Server-side process in Docker container
- Auto-executes paper trades with ≥60% confidence
- Integrates with existing AI learning system
- Safe paper trading mode only (zero real money risk)

- working-24x7.js: Main automation process (currently running)
- check-automation.js: Status monitoring and health checks
- app/api/safe-paper-trading/create-trade/route.js: Paper trade API
- app/api/automation-24x7/route.js: Automation control API

- Fixed continuous learning state persistence issues
- Added force enable function for debugging: window.forceEnableLearning()
- Enhanced state restoration logic with immediate and delayed checks
- Auto-execute toggle now properly unlocks when continuous learning active

- System running successfully (PID: 3922502)
- Already executed first automated paper trade (80% confidence SELL)
- Scheduled to run every 60 minutes automatically
- Logs all activity for monitoring and debugging

ical Implementation:
- Uses curl for HTTP requests (no fetch dependencies)
- Background process with proper signal handling
- Comprehensive error handling and logging
- Integration with existing analysis pipeline
- Maintains compatibility with browser-based safe paper trading

This completes the 24/7 automation requirement - system now runs continuously
in Docker container without requiring browser tabs to remain open.
2025-08-05 23:41:29 +02:00

91 lines
3.0 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
// Quick automation status checker
const { exec } = require('child_process');
const { promisify } = require('util');
const execAsync = promisify(exec);
async function checkStatus() {
console.log('🤖 24/7 AUTOMATION STATUS CHECK\n');
try {
// Check if process is running
const { stdout } = await execAsync('ps aux | grep "working-24x7" | grep -v grep');
if (stdout.trim()) {
console.log('✅ AUTOMATION STATUS: RUNNING');
console.log(`📊 Process: ${stdout.trim().split(/\s+/).slice(0, 11).join(' ')}`);
} else {
console.log('❌ AUTOMATION STATUS: NOT RUNNING');
return;
}
} catch (error) {
console.log('❌ AUTOMATION STATUS: NOT RUNNING');
return;
}
try {
// Check recent logs
const { stdout: logs } = await execAsync('tail -5 nohup.out');
console.log('\n📝 RECENT LOGS:');
console.log(logs);
} catch (error) {
console.log('\n⚠ No logs available');
}
try {
// Check current analysis
const { stdout } = await execAsync('curl -s "http://localhost:9001/api/ai-analysis/latest?symbol=SOLUSD&timeframe=60"');
const data = JSON.parse(stdout);
if (data.success && data.data && data.data.analysis) {
const analysis = data.data.analysis;
console.log('\n📊 CURRENT ANALYSIS:');
console.log(` Signal: ${analysis.recommendation}`);
console.log(` Confidence: ${analysis.confidence}%`);
console.log(` Entry: $${analysis.entry}`);
console.log(` Status: ${analysis.confidence >= 60 ? '🎯 WILL AUTO-EXECUTE' : '⏸️ Below threshold'}`);
} else {
console.log('\n❌ No analysis data available');
}
} catch (error) {
console.log('\n❌ Analysis check failed:', error.message);
}
try {
// Check recent paper trades
const { stdout } = await execAsync('curl -s "http://localhost:9001/api/safe-paper-trading/create-trade"');
const data = JSON.parse(stdout);
if (data.success && data.trades) {
console.log('\n📄 PAPER TRADES:');
console.log(` Total: ${data.summary.total}`);
console.log(` Open: ${data.summary.open}`);
console.log(` Closed: ${data.summary.closed}`);
console.log(` P&L: $${data.summary.totalPnL}`);
// Show recent trades
const recentTrades = data.trades.slice(-3);
if (recentTrades.length > 0) {
console.log('\n📈 RECENT TRADES:');
recentTrades.forEach(trade => {
console.log(` ${trade.id}: ${trade.side} ${trade.symbol} @ $${trade.entry} (${trade.confidence}%)`);
});
}
}
} catch (error) {
console.log('\n⚠ Could not check paper trades');
}
console.log('\n🎯 AUTOMATION CONFIGURATION:');
console.log(' Symbol: SOLUSD');
console.log(' Timeframe: 1 hour');
console.log(' Interval: Every 60 minutes');
console.log(' Auto-execute: ≥60% confidence');
console.log(' Mode: Safe paper trading only');
console.log('\n✨ System is running 24/7 in your Docker container!');
}
checkStatus();