Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
- Visualizações:
- 196
- Avaliação:
- Publicado:
- Atualizado:
-
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:
- 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.
- 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.
- Iterative State Machine: Adeus recursão. Um parser linear previne Stack Overflow mesmo em JSONs profundamente aninhados.
- 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.
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
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
A high-precision trend reversal indicator combining RSI exhaustion zones with candlestick breakout patterns.
nCalcular o lote por porcentagem
Função de cálculo de lote por porcentagem de risco
Larry Williams XGBoost Onnx
adoção do método de Larry William usando o AI Time-Series XGBoost

