Analizador avanzado de estrategias de trading para MetaTrader 5 con IA, análisis técnico automático y traducción de estrategias entre frameworks.
- Detección Automática de Estrategia: NO necesitas saber qué estrategia usas - El sistema analiza tus trades y detecta automáticamente: Grid, Scalping, Trend Following, Martingale, Hedge, etc.
- Análisis con IA: Evaluación inteligente de estrategias usando OpenAI GPT-4
- Análisis de Historial Completo: Lee todos tus trades cerrados (últimos 90 días) y posiciones actuales
- Identificación de Patrones: Detecta qué estrategia estás usando basándose en patrones de apertura, cierre y gestión de posiciones
- 17 Indicadores Técnicos: RSI, MACD, Bollinger Bands, ATR, Stochastic, y más
- Auto-Traducción: Convierte estrategias entre Pine Script, MQL5 y Python
- Optimización Inteligente: Sugiere mejoras en parámetros sin que sepas qué estrategia usas
- Análisis de Riesgo: Cálculo automático de drawdown, Sharpe ratio, win rate
- Interfaz Moderna: Dashboard interactivo con Next.js 14 y Tailwind CSS
- Seguro: Sin credenciales hardcodeadas, todo vía variables de entorno
mt5-strategy-analyzer/
├── backend/ # FastAPI + Python
│ ├── api.py # REST API con 17 endpoints
│ ├── strategy_auto_translator.py # Traducción de estrategias
│ ├── openai_analyzer.py # Integración OpenAI
│ ├── requirements.txt # Dependencias Python
│ ├── .env.example # Template de configuración
│ └── check_config.py # Verificador de configuración
│
├── frontend/ # Next.js 14 + React 18
│ ├── src/app/ # App Router
│ ├── src/components/ # Componentes React
│ ├── package.json # Dependencias Node.js
│ └── .env.example # Template frontend
│
└── start.ps1 # Script de inicio automatizado
- Python 3.8+ (Descargar)
- Node.js 18+ (Descargar)
- pnpm (instalar:
npm install -g pnpm) - MetaTrader 5 (Descargar)
# Ejecutar desde la raíz del proyecto
.\start.ps1Este script:
- ✅ Verifica todas las dependencias
- ✅ Crea entornos virtuales
- ✅ Instala paquetes automáticamente
- ✅ Configura archivos .env
- ✅ Inicia backend y frontend
- ✅ Abre los navegadores automáticamente
cd backend
# Crear entorno virtual
python -m venv venv
# Activar entorno (Windows)
.\venv\Scripts\Activate.ps1
# O en Linux/Mac: source venv/bin/activate
# Instalar dependencias
pip install -r requirements.txt
# Configurar variables de entorno
cp .env.example .env
notepad .env # Editar con tus credenciales MT5
# Verificar configuración
python check_config.py
# Iniciar servidor
uvicorn api:app --reload --host 0.0.0.0 --port 8080cd frontend
# Instalar dependencias
pnpm install
# Configurar variables de entorno (si no existe)
cp .env.example .env.local
# Iniciar aplicación
pnpm dev# Base de datos (opcional)
MONGO_URI=mongodb://localhost:27017/mt5db
# Credenciales MT5 (REQUERIDO)
MT5_LOGIN=tu_numero_de_cuenta
MT5_PASSWORD=tu_contraseña
MT5_SERVER=nombre_del_servidor
# OpenAI (opcional - para análisis IA)
OPENAI_API_KEY=sk-tu-clave-api
OPENAI_MODEL=gpt-4-turbo
OPENAI_MAX_TOKENS=2000
# Servidor API
API_HOST=0.0.0.0
API_PORT=8080
CORS_ORIGINS=http://localhost:3000,http://localhost:3001NEXT_PUBLIC_API_BASE=http://localhost:8080| Método | Endpoint | Descripción |
|---|---|---|
| GET | / |
Health check |
| GET | /api/prices |
Obtener precios históricos |
| POST | /api/strategy/analyze |
Analizar estrategia con IA |
| POST | /api/strategy/translate |
Traducir estrategia entre lenguajes |
| POST | /api/strategy/backtest |
Ejecutar backtest |
| POST | /api/strategy/optimize |
Optimizar parámetros |
| GET | /api/indicators/rsi |
Calcular RSI |
| GET | /api/indicators/macd |
Calcular MACD |
| GET | /api/indicators/bollinger |
Calcular Bollinger Bands |
| GET | /api/indicators/atr |
Calcular ATR |
| GET | /api/patterns/detect |
Detectar patrones de velas |
| GET | /api/risk/calculate |
Calcular métricas de riesgo |
| POST | /api/orders/place |
Colocar orden en MT5 |
| GET | /api/orders/active |
Ver órdenes activas |
| GET | /api/positions |
Ver posiciones abiertas |
| GET | /api/account |
Información de cuenta |
| GET | /docs |
Documentación interactiva (Swagger) |
# Desde la raíz del proyecto
.\start.ps1- Frontend: http://localhost:3000
- API Docs: http://localhost:8080/docs
NO NECESITAS SABER QUÉ ESTRATEGIA USAS - El sistema la detecta automáticamente:
# Solo llama a este endpoint:
GET http://localhost:8080/analyze/full
# El sistema automáticamente:
# ✅ Lee tu historial de trades (últimos 90 días)
# ✅ Analiza tus posiciones actuales
# ✅ Detecta patrones (Grid, Scalping, Trend Following, etc.)
# ✅ Identifica el timeframe (M1, M15, H1, etc.)
# ✅ Infiere los indicadores que usas
# ✅ Te dice QUÉ estrategia estás usando
# ✅ Te explica CÓMO funciona
# ✅ Te sugiere MEJORAS
# Respuesta ejemplo:
{
"strategy": "Grid Scalping con Martingala",
"explanation": "Detectado 15 posiciones duplicadas en EURUSD.
Tu estrategia coloca órdenes en grid...",
"timeframe": "M1-M5",
"indicators": ["Bollinger Bands", "RSI", "Support/Resistance"],
"win_rate": 65.5,
"suggestions": ["Reducir grid step de 50 a 35 pips..."]
}Ver más detalles en: DETECCION_AUTOMATICA.md
# El sistema detecta automáticamente qué optimizar
import requests
# Solo envía tu performance actual
response = requests.post(
"http://localhost:8080/strategy/optimize",
json={
"strategy_name": "", # ← DÉJALO VACÍO, se detecta automáticamente
"current_performance": {
"win_rate": 65.5,
"profit_factor": 1.8,
"max_drawdown": 500
}
}
)
# Recibes sugerencias de mejora automáticas
print(response.json()["optimized_parameters"])cd backend
python check_config.pyimport MetaTrader5 as mt5
if not mt5.initialize():
print("Error: MT5 no conectado")
else:
print(f"Conectado: {mt5.account_info()}")
mt5.shutdown()# Backend
cd backend
pytest
# Frontend
cd frontend
pnpm test- Framework: FastAPI 0.104+
- Trading: MetaTrader5 5.0+
- Data: pandas 2.0+, numpy
- ML: scikit-learn 1.3+
- IA: OpenAI GPT-4 API
- Visualización: matplotlib, plotly
- Framework: Next.js 14 (App Router)
- UI Library: React 18
- Styling: Tailwind CSS 3
- Components: Radix UI
- Charts: Recharts
- Language: TypeScript 5
- ✅ Sin credenciales hardcodeadas
- ✅ Variables de entorno con
.env - ✅
.gitignoreprotege archivos sensibles - ✅ CORS configurado por ambiente
- ✅ Tokens enmascarados en logs
- ✅ Documentación de seguridad (SECURITY.md)
- Nunca commitear archivos
.envcon credenciales reales - Usar
.env.examplecomo template - Rotar claves API regularmente
- Habilitar 2FA en cuentas de trading
- Usar cuentas demo para desarrollo
# Buscar credenciales expuestas
git grep -i "password\|api_key\|secret"
# Verificar .gitignore
git status | grep .env # Solo debe mostrar .env.example- Backend README - Guía completa del backend
- Frontend README - Guía completa del frontend
- SECURITY.md - Guía de seguridad
- API Docs - Documentación interactiva Swagger
Solución:
1. Asegurar MetaTrader 5 está abierto
2. Verificar credenciales en .env
3. Comprobar que el servidor MT5 es correcto
4. Reiniciar MT5 y volver a intentar
Solución:
1. Activar entorno virtual: .\venv\Scripts\Activate.ps1
2. Reinstalar dependencias: pip install -r requirements.txt
3. Verificar versión de Python: python --version (debe ser 3.8+)
Solución:
1. Cerrar otros procesos en puerto 8080:
netstat -ano | findstr :8080
taskkill /PID <PID> /F
2. O cambiar puerto en .env:
API_PORT=8081
Solución:
1. Verificar CORS_ORIGINS en backend/.env
2. Debe incluir: http://localhost:3000
3. Reiniciar backend después de cambiar
# Fork el repositorio
git clone https://github.com/tu-usuario/mt5-strategy-analyzer
cd mt5-strategy-analyzer
# Crear rama para feature
git checkout -b feature/nueva-funcionalidad
# Hacer cambios y commit
git add .
git commit -m "feat: descripción del cambio"
# Push y crear PR
git push origin feature/nueva-funcionalidad- Backend: PEP 8 (Python)
- Frontend: ESLint + Prettier
- Commits: Conventional Commits
- Branches:
feature/,fix/,docs/
MIT License
Copyright (c) 2025 deco31416
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Desarrollado por @deco31416 ❤️ para traders algorítmicos.
Contacto:
- Email: contacto@deco31416.com
- Website: https://www.deco31416.com/
- MetaQuotes por MetaTrader 5 API
- OpenAI por GPT-4 API
- Comunidad de trading algorítmico
Quick Start: .\start.ps1 → http://localhost:3000
Docs: http://localhost:8080/docs
Importante: Asegurar MetaTrader 5 esté abierto antes de usar la aplicación.