Mô tả
<!DOCTYPE html> <html lang="ar" dir="rtl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>وكيل الذكاء الاصطناعي للتداول</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Arial', sans-serif; background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); color: white; min-height: 100vh; padding: 20px; } .container { max-width: 1200px; margin: 0 auto; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border-radius: 20px; padding: 30px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3); } .header { text-align: center; margin-bottom: 30px; border-bottom: 2px solid rgba(255, 255, 255, 0.2); padding-bottom: 20px; } .header h1 { font-size: 2.5em; margin-bottom: 10px; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); } .status-bar { display: flex; justify-content: space-around; margin-bottom: 30px; flex-wrap: wrap; } .status-item { background: rgba(255, 255, 255, 0.15); padding: 15px; border-radius: 10px; min-width: 150px; text-align: center; margin: 5px; border: 1px solid rgba(255, 255, 255, 0.2); } .status-item h3 { margin-bottom: 5px; font-size: 0.9em; opacity: 0.8; } .status-value { font-size: 1.2em; font-weight: bold; } .controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-bottom: 30px; } .control-panel { background: rgba(255, 255, 255, 0.1); padding: 20px; border-radius: 15px; border: 1px solid rgba(255, 255, 255, 0.2); } .control-panel h3 { margin-bottom: 15px; color: #FFD700; font-size: 1.1em; } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 5px; font-size: 0.9em; opacity: 0.9; } .form-group input, .form-group select { width: 100%; padding: 10px; border: none; border-radius: 8px; background: rgba(255, 255, 255, 0.15); color: white; font-size: 0.9em; } .form-group input::placeholder { color: rgba(255, 255, 255, 0.7); } .btn { padding: 12px 25px; border: none; border-radius: 8px; cursor: pointer; font-size: 1em; font-weight: bold; transition: all 0.3s ease; margin: 5px; } .btn-primary { background: linear-gradient(45deg, #00c853, #00e676); color: white; } .btn-danger { background: linear-gradient(45deg, #f44336, #ff5722); color: white; } .btn-warning { background: linear-gradient(45deg, #ff9800, #ffc107); color: white; } .btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); } .trading-log { background: rgba(0, 0, 0, 0.3); border-radius: 15px; padding: 20px; margin-top: 20px; max-height: 300px; overflow-y: auto; border: 1px solid rgba(255, 255, 255, 0.2); } .log-entry { padding: 10px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); margin-bottom: 10px; border-radius: 8px; } .log-entry.success { background: rgba(76, 175, 80, 0.2); border-left: 4px solid #4CAF50; } .log-entry.error { background: rgba(244, 67, 54, 0.2); border-left: 4px solid #f44336; } .log-entry.info { background: rgba(33, 150, 243, 0.2); border-left: 4px solid #2196F3; } .chart-container { background: rgba(255, 255, 255, 0.1); border-radius: 15px; padding: 20px; margin-top: 20px; text-align: center; border: 1px solid rgba(255, 255, 255, 0.2); } .indicator { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-left: 5px; } .indicator.active { background: #4CAF50; animation: pulse 2s infinite; } .indicator.inactive { background: #f44336; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.2); } 100% { transform: scale(1); } } .progress-bar { width: 100%; height: 8px; background: rgba(255, 255, 255, 0.2); border-radius: 4px; overflow: hidden; margin-top: 10px; } .progress-fill { height: 100%; background: linear-gradient(90deg, #00c853, #00e676); width: 0%; transition: width 0.3s ease; } @media (max-width: 768px) { .controls { grid-template-columns: 1fr; } .status-bar { flex-direction: column; align-items: center; } .container { padding: 20px; } } </style> </head> <body> <div class="container"> <div class="header"> <h1>🤖 وكيل الذكاء الاصطناعي للتداول</h1> <p>Hệ thống giao dịch tự động tiên tiến cho Forex</p> </div> <div class="status-bar"> <div class="status-item"> <h3>Trạng thái hệ thống</h3> <div class="status-value"> <span id="system-status">Đã dừng</span> <span class="indicator inactive" id="system-indicator"></span> </div> </div> <div class="status-item"> <h3>Lợi nhuận / Thua lỗ</h3> <div class="status-value" id="pnl">$0.00</div> </div> <div class="status-item"> <h3>Số giao dịch</h3> <div class="status-value" id="trades-count">0</div> </div> <div class="status-item"> <h3>Tỷ lệ thành công</h3> <div class="status-value" id="success-rate">0%</div> </div> </div> <div class="controls"> <div class="control-panel"> <h3>⚙️ Cài đặt giao dịch</h3> <div class="form-group"> <label>Cặp tiền tệ</label> <select id="currency-pair"> <option value="EURUSD">EUR/USD</option> <option value="GBPUSD">GBP/USD</option> <option value="USDJPY">USD/JPY</option> <option value="USDCHF">USD/CHF</option> <option value="AUDUSD">AUD/USD</option> </select> </div> <div class="form-group"> <label>Kích thước lô (Lot)</label> <input type="number" id="lot-size" value="0.01" min="0.01" max="10" step="0.01"> </div> <div class="form-group"> <label>Chiến lược giao dịch</label> <select id="strategy"> <option value="scalping">Scalping</option> <option value="swing">Giao dịch dao động</option> <option value="trend">Theo xu hướng</option> <option value="reversal">Đảo chiều</option> </select> </div> </div> <div class="control-panel"> <h3>🛡️ Quản lý rủi ro</h3> <div class="form-group"> <label>Dừng lỗ (điểm)</label> <input type="number" id="stop-loss" value="20" min="5" max="500"> </div> <div class="form-group"> <label>Chốt lời (điểm)</label> <input type="number" id="take-profit" value="30" min="10" max="1000"> </div> <div class="form-group"> <label>Rủi ro tối đa (%)</label> <input type="number" id="max-risk" value="2" min="0.5" max="10" step="0.1"> </div> </div> <div class="control-panel"> <h3>📊 Các chỉ báo kỹ thuật</h3> <div class="form-group"> <label> <input type="checkbox" id="use-ma" checked> Sử dụng Đường trung bình động </label> </div> <div class="form-group"> <label> <input type="checkbox" id="use-rsi" checked> Sử dụng RSI </label> </div> <div class="form-group"> <label> <input type="checkbox" id="use-macd"> Sử dụng MACD </label> </div> <div class="form-group"> <label> <input type="checkbox" id="use-bollinger"> Sử dụng Bollinger Bands </label> </div> </div> </div> <div style="text-align: center; margin: 20px 0;"> <button class="btn btn-primary" onclick="startTrading()">🚀 Bắt đầu giao dịch</button> <button class="btn btn-danger" onclick="stopTrading()">⏹️ Dừng giao dịch</button> <button class="btn btn-warning" onclick="pauseTrading()">⏸️ Tạm dừng</button> <button class="btn btn-warning" onclick="resetSystem()">🔄 Đặt lại</button> </div> <div class="chart-container"> <h3>📈 Giám sát hiệu suất</h3> <p>Phân tích hiệu suất theo thời gian thực</p> <div class="progress-bar"> <div class="progress-fill" id="performance-progress"></div> </div> <p style="margin-top: 10px; font-size: 0.9em; opacity: 0.8;"> Cập nhật lần cuối: <span id="last-update">--</span> </p> </div> <div class="trading-log"> <h3>📋 Nhật ký giao dịch</h3> <div id="log-container"> <div class="log-entry info"> <strong>Thông tin:</strong> Hệ thống đã sẵn sàng để giao dịch. Vui lòng nhấn "Bắt đầu giao dịch" để khởi động. </div> </div> </div> </div> <script> // متغيرات النظام let isTrading = false; let isPaused = false; let tradingInterval; let totalTrades = 0; let successfulTrades = 0; let currentPnL = 0; let marketData = {}; // تحديث الحالة function updateSystemStatus(status, isActive) { const statusEl = document.getElementById('system-status'); const indicatorEl = document.getElementById('system-indicator'); statusEl.textContent = status; indicatorEl.className = `indicator ${isActive ? 'active' : 'inactive'}`; } // تحديث الإحصائيات function updateStats() { document.getElementById('trades-count').textContent = totalTrades; document.getElementById('success-rate').textContent = totalTrades > 0 ? Math.round((successfulTrades / totalTrades) * 100) + '%' : '0%'; document.getElementById('pnl').textContent = (currentPnL >= 0 ? '+' : '') + '$' + currentPnL.toFixed(2); document.getElementById('pnl').style.color = currentPnL >= 0 ? '#4CAF50' : '#f44336'; } // إضافة سجل function addLogEntry(message, type = 'info') { const logContainer = document.getElementById('log-container'); const entry = document.createElement('div'); entry.className = `log-entry ${type}`; const timestamp = new Date().toLocaleTimeString('ar-SA'); entry.innerHTML = `<strong>${timestamp}:</strong> ${message}`; logContainer.insertBefore(entry, logContainer.firstChild); // إبقاء آخر 50 سجل فقط if (logContainer.children.length > 50) { logContainer.removeChild(logContainer.lastChild); } } // محاكاة بيانات السوق function generateMarketData() { const pairs = ['EURUSD', 'GBPUSD', 'USDJPY', 'USDCHF', 'AUDUSD']; pairs.forEach(pair => { marketData[pair] = { price: Math.random() * 2 + 1, change: (Math.random() - 0.5) * 0.01, volume: Math.floor(Math.random() * 1000000), rsi: Math.floor(Math.random() * 100), ma: Math.random() * 2 + 1 }; }); } // تحليل الإشارات function analyzeSignals() { const pair = document.getElementById('currency-pair').value; const strategy = document.getElementById('strategy').value; const useMA = document.getElementById('use-ma').checked; const useRSI = document.getElementById('use-rsi').checked; const data = marketData[pair]; if (!data) return null; let signal = null; let confidence = 0; // تحليل RSI if (useRSI) { if (data.rsi < 30) { signal = 'BUY'; confidence += 0.3; } else if (data.rsi > 70) { signal = 'SELL'; confidence += 0.3; } } // تحليل المتوسط المتحرك if (useMA) { if (data.price > data.ma) { if (signal === 'BUY' || signal === null) { signal = 'BUY'; confidence += 0.3; } } else { if (signal === 'SELL' || signal === null) { signal = 'SELL'; confidence += 0.3; } } } // تحليل الاستراتيجية if (strategy === 'scalping') { confidence += 0.2; } else if (strategy === 'trend') { confidence += 0.4; } return { signal, confidence }; } // تنفيذ الصفقة function executeTrade(signal, confidence) { if (confidence < 0.6) return; // حد أدنى للثقة const pair = document.getElementById('currency-pair').value; const lotSize = document.getElementById('lot-size').value; const stopLoss = document.getElementById('stop-loss').value; const takeProfit = document.getElementById('take-profit').value; totalTrades++; // محاكاة نتيجة الصفقة const success = Math.random() < confidence; const pnl = success ? (parseFloat(takeProfit) * parseFloat(lotSize) * 10) : (-parseFloat(stopLoss) * parseFloat(lotSize) * 10); currentPnL += pnl; if (success) { successfulTrades++; addLogEntry(`صفقة ناجحة: ${signal} ${pair} - الربح: +$${pnl.toFixed(2)}`, 'success'); } else { addLogEntry(`صفقة خاسرة: ${signal} ${pair} - الخسارة: -$${Math.abs(pnl).toFixed(2)}`, 'error'); } updateStats(); } // حلقة التداول الرئيسية function tradingLoop() { if (!isTrading || isPaused) return; generateMarketData(); const analysis = analyzeSignals(); if (analysis && analysis.signal) { addLogEntry(`إشارة تم اكتشافها: ${analysis.signal} - الثقة: ${(analysis.confidence * 100).toFixed(1)}%`, 'info'); executeTrade(analysis.signal, analysis.confidence); } // تحديث شريط التقدم const progress = document.getElementById('performance-progress'); progress.style.width = Math.min((successfulTrades / Math.max(totalTrades, 1)) * 100, 100) + '%'; // تحديث آخر تحديث document.getElementById('last-update').textContent = new Date().toLocaleTimeString('ar-SA'); } // بدء التداول function startTrading() { if (isTrading) return; isTrading = true; isPaused = false; updateSystemStatus('يعمل', true); addLogEntry('تم بدء التداول الآلي', 'success'); tradingInterval = setInterval(tradingLoop, 3000); // كل 3 ثوان } // إيقاف التداول function stopTrading() { if (!isTrading) return; isTrading = false; isPaused = false; updateSystemStatus('متوقف', false); addLogEntry('تم إيقاف التداول', 'error'); clearInterval(tradingInterval); } // إيقاف مؤقت function pauseTrading() { if (!isTrading) return; isPaused = !isPaused; updateSystemStatus(isPaused ? 'متوقف مؤقتاً' : 'يعمل', !isPaused); addLogEntry(isPaused ? 'تم إيقاف التداول مؤقتاً' : 'تم استئناف التداول', 'info'); } // إعادة تعيين النظام function resetSystem() { stopTrading(); totalTrades = 0; successfulTrades = 0; currentPnL = 0; updateStats(); const logContainer = document.getElementById('log-container'); logContainer.innerHTML = ` <div class="log-entry info"> <strong>معلومات:</strong> تم إعادة تعيين النظام. جاهز للتداول من جديد. </div> `; document.getElementById('performance-progress').style.width = '0%'; document.getElementById('last-update').textContent = '--'; } // تهيئة النظام document.addEventListener('DOMContentLoaded', function() { generateMarketData(); updateStats(); addLogEntry('تم تحميل النظام بنجاح', 'success'); }); </script> </body> </html>
Tóm tắt
The system integrates technical indicators like Moving Average (MA), Relative Strength Index (RSI), MACD, and Bollinger Bands to analyze market signals and generate trade decisions. It evaluates signal confidence before executing trades, simulating outcomes based on configured parameters. Real-time performance monitoring includes profit/loss tracking, trade count, and success rate, with a detailed trading log for transparency.
Control features allow starting, stopping, pausing, and resetting the trading process. The interface provides a status overview and performance progress visualization, supporting informed management of automated trading activities.
