Rejoignez notre page de fans
- Vues:
- 29
- Note:
- Publié:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
JSON haute performance (v3.5.0)
Une bibliothèque JSON conçue pour les LLM, le trading autonome et l'ultra faible latence.
Le problème
Lors de l'intégration de modèles d'IA (GPT-4o, Claude 3.5, DeepSeek) dans MetaTrader 5, les bibliothèques standard de la communauté ont échoué sur deux points critiques : l'allocation de mémoire et la latence de sérialisation. L'utilisation excessive de la récursivité et des chaînes temporaires a transformé le traitement des réponses de l'IA (appel de fonction) en goulots d'étranglement qui ont gelé le terminal. La "douleur" de perdre des ticks pendant que le Garbage Collector nettoyait les chaînes de caractères est ce qui a motivé cette architecture.
Architecture fast_json
Réécrite à partir de zéro avec un souci obsessionnel de performance :
- Architecture à allocation zéro: analyse via Tape (tampon contigu long[] ) et sérialisation directe dans le tampon uchar[] . Nous éliminons les intermédiaires : la charge utile passe directement de la prise à la structure de données sans créer des milliers d'objets.
- Analyse numérique hybride: dans la version 3.4.0, nous avons introduit l'accumulation d'entiers via long (ALU native) et les tables de recherche statiques Exp10 pour une précision maximale en virgule flottante.
- Machine d'état itérative: adieu la récursion. Un analyseur linéaire permet d'éviter les débordements de pile, même dans les JSON profondément imbriqués.
- Analyse SWAR: lecture SIMD (8 octets par cycle) pour ignorer les espaces blancs et les longues chaînes de caractères.
Performances
Tests effectués sur du matériel standard (x64) avec une charge utile complexe de 50 000 nœuds :
| Opération | (fast_json) | Ancienne librairie (JAson) | Avantage |
|---|---|---|---|
| Analyse | 137 ms | 1540 ms | 11,2 fois plus rapide |
| Sérialisation | 264 ms | 568 ms | 2,1x plus rapide |
| Total (aller-retour) | 401 ms | 2129 ms | 5.3x plus rapide |
> Résultats vérifiables via le script TestJsonBenchmark.mq5 inclus dans le package.
Caractéristiques principales
- Résilience HFT: Allocation de mémoire déterministe. Le ramasse-miettes n'intervient pas pendant l'analyse.
- Introspection O(1): vérification des clés HasKey() ou des tableaux Size() instantanément, sans balayage linéaire.
- Sécurité des types: accès strict aux types ( GetInt , GetDouble , GetString ). Pas de variantes magiques qui provoquent des bogues silencieux.
- Rapport d'erreur précis: en cas d'échec, renvoie la ligne et la colonne exactes.
Exemple d'utilisation : lecture de la réponse de l'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);
}
}
Exemple : Construction d'une requête (Optimised Builder)
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
Développé par Jonathan Pereira en tant qu'infrastructure de base du cadre AI-Toolkit.
Traduit du portugais par MetaQuotes Ltd.
Code original : https://www.mql5.com/pt/code/68596
Timeframe Quality Analyzer
Trouver la période idéale pour trader
VR Rsi Robot - Stratégie de trading multi-timeframes
Seulement deux timeframes — H1 et D1 — travaillent en synergie pour filtrer le bruit et capturer uniquement les forts retournements du RSI depuis les zones de surachat et de survente. Pas d'entrées aléatoires, seulement une confirmation claire de la direction par le "grand frère".
OHLCMTF Scalper EA - Multi-Timeframe Price Action
A strict Multi-Timeframe Price Action Expert Advisor that trades based on precise OHLC conditions across different timeframes simultaneously. It features pending order entries, role reversals, and dynamic risk management without using any lagging indicators.
Convertisseur NeuroPro
Convertisseur de verbalisation NeuroPro pour MQL5

