Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
- Visualizaciones:
- 140
- Ranking:
- Publicado:
- Actualizado:
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
JSON de alto rendimiento (v3.5.0)
Una biblioteca JSON diseñada para LLM, comercio autónomo y latencia ultrabaja.
El Problema
Al integrar modelos de IA (GPT-4o, Claude 3.5, DeepSeek) en MetaTrader 5, las librerías estándar de la comunidad fallaban en dos puntos críticos: Asignación de memoria y Latencia de serialización. El uso excesivo de recursividad y cadenas temporales convirtió el procesamiento de las respuestas de la IA (Llamada a Funciones) en cuellos de botella que congelaban el terminal. El "dolor" de perder ticks mientras el Garbage Collector limpiaba cadenas fue lo que motivó esta arquitectura.
arquitectura fast_json
Reescrita desde cero con un enfoque obsesivo en el rendimiento:
- Arquitectura de Asignación Cero: Parseo vía Cinta (buffer contiguo long[] ) y Serialización Directa en buffer uchar[] . Eliminamos intermediarios: la carga útil va del socket directamente a la estructura de datos sin crear miles de objetos.
- Análisis numérico híbrido: En v3.4.0, hemos introducido la acumulación de enteros mediante long (ALU nativa) y tablas de consulta estáticas Exp10 para obtener la máxima precisión en puntos flotantes.
- Máquina de estados iterativa: adiós a la recursión. Un analizador lineal evita Stack Overflow incluso en JSONs profundamente anidados.
- Análisis SWAR: lectura SIMD (8 bytes por ciclo) para omitir espacios en blanco y cadenas largas.
Rendimiento
Pruebas realizadas en hardware estándar (x64) con una carga útil compleja de 50.000 nodos:
| Operación | (fast_json) | Lib. heredada (JAson) | Ventaja |
|---|---|---|---|
| Parse | 137 ms | 1540 ms | 11,2 veces más rápido |
| Serialización | 264 ms | 568 ms | 2,1 veces más rápido |
| Total (ida y vuelta) | 401 ms | 2129 ms | 5,3 veces más rápido |
> Resultados verificables mediante el script TestJsonBenchmark.mq5 incluido en el paquete.
Características principales
- Resistencia HFT: Asignación de memoria determinista. El recolector de basura no interviene durante el análisis sintáctico.
- Introspección O(1): Comprobación instantánea de claves HasKey() o matrices Size(), sin escaneo lineal.
- Seguridad de tipos: Acceso estricto a tipos ( GetInt , GetDouble , GetString ). Sin variantes mágicas que causan bugs silenciosos.
- Informe preciso de errores: En caso de fallo, devuelve la fila y columna exactas.
Ejemplo de uso: Lectura de la respuesta de OpenAI
#include <fast_json.mqh>
void OnStart() {
string payload = GetOpenAIResponse(); // JSON massivo
CJson json;
if(json.Parse(payload)) {
// Acesso direto performance-critical (Zero-Copy)
string content = json["choices"][0]["message"]["content"].ToString();
// Exemplo: Extraindo uso de tokens
if(json.HasKey("usage")) {
long tokens = json["usage"]["total_tokens"].ToInt();
Print("Consumo: ", tokens);
}
} else {
// Debug preciso
int l, c;
json.GetErrorPos(l, c);
PrintFormat("Erro JSON na Linha %d, Coluna %d", l, c);
}
}
Ejemplo: Construyendo Petición (Constructor Optimizado)
CJsonBuilder b;
b.Obj()
.Key("model").Val("gpt-4-turbo")
.Key("messages").Arr()
.Obj()
.Key("role").Val("user")
.Key("content").Val("Analyze EURUSD H1 trend")
.EndObj()
.EndArr()
.Key("temperature").Val(0.7)
.EndObj();
string body = b.Serialization(); // Serialização ultra-rápida
Desarrollado por Jonathan Pereira como infraestructura central del framework AI-Toolkit.
Traducción del portugués hecha por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/pt/code/68596
Timeframe Quality Analyzer
Encuentre el marco temporal perfecto para operar
VR Rsi Robot - Estrategia de trading multi-timeframe
Solo dos marcos de tiempo — H1 y D1 — trabajan sincrónicamente para filtrar el ruido y capturar únicamente los fuertes giros del RSI desde zonas de sobrecompra y sobreventa. Nada de entradas aleatorias, solo una clara confirmación de la dirección por parte del "hermano mayor".
Convertidor NeuroPro
Convertidor de verbalización NeuroPro para MQL5
SessionRangeBoxes
Dibuja recuadros de colores para las sesiones de Asia, Londres y Nueva York en cualquier gráfico. Incluye un panel de estadísticas que muestra los rangos medios de la sesión en pips y alertas opcionales de ruptura cuando el precio sale de un cuadro de sesión.

