diff --git a/TradingBot_V1.6_Adaptive_Complete_CORRECTED.ipynb b/TradingBot_V1.6_Adaptive_Complete_CORRECTED.ipynb index 8481cb0..731f27d 100644 --- a/TradingBot_V1.6_Adaptive_Complete_CORRECTED.ipynb +++ b/TradingBot_V1.6_Adaptive_Complete_CORRECTED.ipynb @@ -1159,47 +1159,47 @@ "metadata": {}, "outputs": [], "source": [ - "def calculate_position_size(self, symbol, stop_loss_pips, max_risk_per_trade=0.02):\n", - " \"\"\"\n", - " Berechnet die Positionsgröße basierend auf Risiko\n", - " \"\"\"\n", - " account_info = mt.account_info()\n", - " if not account_info:\n", - " print(f\"⚠️ Keine Account-Info verfügbar, verwende Minimum-Lot\")\n", - " return 0.01\n", - " \n", - " balance = account_info.balance\n", - " risk_amount = balance * max_risk_per_trade\n", - " \n", - " # Symbol-Info holen\n", - " symbol_info = mt.symbol_info(symbol)\n", - " if not symbol_info:\n", - " print(f\"⚠️ Keine Symbol-Info für {symbol}, verwende Minimum-Lot\")\n", - " return 0.01\n", - " \n", - " # Pip-Wert berechnen\n", - " point = symbol_info.point\n", - " tick_value = symbol_info.trade_tick_value\n", - " tick_size = symbol_info.trade_tick_size\n", - " \n", - " # Volume berechnen\n", - " pip_value = (tick_value / tick_size) * point\n", - " volume = risk_amount / (stop_loss_pips * pip_value)\n", - " \n", - " # Auf erlaubte Volumenschritte runden\n", - " volume_min = symbol_info.volume_min\n", - " volume_max = symbol_info.volume_max\n", - " volume_step = symbol_info.volume_step\n", - " \n", - " volume = round(volume / volume_step) * volume_step\n", - " volume = max(volume_min, min(volume_max, volume))\n", - " \n", - " print(f\"💰 Position Sizing für {symbol}:\")\n", - " print(f\" Balance: ${balance:.2f}\")\n", - " print(f\" Risiko: ${risk_amount:.2f} ({max_risk_per_trade*100}%)\")\n", - " print(f\" Stop Loss: {stop_loss_pips:.2f} Pips\")\n", - " print(f\" Berechnetes Volume: {volume:.2f} Lots\")\n", - " \n", + "def calculate_position_size(self, symbol, stop_loss_pips, max_risk_per_trade=0.02):", + " \"\"\"", + " Berechnet die Positionsgröße basierend auf Risiko", + " \"\"\"", + " account_info = mt.account_info()", + " if not account_info:", + " print(f\"⚠️ Keine Account-Info verfügbar, verwende Minimum-Lot\")", + " return 0.10", + " ", + " balance = account_info.balance", + " risk_amount = balance * max_risk_per_trade", + " ", + " # Symbol-Info holen", + " symbol_info = mt.symbol_info(symbol)", + " if not symbol_info:", + " print(f\"⚠️ Keine Symbol-Info für {symbol}, verwende Minimum-Lot\")", + " return 0.10", + " ", + " # Pip-Wert berechnen", + " point = symbol_info.point", + " tick_value = symbol_info.trade_tick_value", + " tick_size = symbol_info.trade_tick_size", + " ", + " # Volume berechnen", + " pip_value = (tick_value / tick_size) * point", + " volume = risk_amount / (stop_loss_pips * pip_value)", + " ", + " # Auf erlaubte Volumenschritte runden", + " volume_min = symbol_info.volume_min", + " volume_max = symbol_info.volume_max", + " volume_step = symbol_info.volume_step", + " ", + " volume = round(volume / volume_step) * volume_step", + " volume = max(volume_min, min(volume_max, volume))", + " ", + " print(f\"💰 Position Sizing für {symbol}:\")", + " print(f\" Balance: ${balance:.2f}\")", + " print(f\" Risiko: ${risk_amount:.2f} ({max_risk_per_trade*100}%)\")", + " print(f\" Stop Loss: {stop_loss_pips:.2f} Pips\")", + " print(f\" Berechnetes Volume: {volume:.2f} Lots\")", + " ", " return volume" ] }, @@ -2492,35 +2492,35 @@ } ], "source": [ - "# ✅ KORRIGIERT: Zentrale Konfiguration (fehlte in ursprünglicher V1.6)\n", - "ADAPTIVE_COMPLETE_CONFIG = {\n", - " 'symbol': symbol,\n", - " 'atr_mult': 1.5,\n", - " 'base_confidence': 60, # RELAXED\n", - " 'max_risk_per_trade': 0.01,\n", - " 'risk_filter': True,\n", - " 'min_atr': 0.0008, # RELAXED\n", - " 'use_pullback_entry': False, # DISABLED\n", - " 'max_positions': max_positions,\n", - " 'strategy_name': strategy_name,\n", - " 'debug': True\n", - "}\n", - "\n", - "print(\"⚙️ V1.6 Adaptive Complete Configuration:\")\n", - "print(\"\\n🛡️ Position Control:\")\n", - "print(f\" Max Positions: {ADAPTIVE_COMPLETE_CONFIG['max_positions']}\")\n", - "print(f\" Strategy: {ADAPTIVE_COMPLETE_CONFIG['strategy_name']}\")\n", - "\n", - "print(\"\\n🚀 Relaxed Parameters:\")\n", - "print(f\" Base Confidence: {ADAPTIVE_COMPLETE_CONFIG['base_confidence']}%\")\n", - "print(f\" Min ATR: {ADAPTIVE_COMPLETE_CONFIG['min_atr']}\")\n", - "print(f\" Pullback Entry: {ADAPTIVE_COMPLETE_CONFIG['use_pullback_entry']}\")\n", - "\n", - "print(\"\\n⚡ Adaptive Features:\")\n", - "print(f\" Dynamic Intervals: 5/15/30 min\")\n", - "print(f\" Session-aware: Yes\")\n", - "print(f\" Volatility-based: Yes\")\n", - "\n", + "# ✅ KORRIGIERT: Zentrale Konfiguration (fehlte in ursprünglicher V1.6)", + "ADAPTIVE_COMPLETE_CONFIG = {", + " 'symbol': symbol,", + " 'atr_mult': 1.5,", + " 'base_confidence': 60, # RELAXED", + " 'max_risk_per_trade': 0.02,", + " 'risk_filter': True,", + " 'min_atr': 0.0008, # RELAXED", + " 'use_pullback_entry': False, # DISABLED", + " 'max_positions': max_positions,", + " 'strategy_name': strategy_name,", + " 'debug': True", + "}", + "", + "print(\"⚙️ V1.6 Adaptive Complete Configuration:\")", + "print(\"\\n🛡️ Position Control:\")", + "print(f\" Max Positions: {ADAPTIVE_COMPLETE_CONFIG['max_positions']}\")", + "print(f\" Strategy: {ADAPTIVE_COMPLETE_CONFIG['strategy_name']}\")", + "", + "print(\"\\n🚀 Relaxed Parameters:\")", + "print(f\" Base Confidence: {ADAPTIVE_COMPLETE_CONFIG['base_confidence']}%\")", + "print(f\" Min ATR: {ADAPTIVE_COMPLETE_CONFIG['min_atr']}\")", + "print(f\" Pullback Entry: {ADAPTIVE_COMPLETE_CONFIG['use_pullback_entry']}\")", + "", + "print(\"\\n⚡ Adaptive Features:\")", + "print(f\" Dynamic Intervals: 5/15/30 min\")", + "print(f\" Session-aware: Yes\")", + "print(f\" Volatility-based: Yes\")", + "", "print(\"\\n✅ Configuration complete!\")" ] }, @@ -3842,7 +3842,112 @@ "2026-01-14 12:10:00,054 - INFO - Running job \"create_protected_trading_check..protected_check (trigger: cron[minute='*'], next run at: 2026-01-14 12:11:00 CET)\" (scheduled at 2026-01-14 12:10:00+01:00)\n", "2026-01-14 12:10:00,061 - INFO - ⏸️ Trading SKIP: London blocked: 12.5% win-rate, -$10/trade\n", "2026-01-14 12:10:00,062 - INFO - Job \"create_protected_trading_check..protected_check (trigger: cron[minute='*'], next run at: 2026-01-14 12:11:00 CET)\" executed successfully\n", - "2026-01-14 12:10:02,245 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n" + "2026-01-14 12:10:02,245 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:10:12,268 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:10:22,295 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:10:32,329 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:10:42,338 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:10:42,471 - INFO - Running job \"PositionMonitor.check_open_positions (trigger: interval[0:01:00], next run at: 2026-01-14 12:11:42 CET)\" (scheduled at 2026-01-14 12:10:42.434322+01:00)\n", + "2026-01-14 12:10:42,473 - INFO - Job \"PositionMonitor.check_open_positions (trigger: interval[0:01:00], next run at: 2026-01-14 12:11:42 CET)\" executed successfully\n", + "2026-01-14 12:10:42,475 - INFO - Running job \" (trigger: interval[0:01:00], next run at: 2026-01-14 12:11:42 CET)\" (scheduled at 2026-01-14 12:10:42.435323+01:00)\n", + "2026-01-14 12:10:42,477 - INFO - \n", + "🔍 Checking 1 position(s) for XAUUSD...\n", + "2026-01-14 12:10:42,491 - INFO - 📊 Partial TP Levels:\n", + "2026-01-14 12:10:42,492 - INFO - Entry: 4636.11000\n", + "2026-01-14 12:10:42,522 - INFO - SL: 4631.52000\n", + "2026-01-14 12:10:42,523 - INFO - Risk: 4.59000\n", + "2026-01-14 12:10:42,527 - INFO - TP1 (1.5R): 4642.99500\n", + "2026-01-14 12:10:42,567 - INFO - TP2 (2.5R): 4647.58500\n", + "2026-01-14 12:10:42,639 - INFO - Job \" (trigger: interval[0:01:00], next run at: 2026-01-14 12:11:42 CET)\" executed successfully\n", + "2026-01-14 12:10:52,378 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:11:00,595 - INFO - Running job \"create_protected_trading_check..protected_check (trigger: cron[minute='*'], next run at: 2026-01-14 12:12:00 CET)\" (scheduled at 2026-01-14 12:11:00+01:00)\n", + "2026-01-14 12:11:00,602 - INFO - ⏸️ Trading SKIP: London blocked: 12.5% win-rate, -$10/trade\n", + "2026-01-14 12:11:00,604 - INFO - Job \"create_protected_trading_check..protected_check (trigger: cron[minute='*'], next run at: 2026-01-14 12:12:00 CET)\" executed successfully\n", + "2026-01-14 12:11:02,400 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:11:12,419 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:11:22,447 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:11:32,469 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:11:42,442 - INFO - Running job \"PositionMonitor.check_open_positions (trigger: interval[0:01:00], next run at: 2026-01-14 12:12:42 CET)\" (scheduled at 2026-01-14 12:11:42.434322+01:00)\n", + "2026-01-14 12:11:42,442 - INFO - Job \"PositionMonitor.check_open_positions (trigger: interval[0:01:00], next run at: 2026-01-14 12:12:42 CET)\" executed successfully\n", + "2026-01-14 12:11:42,442 - INFO - Running job \" (trigger: interval[0:01:00], next run at: 2026-01-14 12:12:42 CET)\" (scheduled at 2026-01-14 12:11:42.435323+01:00)\n", + "2026-01-14 12:11:42,442 - INFO - \n", + "🔍 Checking 1 position(s) for XAUUSD...\n", + "2026-01-14 12:11:42,442 - INFO - 📊 Partial TP Levels:\n", + "2026-01-14 12:11:42,442 - INFO - Entry: 4636.11000\n", + "2026-01-14 12:11:42,442 - INFO - SL: 4631.52000\n", + "2026-01-14 12:11:42,442 - INFO - Risk: 4.59000\n", + "2026-01-14 12:11:42,442 - INFO - TP1 (1.5R): 4642.99500\n", + "2026-01-14 12:11:42,442 - INFO - TP2 (2.5R): 4647.58500\n", + "2026-01-14 12:11:42,442 - INFO - Job \" (trigger: interval[0:01:00], next run at: 2026-01-14 12:12:42 CET)\" executed successfully\n", + "2026-01-14 12:11:42,520 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:11:52,567 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:12:00,213 - INFO - Running job \"create_protected_trading_check..protected_check (trigger: cron[minute='*'], next run at: 2026-01-14 12:13:00 CET)\" (scheduled at 2026-01-14 12:12:00+01:00)\n", + "2026-01-14 12:12:00,235 - INFO - ⏸️ Trading SKIP: London blocked: 12.5% win-rate, -$10/trade\n", + "2026-01-14 12:12:00,237 - INFO - Job \"create_protected_trading_check..protected_check (trigger: cron[minute='*'], next run at: 2026-01-14 12:13:00 CET)\" executed successfully\n", + "2026-01-14 12:12:02,587 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:12:12,618 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:12:22,626 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:12:32,654 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:12:42,685 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:12:43,002 - INFO - Running job \"PositionMonitor.check_open_positions (trigger: interval[0:01:00], next run at: 2026-01-14 12:13:42 CET)\" (scheduled at 2026-01-14 12:12:42.434322+01:00)\n", + "2026-01-14 12:12:43,005 - INFO - Job \"PositionMonitor.check_open_positions (trigger: interval[0:01:00], next run at: 2026-01-14 12:13:42 CET)\" executed successfully\n", + "2026-01-14 12:12:43,004 - INFO - Running job \" (trigger: interval[0:01:00], next run at: 2026-01-14 12:13:42 CET)\" (scheduled at 2026-01-14 12:12:42.435323+01:00)\n", + "2026-01-14 12:12:43,006 - INFO - \n", + "🔍 Checking 1 position(s) for XAUUSD...\n", + "2026-01-14 12:12:43,006 - INFO - 📊 Partial TP Levels:\n", + "2026-01-14 12:12:43,006 - INFO - Entry: 4636.11000\n", + "2026-01-14 12:12:43,006 - INFO - SL: 4631.52000\n", + "2026-01-14 12:12:43,006 - INFO - Risk: 4.59000\n", + "2026-01-14 12:12:43,006 - INFO - TP1 (1.5R): 4642.99500\n", + "2026-01-14 12:12:43,006 - INFO - TP2 (2.5R): 4647.58500\n", + "2026-01-14 12:12:43,006 - INFO - Job \" (trigger: interval[0:01:00], next run at: 2026-01-14 12:13:42 CET)\" executed successfully\n", + "2026-01-14 12:12:52,712 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:13:00,041 - INFO - Running job \"create_protected_trading_check..protected_check (trigger: cron[minute='*'], next run at: 2026-01-14 12:14:00 CET)\" (scheduled at 2026-01-14 12:13:00+01:00)\n", + "2026-01-14 12:13:00,041 - INFO - ⏸️ Trading SKIP: London blocked: 12.5% win-rate, -$10/trade\n", + "2026-01-14 12:13:00,041 - INFO - Job \"create_protected_trading_check..protected_check (trigger: cron[minute='*'], next run at: 2026-01-14 12:14:00 CET)\" executed successfully\n", + "2026-01-14 12:13:02,729 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:13:12,760 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:13:22,785 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:13:32,807 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:13:42,448 - INFO - Running job \"PositionMonitor.check_open_positions (trigger: interval[0:01:00], next run at: 2026-01-14 12:14:42 CET)\" (scheduled at 2026-01-14 12:13:42.434322+01:00)\n", + "2026-01-14 12:13:42,450 - INFO - Job \"PositionMonitor.check_open_positions (trigger: interval[0:01:00], next run at: 2026-01-14 12:14:42 CET)\" executed successfully\n", + "2026-01-14 12:13:42,451 - INFO - Running job \" (trigger: interval[0:01:00], next run at: 2026-01-14 12:14:42 CET)\" (scheduled at 2026-01-14 12:13:42.435323+01:00)\n", + "2026-01-14 12:13:42,461 - INFO - \n", + "🔍 Checking 1 position(s) for XAUUSD...\n", + "2026-01-14 12:13:42,463 - INFO - 📊 Partial TP Levels:\n", + "2026-01-14 12:13:42,464 - INFO - Entry: 4636.11000\n", + "2026-01-14 12:13:42,465 - INFO - SL: 4631.52000\n", + "2026-01-14 12:13:42,468 - INFO - Risk: 4.59000\n", + "2026-01-14 12:13:42,470 - INFO - TP1 (1.5R): 4642.99500\n", + "2026-01-14 12:13:42,471 - INFO - TP2 (2.5R): 4647.58500\n", + "2026-01-14 12:13:42,472 - INFO - Job \" (trigger: interval[0:01:00], next run at: 2026-01-14 12:14:42 CET)\" executed successfully\n", + "2026-01-14 12:13:42,830 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:13:52,853 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:14:00,334 - INFO - Running job \"create_protected_trading_check..protected_check (trigger: cron[minute='*'], next run at: 2026-01-14 12:15:00 CET)\" (scheduled at 2026-01-14 12:14:00+01:00)\n", + "2026-01-14 12:14:00,340 - INFO - ⏸️ Trading SKIP: London blocked: 12.5% win-rate, -$10/trade\n", + "2026-01-14 12:14:00,341 - INFO - Job \"create_protected_trading_check..protected_check (trigger: cron[minute='*'], next run at: 2026-01-14 12:15:00 CET)\" executed successfully\n", + "2026-01-14 12:14:02,897 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:14:12,921 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:14:22,943 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:14:32,965 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:14:42,906 - INFO - Running job \"PositionMonitor.check_open_positions (trigger: interval[0:01:00], next run at: 2026-01-14 12:15:42 CET)\" (scheduled at 2026-01-14 12:14:42.434322+01:00)\n", + "2026-01-14 12:14:42,913 - INFO - Job \"PositionMonitor.check_open_positions (trigger: interval[0:01:00], next run at: 2026-01-14 12:15:42 CET)\" executed successfully\n", + "2026-01-14 12:14:42,907 - INFO - Running job \" (trigger: interval[0:01:00], next run at: 2026-01-14 12:15:42 CET)\" (scheduled at 2026-01-14 12:14:42.435323+01:00)\n", + "2026-01-14 12:14:42,978 - INFO - \n", + "🔍 Checking 1 position(s) for XAUUSD...\n", + "2026-01-14 12:14:42,979 - INFO - 📊 Partial TP Levels:\n", + "2026-01-14 12:14:42,981 - INFO - Entry: 4636.11000\n", + "2026-01-14 12:14:42,981 - INFO - SL: 4631.52000\n", + "2026-01-14 12:14:42,982 - INFO - Risk: 4.59000\n", + "2026-01-14 12:14:42,983 - INFO - TP1 (1.5R): 4642.99500\n", + "2026-01-14 12:14:42,984 - INFO - TP2 (2.5R): 4647.58500\n", + "2026-01-14 12:14:42,985 - INFO - Job \" (trigger: interval[0:01:00], next run at: 2026-01-14 12:15:42 CET)\" executed successfully\n", + "2026-01-14 12:14:42,989 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:14:53,016 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n", + "2026-01-14 12:15:00,005 - INFO - Running job \"create_protected_trading_check..protected_check (trigger: cron[minute='*'], next run at: 2026-01-14 12:16:00 CET)\" (scheduled at 2026-01-14 12:15:00+01:00)\n", + "2026-01-14 12:15:00,051 - INFO - ⏸️ Trading SKIP: London blocked: 12.5% win-rate, -$10/trade\n", + "2026-01-14 12:15:00,053 - INFO - Job \"create_protected_trading_check..protected_check (trigger: cron[minute='*'], next run at: 2026-01-14 12:16:00 CET)\" executed successfully\n", + "2026-01-14 12:15:03,040 - INFO - HTTP Request: POST https://api.telegram.org/bot7783303065:AAHVVvwWGqmhJ2BVq8LqkLRSsicKy1CUsD8/getUpdates \"HTTP/1.1 200 OK\"\n" ] } ], @@ -3908,4 +4013,4 @@ }, "nbformat": 4, "nbformat_minor": 4 -} +} \ No newline at end of file