Guarda come scaricare robot di trading gratuitamente
Ci trovi su Facebook!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Visualizzazioni:
21
Valutazioni:
(2)
Pubblicato:
Freelance MQL5 Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

JSON ad alte prestazioni (v3.5.0)

Una libreria JSON progettata per LLM, trading autonomo e bassissima latenza.

Il problema

Durante l'integrazione dei modelli AI (GPT-4o, Claude 3.5, DeepSeek) in MetaTrader 5, le librerie standard della comunità hanno fallito su due punti critici: l'allocazione della memoria e la latenza di serializzazione. L'uso eccessivo della ricorsione e delle stringhe temporanee ha trasformato l'elaborazione delle risposte dell'intelligenza artificiale (chiamata di funzione) in colli di bottiglia che hanno bloccato il terminale. Il "dolore" di perdere tick mentre il Garbage Collector cancellava le stringhe è stato il motivo di questa architettura.

architettura fast_json

Riscritta da zero con un'attenzione ossessiva alle prestazioni:

  1. Architettura a zero allocazioni: parsing tramite nastro (buffer contiguo long[] ) e serializzazione diretta nel buffer uchar[] . Eliminiamo gli intermediari: il payload passa dal socket direttamente alla struttura dati senza creare migliaia di oggetti.
  2. Parsing numerico ibrido: nella versione 3.4.0, abbiamo introdotto l'accumulo di interi tramite long (ALU nativa) e tabelle di lookup statiche Exp10 per la massima precisione in virgola mobile.
  3. Macchina a stati iterativi: addio ricorsione. Un parser lineare impedisce lo stack overflow anche in JSON profondamente annidati.
  4. Scansione SWAR: lettura SIMD (8 byte per ciclo) per saltare spazi bianchi e stringhe lunghe.

Prestazioni

Test effettuati su hardware standard (x64) con un payload complesso di 50.000 nodi:

Operazione (fast_json) Lib precedente (JAson) Vantaggio
Parse 137 ms 1540 ms 11,2 volte più veloce
Serializzazione 264 ms 568 ms 2,1 volte più veloce
Totale (andata e ritorno) 401 ms 2129 ms 5,3 volte più veloce

> Risultati verificabili tramite lo script TestJsonBenchmark.mq5 incluso nel pacchetto.

Benchmark



Caratteristiche principali

  • Resilienza HFT: allocazione deterministica della memoria. Il Garbage Collector non interviene durante l'analisi.
  • O(1) Introspezione: verifica istantanea delle chiavi HasKey() o degli array Size(), senza scansione lineare.
  • Sicurezza dei tipi: accesso rigoroso ai tipi ( GetInt , GetDouble , GetString ). Nessuna variante magica che causa bug silenziosi.
  • Segnalazione accurata degli errori: in caso di errore, vengono restituite le righe e le colonne esatte.

Esempio di utilizzo: lettura della risposta di 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);
    }
}

Esempio: creazione di una richiesta (costruttore ottimizzato)

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

Sviluppato da Jonathan Pereira come infrastruttura di base del framework AI-Toolkit.

Tradotto dal portoghese da MetaQuotes Ltd.
Codice originale: https://www.mql5.com/pt/code/68596

Timeframe Quality Analyzer Timeframe Quality Analyzer

Trovare il timeframe perfetto per il trading

VR Rsi Robot - Strategia di trading multi-timeframe VR Rsi Robot - Strategia di trading multi-timeframe

Solo due timeframe — H1 e D1 — lavorano in sincronia per filtrare il rumore e catturare solo i forti inversioni del RSI dalle zone di ipercomprato e ipervenduto. Niente entrate casuali, solo una chiara conferma della direzione da parte del "fratello maggiore".

OHLCMTF Scalper EA - Multi-Timeframe Price Action 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.

Convertitore NeuroPro Convertitore NeuroPro

Convertitore di verbalizzazione NeuroPro per MQL5