v2.4.1 | Multi-IA Consensus Engine
Google AI
Análisis de noticias en tiempo real, sentimiento de mercado y tendencias macroeconómicas. Ideal para swing trading.
DeepSeek AI
Chain-of-Thought reasoning para análisis técnico profundo. Detección de patrones de velas, estructura de mercado y momentum. Excelente para interdía.
Meta AI (Local)
Ejecución local vía Ollama. Análisis de order book, microestructura y toma de decisiones ultra-rápida para scalping de alta frecuencia.
Gemini
Macro/Sentiment
DeepSeek
Técnico/Pattern
LLaMA 3
Micro/Scalping
Decisión del Consenso
Confianza Ponderada
--%VENTAS (ASK)
COMPRAS (BID)
P&L Total
$0.00
Win Rate
--%
Sharpe Ratio
Max DD
--%
class TradingAIOrchestrator:
def __init__(self):
self.gemini = GeminiClient(api_key=GEMINI_KEY)
self.deepseek = DeepSeekClient(api_key=DEEPSEEK_KEY)
self.llama = OllamaClient(model="llama3.3:70b")
self.consensus_threshold = 0.65
async def analyze_swing(self, symbol: str, data: dict):
"""Core de Swing Trading - Gemini lidera"""
# Gemini: Análisis macro y sentimiento
macro = await self.gemini.analyze(
prompt=f"Análisis macro y sentimiento para {symbol}",
context=data['news'] + data['fundamentals'],
model="gemini-3.7-flash"
)
# DeepSeek: Confirmación técnica de swing
technical = await self.deepseek.analyze(
prompt=f"Patrones de swing en {symbol}",
context=data['candles_h4'],
reasoning=True # Chain-of-Thought
)
# LLaMA: Timing de entrada optimizado
timing = await self.llama.analyze(
prompt=f"Microestructura para entrada swing",
context=data['orderbook'],
temperature=0.1 # Determinista
)
return self.consensus_vote([macro, technical, timing])
async def analyze_scalping(self, symbol: str, data: dict):
"""Core de Scalping - LLaMA lidera"""
# LLaMA: Análisis ultra-rápido de microestructura
micro = await self.llama.analyze(
prompt=f"Order book imbalance y FVG para {symbol}",
context=data['ticks_m1'],
max_tokens=150 # Respuesta rápida
)
# DeepSeek: Confirmación de momentum
momentum = await self.deepseek.analyze(
prompt=f"Momentum confirmation scalping",
context=data['indicators_m5'],
reasoning=True
)
# Gemini: Filtro de noticias de último momento
news_filter = await self.gemini.analyze(
prompt=f"Breaking news impact assessment",
context=data['headlines'],
model="gemini-3.1-flash-lite" # Rápido
)
return self.consensus_vote([micro, momentum, news_filter])
def consensus_vote(self, signals: list) -> dict:
"""Motor de consenso ponderado"""
weights = {
'swing': {'gemini': 0.5, 'deepseek': 0.3, 'llama': 0.2},
'intraday': {'gemini': 0.25, 'deepseek': 0.45, 'llama': 0.3},
'scalping': {'gemini': 0.15, 'deepseek': 0.25, 'llama': 0.6}
}
# ... lógica de votación y decisión final
# Configuración del Core Multi-IA
ai_orchestrator:
# Google Gemini - Análisis Macro & Sentimiento
gemini:
api_key: "${GEMINI_API_KEY}"
model_primary: "gemini-3.7-flash"
model_fallback: "gemini-3.1-flash-lite"
temperature: 0.3
max_tokens: 2048
role: "macro_sentiment_analyst"
weight_swing: 0.50
weight_intraday: 0.25
weight_scalping: 0.15
# DeepSeek - Razonamiento Técnico Avanzado
deepseek:
api_key: "${DEEPSEEK_API_KEY}"
model: "deepseek-reasoner"
temperature: 0.2
max_tokens: 4096
reasoning_effort: "high"
role: "technical_pattern_analyst"
weight_swing: 0.30
weight_intraday: 0.45
weight_scalping: 0.25
# LLaMA 3 (Local vía Ollama) - Microestructura
llama:
base_url: "http://localhost:11434"
model: "llama3.3:70b-instruct-q4_K_M"
temperature: 0.1
max_tokens: 512
role: "microstructure_scalping"
weight_swing: 0.20
weight_intraday: 0.30
weight_scalping: 0.60
# Estrategias por Timeframe
strategies:
swing:
timeframe: "H4"
ai_leader: "gemini"
consensus_mode: "weighted"
min_confidence: 0.75
holding_period: "2-10 días"
intraday:
timeframe: "M15"
ai_leader: "deepseek"
consensus_mode: "majority"
min_confidence: 0.70
holding_period: "1-8 horas"
scalping:
timeframe: "M1"
ai_leader: "llama"
consensus_mode: "unanimous"
min_confidence: 0.85
holding_period: "5-30 minutos"