metatrader-master-hub / index.html
jsonet's picture
Implementa el menu superior totalmente responsiva y hazlo desplegable con una pestaña que lo abra y que se pueda mantener cerrado cuando no se necesita usar para dar maxima responsividad a toda la interfaz
f630c72 verified
<!DOCTYPE html>
<html lang="en" class="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MetaTrader Master Hub</title>
<link rel="icon" type="image/x-icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>📈</text></svg>">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/animejs/lib/anime.iife.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script>
tailwind.config = {
darkMode: 'class',
theme: {
extend: {
colors: {
primary: {
50: '#f0fdf4',
100: '#dcfce7',
200: '#bbf7d0',
300: '#86efac',
400: '#4ade80',
500: '#22c55e',
600: '#16a34a',
700: '#15803d',
800: '#166534',
900: '#14532d',
950: '#052e16'
},
secondary: {
50: '#f8fafc',
100: '#f1f5f9',
200: '#e2e8f0',
300: '#cbd5e1',
400: '#94a3b8',
500: '#64748b',
600: '#475569',
700: '#334155',
800: '#1e293b',
900: '#0f172a',
950: '#020617'
},
accent: {
50: '#fefce8',
100: '#fef9c3',
200: '#fef08a',
300: '#fde047',
400: '#facc15',
500: '#eab308',
600: '#ca8a04',
700: '#a16207',
800: '#854d0e',
900: '#713f12',
950: '#422006'
}
}
}
}
}
</script>
<style>
.glass {
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
}
.gradient-border {
position: relative;
background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(113, 113, 122, 0.1));
border: 1px solid transparent;
background-clip: padding-box;
}
.gradient-border::before {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
margin: -1px;
border-radius: inherit;
background: linear-gradient(135deg, #3b82f6, #71717a);
}
.pulse-glow {
animation: pulse-glow 2s ease-in-out infinite alternate;
}
@keyframes pulse-glow {
from { box-shadow: 0 0 10px rgba(34, 197, 94, 0.3); }
to { box-shadow: 0 0 20px rgba(34, 197, 94, 0.6); }
}
.slide-in {
animation: slideIn 0.3s ease-out;
}
@keyframes slideIn {
from { transform: translateX(-100%); opacity: 0; }
to { transform: translateX(0); opacity: 1; }
}
.fade-in {
animation: fadeIn 0.5s ease-out;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
</style>
</head>
<body class="bg-secondary-900 text-secondary-100 min-h-screen overflow-x-hidden">
<!-- Navigation -->
<nav class="fixed top-0 w-full bg-secondary-800/90 glass border-b border-secondary-700 z-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex items-center justify-between h-16">
<div class="flex items-center space-x-4">
<div class="flex-shrink-0">
<h1 class="text-xl font-bold text-primary-400">MT5 Master Hub</h1>
</div>
<!-- Desktop Navigation -->
<div class="hidden md:block">
<div class="ml-10 flex items-baseline space-x-4">
<a href="#" onclick="showPage('dashboard')" class="nav-link px-3 py-2 rounded-md text-sm font-medium bg-primary-500 text-white" data-page="dashboard">
<i data-feather="home" class="inline w-4 h-4 mr-2"></i>Dashboard
</a>
<a href="#" onclick="showPage('position-calculator')" class="nav-link px-3 py-2 rounded-md text-sm font-medium text-secondary-200 hover:bg-secondary-700" data-page="position-calculator">
<i data-feather="calculator" class="inline w-4 h-4 mr-2"></i>Position Calculator
</a>
<a href="#" onclick="showPage('trade-planner')" class="nav-link px-3 py-2 rounded-md text-sm font-medium text-secondary-200 hover:bg-secondary-700" data-page="trade-planner">
<i data-feather="map" class="inline w-4 h-4 mr-2"></i>Trade Planner
</a>
<a href="#" onclick="showPage('protection-tools')" class="nav-link px-3 py-2 rounded-md text-sm font-medium text-secondary-200 hover:bg-secondary-700" data-page="protection-tools">
<i data-feather="shield" class="inline w-4 h-4 mr-2"></i>Protection Tools
</a>
<a href="#" onclick="showPage('ea-monitor')" class="nav-link px-3 py-2 rounded-md text-sm font-medium text-secondary-200 hover:bg-secondary-700" data-page="ea-monitor">
<i data-feather="cpu" class="inline w-4 h-4 mr-2"></i>EA Monitor
</a>
</div>
</div>
<!-- Right side icons -->
<div class="flex items-center space-x-4">
<button class="p-2 rounded-md text-secondary-200 hover:text-white hover:bg-secondary-700">
<i data-feather="bell" class="w-5 h-5"></i>
</button>
<button class="p-2 rounded-md text-secondary-200 hover:text-white hover:bg-secondary-700">
<i data-feather="settings" class="w-5 h-5"></i>
</button>
<!-- Mobile menu button -->
<div class="md:hidden">
<button id="mobile-menu-button" class="p-2 rounded-md text-secondary-200 hover:text-white hover:bg-secondary-700">
<i data-feather="menu" class="w-5 h-5"></i>
</button>
</div>
</div>
</div>
</div>
<!-- Mobile menu (hidden by default) -->
<div id="mobile-menu" class="md:hidden hidden">
<div class="px-2 pt-2 pb-3 space-y-1 sm:px-3">
<a href="#" onclick="showPage('dashboard'); closeMobileMenu();" class="nav-link block px-3 py-2 rounded-md text-base font-medium text-secondary-200 hover:bg-secondary-700" data-page="dashboard">
<i data-feather="home" class="inline w-4 h-4 mr-2"></i>Dashboard
</a>
<a href="#" onclick="showPage('position-calculator'); closeMobileMenu();" class="nav-link block px-3 py-2 rounded-md text-base font-medium text-secondary-200 hover:bg-secondary-700" data-page="position-calculator">
<i data-feather="calculator" class="inline w-4 h-4 mr-2"></i>Position Calculator
</a>
<a href="#" onclick="showPage('trade-planner'); closeMobileMenu();" class="nav-link block px-3 py-2 rounded-md text-base font-medium text-secondary-200 hover:bg-secondary-700" data-page="trade-planner">
<i data-feather="map" class="inline w-4 h-4 mr-2"></i>Trade Planner
</a>
<a href="#" onclick="showPage('protection-tools'); closeMobileMenu();" class="nav-link block px-3 py-2 rounded-md text-base font-medium text-secondary-200 hover:bg-secondary-700" data-page="protection-tools">
<i data-feather="shield" class="inline w-4 h-4 mr-2"></i>Protection Tools
</a>
<a href="#" onclick="showPage('ea-monitor'); closeMobileMenu();" class="nav-link block px-3 py-2 rounded-md text-base font-medium text-secondary-200 hover:bg-secondary-700" data-page="ea-monitor">
<i data-feather="cpu" class="inline w-4 h-4 mr-2"></i>EA Monitor
</a>
</div>
</div>
</div>
</nav>
<!-- Main Content -->
<main class="pt-16 pb-8">
<!-- Dashboard Page -->
<div id="dashboard-page" class="page-container fade-in">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
<div class="mb-8">
<h2 class="text-3xl font-bold text-white mb-2">Trading Dashboard</h2>
<p class="text-secondary-400">Monitor your trades and account performance in real-time</p>
</div>
<!-- Account Overview Cards -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
<div class="gradient-border rounded-lg p-6 glass pulse-glow">
<div class="flex items-center justify-between">
<div>
<p class="text-secondary-400 text-sm">Balance</p>
<p class="text-2xl font-bold text-white">$25,432.50</p>
</div>
<div class="bg-primary-500/20 p-3 rounded-lg">
<i data-feather="dollar-sign" class="w-6 h-6 text-primary-300"></i>
</div>
</div>
<div class="mt-4 flex items-center text-primary-400">
<i data-feather="trending-up" class="w-4 h-4 mr-1"></i>
<span class="text-sm">+12.5%</span>
</div>
</div>
<div class="gradient-border rounded-lg p-6 glass">
<div class="flex items-center justify-between">
<div>
<p class="text-secondary-400 text-sm">Equity</p>
<p class="text-2xl font-bold text-white">$26,891.20</p>
</div>
<div class="bg-primary-500/20 p-3 rounded-lg">
<i data-feather="activity" class="w-6 h-6 text-primary-300"></i>
</div>
</div>
<div class="mt-4 flex items-center text-primary-400">
<i data-feather="trending-up" class="w-4 h-4 mr-1"></i>
<span class="text-sm">+5.7%</span>
</div>
</div>
<div class="gradient-border rounded-lg p-6 glass">
<div class="flex items-center justify-between">
<div>
<p class="text-secondary-400 text-sm">Open Trades</p>
<p class="text-2xl font-bold text-white">7</p>
</div>
<div class="bg-accent-500/20 p-3 rounded-lg">
<i data-feather="bar-chart-2" class="w-6 h-6 text-accent-400"></i>
</div>
</div>
<div class="mt-4 flex items-center text-accent-400">
<i data-feather="info" class="w-4 h-4 mr-1"></i>
<span class="text-sm">3 Buy, 4 Sell</span>
</div>
</div>
<div class="gradient-border rounded-lg p-6 glass">
<div class="flex items-center justify-between">
<div>
<p class="text-secondary-400 text-sm">Today's P&L</p>
<p class="text-2xl font-bold text-green-400">+$1,458.70</p>
</div>
<div class="bg-primary-500/20 p-3 rounded-lg">
<i data-feather="award" class="w-6 h-6 text-primary-300"></i>
</div>
</div>
<div class="mt-4 flex items-center text-primary-400">
<i data-feather="trending-up" class="w-4 h-4 mr-1"></i>
<span class="text-sm">Win Rate: 68%</span>
</div>
</div>
</div>
<!-- Active Trades Table -->
<div class="gradient-border rounded-lg p-6 glass mb-8">
<div class="flex items-center justify-between mb-4">
<h3 class="text-xl font-semibold text-white">Active Trades</h3>
<button class="px-4 py-2 bg-primary-500 text-white rounded-lg hover:bg-primary-600 transition-colors">
<i data-feather="plus" class="inline w-4 h-4 mr-2"></i>New Trade
</button>
</div>
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-secondary-800">
<thead>
<tr>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">Symbol</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">Type</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">Volume</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">Open Price</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">Current Price</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">SL</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">TP</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">P&L</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">Actions</th>
</tr>
</thead>
<tbody class="divide-y divide-secondary-800">
<tr class="hover:bg-secondary-800/50">
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-white">EURUSD</td>
<td class="px-6 py-4 whitespace-nowrap text-sm">
<span class="px-2 py-1 text-xs bg-green-600/20 text-green-400 rounded">BUY</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">1.50</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">1.0856</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-white">1.0872</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">1.0830</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">1.0900</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-green-400">+$240.00</td>
<td class="px-6 py-4 whitespace-nowrap text-sm">
<button class="text-primary-400 hover:text-primary-300 mr-2">
<i data-feather="edit-2" class="w-4 h-4"></i>
</button>
<button class="text-red-400 hover:text-red-300">
<i data-feather="x" class="w-4 h-4"></i>
</button>
</td>
</tr>
<tr class="hover:bg-secondary-800/50">
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-white">GBPUSD</td>
<td class="px-6 py-4 whitespace-nowrap text-sm">
<span class="px-2 py-1 text-xs bg-red-600/20 text-red-400 rounded">SELL</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">0.75</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">1.2745</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-white">1.2738</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">1.2760</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">1.2700</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-green-400">+$52.50</td>
<td class="px-6 py-4 whitespace-nowrap text-sm">
<button class="text-primary-400 hover:text-primary-300 mr-2">
<i data-feather="edit-2" class="w-4 h-4"></i>
</button>
<button class="text-red-400 hover:text-red-300">
<i data-feather="x" class="w-4 h-4"></i>
</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- Performance Chart -->
<div class="gradient-border rounded-lg p-6 glass">
<h3 class="text-xl font-semibold text-white mb-4">Performance Chart</h3>
<div class="h-64">
<canvas id="performanceChart"></canvas>
</div>
</div>
</div>
</div>
<!-- Position Calculator Page -->
<div id="position-calculator-page" class="page-container hidden">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
<div class="mb-8">
<h2 class="text-3xl font-bold text-white mb-2">Position Size Calculator</h2>
<p class="text-secondary-400">Calculate optimal position size based on your risk parameters</p>
</div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8">
<!-- Calculator Input -->
<div class="gradient-border rounded-lg p-6 glass">
<h3 class="text-lg font-semibold text-white mb-4">Risk Parameters</h3>
<form class="space-y-4">
<div>
<label class="block text-sm font-medium text-secondary-300 mb-2">Account Balance</label>
<input type="number" class="w-full px-4 py-2 bg-secondary-800 border border-secondary-700 rounded-lg text-white focus:ring-2 focus:ring-primary-500 focus:border-transparent" value="25432.50">
</div>
<div>
<label class="block text-sm font-medium text-secondary-300 mb-2">Risk Percentage (%)</label>
<input type="number" class="w-full px-4 py-2 bg-secondary-800 border border-secondary-700 rounded-lg text-white focus:ring-2 focus:ring-primary-500 focus:border-transparent" value="2" step="0.1">
</div>
<div>
<label class="block text-sm font-medium text-secondary-300 mb-2">Stop Loss (pips)</label>
<input type="number" class="w-full px-4 py-2 bg-secondary-800 border border-secondary-700 rounded-lg text-white focus:ring-2 focus:ring-primary-500 focus:border-transparent" value="50">
</div>
<div>
<label class="block text-sm font-medium text-secondary-300 mb-2">Currency Pair</label>
<select class="w-full px-4 py-2 bg-secondary-800 border border-secondary-700 rounded-lg text-white focus:ring-2 focus:ring-primary-500 focus:border-transparent">
<option>EURUSD</option>
<option>GBPUSD</option>
<option>USDJPY</option>
<option>AUDUSD</option>
<option>USDCHF</option>
</select>
</div>
<button type="button" class="w-full px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors">
<i data-feather="calculator" class="inline w-4 h-4 mr-2"></i>Calculate Position Size
</button>
</form>
</div>
<!-- Calculator Results -->
<div class="gradient-border rounded-lg p-6 glass">
<h3 class="text-lg font-semibold text-white mb-4">Calculation Results</h3>
<div class="space-y-4">
<div class="bg-secondary-800/50 rounded-lg p-4">
<div class="flex justify-between items-center">
<span class="text-secondary-400">Position Size</span>
<span class="text-xl font-bold text-white">1.25 lots</span>
</div>
</div>
<div class="bg-secondary-800/50 rounded-lg p-4">
<div class="flex justify-between items-center">
<span class="text-secondary-400">Risk Amount</span>
<span class="text-xl font-bold text-white">$508.65</span>
</div>
</div>
<div class="bg-secondary-800/50 rounded-lg p-4">
<div class="flex justify-between items-center">
<span class="text-secondary-400">Pip Value</span>
<span class="text-xl font-bold text-white">$10.00</span>
</div>
</div>
<div class="bg-secondary-800/50 rounded-lg p-4">
<div class="flex justify-between items-center">
<span class="text-secondary-400">Potential Loss</span>
<span class="text-xl font-bold text-red-400">-$508.65</span>
</div>
</div>
<div class="bg-secondary-800/50 rounded-lg p-4">
<div class="flex justify-between items-center">
<span class="text-secondary-400">Risk/Reward Ratio</span>
<span class="text-xl font-bold text-white">1:2</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Trade Planner Page -->
<div id="trade-planner-page" class="page-container hidden">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
<div class="mb-8">
<h2 class="text-3xl font-bold text-white mb-2">Trade Planner</h2>
<p class="text-secondary-400">Plan your trades directly on the chart with visual tools</p>
</div>
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
<!-- Chart Area -->
<div class="lg:col-span-2">
<div class="gradient-border rounded-lg p-6 glass h-96">
<div class="flex items-center justify-between mb-4">
<h3 class="text-lg font-semibold text-white">EURUSD - H1</h3>
<div class="flex space-x-2">
<button class="px-3 py-1 bg-primary-500 text-white rounded text-sm hover:bg-primary-600">
<i data-feather="trending-up" class="inline w-4 h-4 mr-1"></i>Buy
</button>
<button class="px-3 py-1 bg-accent-500 text-white rounded text-sm hover:bg-accent-600">
<i data-feather="trending-down" class="inline w-4 h-4 mr-1"></i>Sell
</button>
</div>
</div>
<div class="bg-secondary-900/50 rounded-lg h-64 flex items-center justify-center">
<p class="text-secondary-400">Chart visualization area</p>
</div>
<div class="mt-4 grid grid-cols-3 gap-4">
<div class="bg-secondary-800/50 rounded-lg p-3">
<p class="text-xs text-secondary-400">Entry</p>
<p class="text-sm font-semibold text-white">1.0875</p>
</div>
<div class="bg-secondary-800/50 rounded-lg p-3">
<p class="text-xs text-secondary-400">Stop Loss</p>
<p class="text-sm font-semibold text-red-400">1.0850</p>
</div>
<div class="bg-secondary-800/50 rounded-lg p-3">
<p class="text-xs text-secondary-400">Take Profit</p>
<p class="text-sm font-semibold text-green-400">1.0925</p>
</div>
</div>
</div>
</div>
<!-- Planning Tools -->
<div class="space-y-6">
<div class="gradient-border rounded-lg p-6 glass">
<h3 class="text-lg font-semibold text-white mb-4">Trade Setup</h3>
<div class="space-y-3">
<div>
<label class="block text-sm font-medium text-secondary-300 mb-1">Entry Price</label>
<input type="number" class="w-full px-3 py-2 bg-secondary-800 border border-secondary-700 rounded text-white text-sm" value="1.0875" step="0.0001">
</div>
<div>
<label class="block text-sm font-medium text-secondary-300 mb-1">Stop Loss</label>
<input type="number" class="w-full px-3 py-2 bg-secondary-800 border border-secondary-700 rounded text-white text-sm" value="1.0850" step="0.0001">
</div>
<div>
<label class="block text-sm font-medium text-secondary-300 mb-1">Take Profit</label>
<input type="number" class="w-full px-3 py-2 bg-secondary-800 border border-secondary-700 rounded text-white text-sm" value="1.0925" step="0.0001">
</div>
<div>
<label class="block text-sm font-medium text-secondary-300 mb-1">Risk/Reward</label>
<div class="text-lg font-semibold text-white">1:2</div>
</div>
</div>
</div>
<div class="gradient-border rounded-lg p-6 glass">
<h3 class="text-lg font-semibold text-white mb-4">Quick Actions</h3>
<div class="space-y-2">
<button class="w-full px-3 py-2 bg-secondary-800 text-secondary-300 rounded text-sm hover:bg-secondary-700">
<i data-feather="plus" class="inline w-4 h-4 mr-2"></i>Add Trend Line
</button>
<button class="w-full px-3 py-2 bg-secondary-800 text-secondary-300 rounded text-sm hover:bg-secondary-700">
<i data-feather="minus" class="inline w-4 h-4 mr-2"></i>Add Support/Resistance
</button>
<button class="w-full px-3 py-2 bg-secondary-800 text-secondary-300 rounded text-sm hover:bg-secondary-700">
<i data-feather="triangle" class="inline w-4 h-4 mr-2"></i>Add Pattern
</button>
<button class="w-full px-3 py-2 bg-primary-600 text-white rounded text-sm hover:bg-primary-700">
<i data-feather="save" class="inline w-4 h-4 mr-2"></i>Save Plan
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Protection Tools Page -->
<div id="protection-tools-page" class="page-container hidden">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
<div class="mb-8">
<h2 class="text-3xl font-bold text-white mb-2">Protection Tools</h2>
<p class="text-secondary-400">Advanced protection and trailing stop mechanisms</p>
</div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8">
<!-- Breakeven Settings -->
<div class="gradient-border rounded-lg p-6 glass">
<h3 class="text-lg font-semibold text-white mb-4">Breakeven Settings</h3>
<div class="space-y-4">
<div class="flex items-center justify-between">
<span class="text-secondary-300">Enable Breakeven</span>
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" class="sr-only peer" checked>
<div class="w-11 h-6 bg-secondary-600 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-primary-800 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-secondary-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary-500"></div>
</label>
</div>
<div>
<label class="block text-sm font-medium text-secondary-300 mb-2">Breakeven Trigger (pips)</label>
<input type="number" class="w-full px-4 py-2 bg-secondary-800 border border-secondary-700 rounded-lg text-white" value="20">
</div>
<div>
<label class="block text-sm font-medium text-secondary-300 mb-2">Lock Profit (pips)</label>
<input type="number" class="w-full px-4 py-2 bg-secondary-800 border border-secondary-700 rounded-lg text-white" value="2">
</div>
<div class="border-t border-secondary-800 pt-4">
<h4 class="text-sm font-medium text-secondary-300 mb-2">Multi-Level Breakeven</h4>
<div class="space-y-2">
<div class="flex items-center space-x-2">
<input type="checkbox" class="rounded text-primary-600">
<span class="text-sm text-secondary-300">Level 1: +30 pips, lock +5 pips</span>
</div>
<div class="flex items-center space-x-2">
<input type="checkbox" class="rounded text-primary-600">
<span class="text-sm text-secondary-300">Level 2: +50 pips, lock +15 pips</span>
</div>
<div class="flex items-center space-x-2">
<input type="checkbox" class="rounded text-primary-600">
<span class="text-sm text-secondary-300">Level 3: +80 pips, lock +30 pips</span>
</div>
</div>
</div>
</div>
</div>
<!-- Trailing Stop Settings -->
<div class="gradient-border rounded-lg p-6 glass">
<h3 class="text-lg font-semibold text-white mb-4">Trailing Stop Settings</h3>
<div class="space-y-4">
<div>
<label class="block text-sm font-medium text-secondary-300 mb-2">Trailing Stop Type</label>
<select class="w-full px-4 py-2 bg-secondary-800 border border-secondary-700 rounded-lg text-white">
<option>Basic Trailing Stop</option>
<option>Multi-Level Trailing Stop</option>
<option>Peak & Valley Trailing</option>
<option>Moving Average Trailing</option>
<option>ATR Based Trailing</option>
<option>Partial Close Trailing</option>
</select>
</div>
<div>
<label class="block text-sm font-medium text-secondary-300 mb-2">Trailing Distance (pips)</label>
<input type="number" class="w-full px-4 py-2 bg-secondary-800 border border-secondary-700 rounded-lg text-white" value="30">
</div>
<div>
<label class="block text-sm font-medium text-secondary-300 mb-2">Step Size (pips)</label>
<input type="number" class="w-full px-4 py-2 bg-secondary-800 border border-secondary-700 rounded-lg text-white" value="5">
</div>
<div class="border-t border-secondary-800 pt-4">
<h4 class="text-sm font-medium text-secondary-300 mb-2">ATR Settings</h4>
<div class="grid grid-cols-2 gap-4">
<div>
<label class="block text-xs text-secondary-400 mb-1">Period</label>
<input type="number" class="w-full px-3 py-1 bg-secondary-800 border border-secondary-700 rounded text-white text-sm" value="14">
</div>
<div>
<label class="block text-xs text-secondary-400 mb-1">Multiplier</label>
<input type="number" class="w-full px-3 py-1 bg-secondary-800 border border-secondary-700 rounded text-white text-sm" value="2.5" step="0.1">
</div>
</div>
</div>
</div>
</div>
<!-- Partial Close Settings -->
<div class="gradient-border rounded-lg p-6 glass">
<h3 class="text-lg font-semibold text-white mb-4">Partial Close Settings</h3>
<div class="space-y-4">
<div class="flex items-center justify-between">
<span class="text-secondary-300">Enable Partial Close</span>
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" class="sr-only peer" checked>
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" class="sr-only peer" checked>
<div class="w-11 h-6 bg-secondary-600 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-primary-800 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-secondary-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary-500"></div>
</label>
</div>
<div class="space-y-3">
<div class="bg-secondary-800/50 rounded-lg p-3">
<div class="flex justify-between items-center mb-2">
<span class="text-sm text-secondary-300">Level 1</span>
<span class="text-sm text-white">Close 25% at +30 pips</span>
</div>
<div class="flex space-x-2">
<input type="number" class="flex-1 px-2 py-1 bg-secondary-800 border border-secondary-700 rounded text-white text-sm" value="30">
<input type="number" class="flex-1 px-2 py-1 bg-secondary-800 border border-secondary-700 rounded text-white text-sm" value="25">
</div>
</div>
<div class="bg-secondary-800/50 rounded-lg p-3">
<div class="flex justify-between items-center mb-2">
<span class="text-sm text-secondary-300">Level 2</span>
<span class="text-sm text-white">Close 50% at +60 pips</span>
</div>
<div class="flex space-x-2">
<input type="number" class="flex-1 px-2 py-1 bg-secondary-800 border border-secondary-700 rounded text-white text-sm" value="60">
<input type="number" class="flex-1 px-2 py-1 bg-secondary-800 border border-secondary-700 rounded text-white text-sm" value="50">
</div>
</div>
<div class="bg-secondary-800/50 rounded-lg p-3">
<div class="flex justify-between items-center mb-2">
<span class="text-sm text-secondary-300">Level 3</span>
<span class="text-sm text-white">Close 25% at +100 pips</span>
</div>
<div class="flex space-x-2">
<input type="number" class="flex-1 px-2 py-1 bg-secondary-800 border border-secondary-700 rounded text-white text-sm" value="100">
<input type="number" class="flex-1 px-2 py-1 bg-secondary-800 border border-secondary-700 rounded text-white text-sm" value="25">
</div>
</div>
</div>
</div>
</div>
<!-- Advanced Protection -->
<div class="gradient-border rounded-lg p-6 glass">
<h3 class="text-lg font-semibold text-white mb-4">Advanced Protection</h3>
<div class="space-y-4">
<div class="flex items-center justify-between">
<span class="text-secondary-300">Hidden SL/TP Mode</span>
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" class="sr-only peer">
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" class="sr-only peer">
<div class="w-11 h-6 bg-secondary-600 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-primary-800 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-secondary-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary-500"></div>
</label>
</div>
<div class="flex items-center justify-between">
<span class="text-secondary-300">Auto Protection for External Orders</span>
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" class="sr-only peer" checked>
<div class="w-11 h-6 bg-secondary-700 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-primary-800 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-secondary-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary-600"></div>
</label>
</div>
<div class="flex items-center justify-between">
<span class="text-secondary-300">Trailing Pending Orders</span>
<label class="relative inline-flex items-center cursor-pointer">
<input type="sr-only peer">
<div class="w-11 h-6 bg-secondary-700 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-primary-800 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-secondary-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-primary-600"></div>
</label>
</div>
<div class="pt-4 border-t border-secondary-800">
<button class="w-full px-4 py-2 bg-primary-500 text-white rounded-lg hover:bg-primary-600 transition-colors">
<i data-feather="save" class="inline w-4 h-4 mr-2"></i>Save Protection Settings
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- EA Monitor Page -->
<div id="ea-monitor-page" class="page-container hidden">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
<div class="mb-8">
<h2 class="text-3xl font-bold text-white mb-2">EA Monitor</h2>
<p class="text-secondary-400">Monitor and control all Expert Advisors in real-time</p>
</div>
<!-- EA Statistics -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
<div class="gradient-border rounded-lg p-6 glass">
<div class="flex items-center justify-between">
<div>
<p class="text-secondary-400 text-sm">Total EAs</p>
<p class="text-2xl font-bold text-white">12</p>
</div>
<div class="bg-primary-500/20 p-3 rounded-lg">
<i data-feather="cpu" class="w-6 h-6 text-primary-300"></i>
</div>
</div>
</div>
<div class="gradient-border rounded-lg p-6 glass">
<div class="flex items-center justify-between">
<div>
<p class="text-secondary-400 text-sm">Active EAs</p>
<p class="text-2xl font-bold text-green-400">8</p>
</div>
<div class="bg-primary-500/20 p-3 rounded-lg">
<i data-feather="play" class="w-6 h-6 text-primary-300"></i>
</div>
</div>
</div>
<div class="gradient-border rounded-lg p-6 glass">
<div class="flex items-center justify-between">
<div>
<p class="text-secondary-400 text-sm">Total Profit</p>
<p class="text-2xl font-bold text-green-400">+$5,234</p>
</div>
<div class="bg-primary-500/20 p-3 rounded-lg">
<i data-feather="trending-up" class="w-6 h-6 text-green-400"></i>
</div>
</div>
</div>
<div class="gradient-border rounded-lg p-6 glass">
<div class="flex items-center justify-between">
<div>
<p class="text-secondary-400 text-sm">Win Rate</p>
<p class="text-2xl font-bold text-white">68.5%</p>
</div>
<div class="bg-accent-500/20 p-3 rounded-lg">
<i data-feather="target" class="w-6 h-6 text-accent-400"></i>
</div>
</div>
</div>
</div>
<!-- EA List -->
<div class="gradient-border rounded-lg p-6 glass">
<div class="flex items-center justify-between mb-4">
<h3 class="text-lg font-semibold text-white">Expert Advisors</h3>
<div class="flex space-x-2">
<button class="px-3 py-1 bg-primary-500 text-white rounded text-sm hover:bg-primary-600">
<i data-feather="play" class="inline w-4 h-4 mr-1"></i>Start All
</button>
<button class="px-3 py-1 bg-accent-500 text-white rounded text-sm hover:bg-accent-600">
<i data-feather="pause" class="inline w-4 h-4 mr-1"></i>Stop All
</button>
<button class="px-3 py-1 bg-primary-500 text-white rounded text-sm hover:bg-primary-600">
<i data-feather="refresh-cw" class="inline w-4 h-4 mr-1"></i>Refresh
</button>
</div>
</div>
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-secondary-800">
<thead>
<tr>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">EA Name</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">Status</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">Symbol</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">Trades</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">P&L</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">Win Rate</th>
<th class="px-6 py-3 text-left text-xs font-medium text-secondary-400 uppercase tracking-wider">Actions</th>
</tr>
</thead>
<tbody class="divide-y divide-secondary-800">
<tr class="hover:bg-secondary-800/50">
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-white">TrendMaster Pro</td>
<td class="px-6 py-4 whitespace-nowrap text-sm">
<span class="px-2 py-1 text-xs bg-primary-500/20 text-primary-400 rounded">Active</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">EURUSD</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">45</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-primary-400">+$1,234</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-white">72%</td>
<td class="px-6 py-4 whitespace-nowrap text-sm">
<button class="text-primary-400 hover:text-primary-300 mr-2">
<i data-feather="settings" class="w-4 h-4"></i>
</button>
<button class="text-yellow-400 hover:text-yellow-300 mr-2">
<i data-feather="pause" class="w-4 h-4"></i>
</button>
<button class="text-red-400 hover:text-red-300">
<i data-feather="x" class="w-4 h-4"></i>
</button>
</td>
</tr>
<tr class="hover:bg-secondary-800/50">
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-white">ScalperX 2024</td>
<td class="px-6 py-4 whitespace-nowrap text-sm">
<span class="px-2 py-1 text-xs bg-green-600/20 text-green-400 rounded">Active</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">GBPUSD</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">128</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-primary-400">+$892</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-white">65%</td>
<td class="px-6 py-4 whitespace-nowrap text-sm">
<button class="text-primary-400 hover:text-primary-300 mr-2">
<i data-feather="settings" class="w-4 h-4"></i>
</button>
<button class="text-yellow-400 hover:text-yellow-300 mr-2">
<i data-feather="pause" class="w-4 h-4"></i>
</button>
<button class="text-red-400 hover:text-red-300">
<i data-feather="x" class="w-4 h-4"></i>
</button>
</td>
</tr>
<tr class="hover:bg-secondary-800/50">
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-white">GridMaster FX</td>
<td class="px-6 py-4 whitespace-nowrap text-sm">
<span class="px-2 py-1 text-xs bg-red-600/20 text-red-400 rounded">Stopped</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">USDJPY</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-secondary-300">23</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-accent-400">-$456</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-white">48%</td>
<td class="px-6 py-4 whitespace-nowrap text-sm">
<button class="text-primary-400 hover:text-primary-300 mr-2">
<i data-feather="settings" class="w-4 h-4"></i>
</button>
<button class="text-green-400 hover:text-green-300 mr-2">
<i data-feather="play" class="w-4 h-4"></i>
</button>
<button class="text-red-400 hover:text-red-300">
<i data-feather="x" class="w-4 h-4"></i>
</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- EA Performance Chart -->
<div class="gradient-border rounded-lg p-6 glass mt-8">
<h3 class="text-lg font-semibold text-white mb-4">EA Performance Comparison</h3>
<div class="h-64">
<canvas id="eaPerformanceChart"></canvas>
</div>
</div>
</div>
</div>
</main>
<!-- Scripts -->
<script>
// Page navigation
function showPage(pageId) {
// Hide all pages
document.querySelectorAll('.page-container').forEach(page => {
page.classList.add('hidden');
});
// Show selected page
const selectedPage = document.getElementById(pageId + '-page');
if (selectedPage) {
selectedPage.classList.remove('hidden');
selectedPage.classList.add('fade-in');
}
// Update navigation
document.querySelectorAll('.nav-link').forEach(link => {
link.classList.remove('bg-primary-600', 'text-white');
link.classList.add('text-secondary-300', 'hover:bg-secondary-800');
});
const activeLink = document.querySelector(`[data-page="${pageId}"]`);
if (activeLink) {
activeLink.classList.add('bg-primary-600', 'text-white');
activeLink.classList.remove('text-secondary-300', 'hover:bg-secondary-800');
}
}
// Initialize charts
document.addEventListener('DOMContentLoaded', function() {
// Performance Chart
const perfCtx = document.getElementById('performanceChart');
if (perfCtx) {
new Chart(perfCtx, {
type: 'line',
data: {
labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
datasets: [{
label: 'Equity',
data: [23000, 24500, 23800, 25200, 24800, 26891],
borderColor: '#22c55e',
backgroundColor: 'rgba(34, 197, 94, 0.1)',
tension: 0.4
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: {
legend: {
labels: {
color: '#a1a1aa'
}
}
},
scales: {
x: {
ticks: {
color: '#a1a1aa'
},
grid: {
color: '#27272a'
}
},
y: {
ticks: {
color: '#a1a1aa'
},
grid: {
color: '#27272a'
}
}
}
}
});
}
// EA Performance Chart
const eaPerfCtx = document.getElementById('eaPerformanceChart');
if (eaPerfCtx) {
new Chart(eaPerfCtx, {
type: 'bar',
data: {
labels: ['TrendMaster Pro', 'ScalperX 2024', 'GridMaster FX', 'Breakout Bot', 'Range Trader'],
datasets: [{
label: 'P&L ($)',
data: [1234, 892, -456, 678, 234],
backgroundColor: [
'rgba(34, 197, 94, 0.8)',
'rgba(34, 197, 94, 0.8)',
'rgba(239, 68, 68, 0.8)',
'rgba(34, 197, 94, 0.8)',
'rgba(34, 197, 94, 0.8)'
]
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: {
legend: {
labels: {
color: '#a1a1aa'
}
}
},
scales: {
x: {
ticks: {
color: '#a1a1aa'
},
grid: {
color: '#27272a'
}
},
y: {
ticks: {
color: '#a1a1aa'
},
grid: {
color: '#27272a'
}
}
}
}
});
}
// Initialize feather icons
feather.replace();
// Initialize mobile menu button
const mobileMenuButton = document.getElementById('mobile-menu-button');
if (mobileMenuButton) {
mobileMenuButton.addEventListener('click', toggleMobileMenu);
}
// Close mobile menu when clicking outside
document.addEventListener('click', function(event) {
const mobileMenu = document.getElementById('mobile-menu');
const menuButton = document.getElementById('mobile-menu-button');
if (mobileMenu && menuButton) {
const isClickInsideMenu = mobileMenu.contains(event.target);
const isClickOnButton = menuButton.contains(event.target);
if (!isClickInsideMenu && !isClickOnButton && !mobileMenu.classList.contains('hidden')) {
closeMobileMenu();
}
}
// Add slide animation to navigation
anime({
targets: 'nav',
translateY: [-20, 0],
opacity: [0, 1],
duration: 800,
easing: 'easeOutExpo'
});
// Add stagger animation to cards
anime({
targets: '.gradient-border',
translateY: [20, 0],
opacity: [0, 1],
delay: anime.stagger(100),
duration: 800,
easing: 'easeOutExpo'
});
});
// Real-time updates simulation
setInterval(() => {
// Update balance
const balanceElement = document.querySelector('.pulse-glow p.text-2xl');
if (balanceElement) {
const currentBalance = parseFloat(balanceElement.textContent.replace('$', '').replace(',', ''));
const newBalance = currentBalance + (Math.random() - 0.5) * 10;
balanceElement.textContent = `$${newBalance.toFixed(2)}`;
}
}, 5000);
</script>
</body>
</html>