Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Twitter!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Bibliotecas

JSON Library for LLMs - biblioteca para MetaTrader 5

Visualizações:
196
Avaliação:
(1)
Publicado:
Atualizado:
Freelance MQL5 Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

High-Performance JSON (v3.5.0)

Uma biblioteca JSON projetada para LLMs, Trading Autônomo e Ultra-Baixa Latência.

O Problema

Ao integrar modelos de IA (GPT-4o, Claude 3.5, DeepSeek) no MetaTrader 5, as bibliotecas padrão da comunidade falhavam em dois pontos críticos: Alocação de Memória e Latência de Serialização. O uso excessivo de recursão e strings temporárias transformava o processamento de respostas de IA (Function Calling) em gargalos que congelavam o terminal. A "dor" de perder ticks enquanto o Garbage Collector limpava strings foi o que motivou esta arquitetura.

Arquitetura fast_json

Reescrita do zero com foco obsessivo em performance:

  1. Zero-Allocation Architecture: Parsing via Tape (buffer contíguo long[] ) e Serialização direta no buffer uchar[] . Eliminamos intermediários: o payload sai do socket direto para a estrutura de dados sem criar milhares de objetos.
  2. Hybrid Numeric Parsing: Na v3.4.0, introduzimos acumulação de inteiros via long (ALU nativa) e tabelas de lookup Exp10 estáticas para precisão máxima em floating-points.
  3. Iterative State Machine: Adeus recursão. Um parser linear previne Stack Overflow mesmo em JSONs profundamente aninhados.
  4. SWAR Scanning: Leitura SIMD (8 bytes por ciclo) para pular espaços em branco e strings longas.

Performance

Testes realizados em hardware padrão (x64) com payload complexo de 50.000 nós:

Operação (fast_json) Legacy Lib (JAson) Vantagem
Parse 137 ms 1540 ms 11.2x mais rápido
Serialização 264 ms 568 ms 2.1x mais rápido
Total (Roundtrip) 401 ms 2129 ms 5.3x mais rápido

> Resultados verificáveis via script TestJsonBenchmark.mq5 incluído no pacote.

Benchmark



Principais Recursos

  • Resiliência HFT: Alocação de memória determinística. O Garbage Collector não intervém durante o parse.
  • Introspecção O(1): Verifique chaves HasKey() ou tamanho de arrays Size() instantaneamente, sem scan linear.
  • Type Safety: Acesso tipado estrito ( GetInt , GetDouble , GetString ). Sem variantes mágicas que causam bugs silenciosos.
  • Error Reporting Preciso: Em caso de falha, retorna exatamente Linha e Coluna.

Exemplo de Uso: Lendo Resposta da 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);
    }
}

Exemplo: Construindo Request (Builder Otimizado)

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

Desenvolvido por Jonathan Pereira como infraestrutura central do framework AI-Toolkit.

iCrosshair - Real-Time Candle Metrics on Hover iCrosshair - Real-Time Candle Metrics on Hover

Passe o mouse sobre qualquer candle para ver o que o MT5 não mostra: Tamanho do intervalo, porcentagem de corpo, proporções de pavio. Inteligente, rápido e personalizável.

RSI Price Action Breakout Indicator RSI Price Action Breakout Indicator

A high-precision trend reversal indicator combining RSI exhaustion zones with candlestick breakout patterns.

nCalcular o lote por porcentagem nCalcular o lote por porcentagem

Função de cálculo de lote por porcentagem de risco

Larry Williams XGBoost Onnx Larry Williams XGBoost Onnx

adoção do método de Larry William usando o AI Time-Series XGBoost