Fix: Implement stable risk monitor with curl to resolve fetch compatibility issues

- Create lib/stable-risk-monitor.js using curl instead of fetch for Node.js compatibility
- Fix autonomous risk manager fetch errors that were causing beach mode failures
- Update simple-automation.js to use stable risk monitor with proper cleanup
- Ensure all monitoring processes are properly terminated on automation stop
- Maintain 4-tier autonomous AI risk management system (Emergency/High/Medium/Safe)
- Preserve beautiful dark theme position monitor and emergency stop controls
- System now fully operational for autonomous beach mode trading 🏖️
This commit is contained in:
mindesbunister
2025-07-25 12:14:14 +02:00
parent c687562ecf
commit 2faf3148d8
4 changed files with 213 additions and 25 deletions

View File

@@ -11,13 +11,13 @@ async function importAILeverageCalculator() {
}
}
// Import Autonomous Risk Manager for beach mode operation
async function importAutonomousRiskManager() {
// Import Stable Risk Monitor for reliable beach mode operation
async function importStableRiskMonitor() {
try {
const AutonomousRiskManager = require('./autonomous-risk-manager.js');
return AutonomousRiskManager;
const StableRiskMonitor = require('./stable-risk-monitor.js');
return StableRiskMonitor;
} catch (error) {
console.warn('⚠️ Autonomous Risk Manager not available, using manual monitoring');
console.warn('⚠️ Stable Risk Monitor not available, using basic monitoring');
return null;
}
}
@@ -59,13 +59,22 @@ class SimpleAutomation {
console.log('🎯 LIVE TRADING:', this.config.enableTrading ? 'ENABLED' : 'DISABLED');
this.stats.totalCycles = 0;
// Initialize Autonomous Risk Manager for beach mode operation
const RiskManagerClass = await importAutonomousRiskManager();
if (RiskManagerClass) {
this.riskManager = new RiskManagerClass();
console.log('🏖️ BEACH MODE READY: Autonomous risk management activated');
// Start beach mode for fully autonomous operation
this.riskManager.beachMode();
// Initialize Stable Risk Monitor for reliable beach mode operation
try {
const StableMonitorClass = await importStableRiskMonitor();
if (StableMonitorClass) {
this.riskManager = new StableMonitorClass();
console.log('🏖️ BEACH MODE READY: Stable autonomous monitoring activated');
// Start stable monitoring
setTimeout(() => {
if (this.riskManager) {
this.riskManager.startMonitoring();
}
}, 3000); // Wait 3 seconds for system stabilization
}
} catch (error) {
console.warn('⚠️ Risk Monitor initialization failed:', error.message);
console.log('🔄 Continuing without autonomous risk monitoring');
}
// Auto-enable trading when in LIVE mode
@@ -128,6 +137,12 @@ class SimpleAutomation {
this.intervalId = null;
}
// Stop risk monitor if running
if (this.riskManager && this.riskManager.stop) {
this.riskManager.stop();
console.log('🏖️ Beach mode monitoring stopped');
}
console.log('SIMPLE AUTOMATION: Stopped');
return { success: true, message: 'Automation stopped successfully' };