请观看如何免费下载自动交易
请在Facebook上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
显示:
26
等级:
(2)
已发布:
\MQL5\Include\
JAson.mqh (30.59 KB) 预览
fast_json.mqh (39.86 KB) 预览
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

高性能 JSON(v3.5.0)

专为 LLM、自主交易和超低延迟设计的 JSON 库。

问题所在

在将人工智能模型(GPT-4o、Claude 3.5、DeepSeek)集成到 MetaTrader 5 时,社区的标准库在两个关键点上出现了问题:内存分配序列化延迟。递归和临时字符串的过度使用使人工智能响应(函数调用)的处理陷入瓶颈,导致终端冻结。在垃圾收集器清除字符串的过程中损失的点数所带来的 "痛苦 "正是这种架构的动机所在。

fast_json 架构

从头开始重写,专注于性能:

  1. 零分配架构:通过Tape(连续缓冲区 long[])进行解析,并在缓冲区 uchar[] 中直接序列化。我们消除了中间环节:有效载荷从套接字直接进入数据结构,无需创建数千个对象。
  2. 混合数字解析:在 v3.4.0,我们通过 long(本地 ALU)和静态 Exp10 查找表引入了整数累加功能,以实现浮点 最高精度。
  3. 迭代状态机:告别递归。线性解析器可防止堆栈溢出,即使在深度嵌套的 JSON 中也是如此。
  4. SWAR 扫描:SIMD 读取(每周期 8 字节)跳过空白和长字符串。

性能

测试在标准硬件(x64)上进行,使用 50,000 个节点的复杂有效载荷:

操作 (fast_json) 传统 Lib (JAson) 优势
解析 137 毫秒 1540 毫秒 快 11.2 倍
序列化 264 毫秒 568 毫秒 快 2.1 倍
总计(往返) 401 毫秒 2129 毫秒 快 5.3 倍

> 可通过软件包中的 TestJsonBenchmark.mq5 脚本验证结果。

基准



主要功能

  • HFT 恢复能力:确定性内存分配。垃圾回收器不会在解析过程中介入。
  • O(1) 自省:即时检查 HasKey() 键或 Size() 数组,无需线性扫描。
  • 类型安全:严格的类型访问(GetInt、GetDouble 和 GetString)。没有会导致隐性错误的神奇变体。
  • 准确的错误报告:如果出现故障,会返回准确的行和列。

使用示例:读取 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);
    }
}

示例:构建请求(优化生成器)

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

由 Jonathan Pereira 开发,是AI-Toolkit 框架的核心基础架构。

由MetaQuotes Ltd译自葡萄牙语
原代码: https://www.mql5.com/pt/code/68596

Timeframe Quality Analyzer Timeframe Quality Analyzer

寻找完美的交易时间框架

VR Rsi Robot - 多时间框架交易策略 VR Rsi Robot - 多时间框架交易策略

仅有两个时间框架 — H1 和 D1 — 同步工作,以过滤掉市场噪音,只捕捉RSI从超买和超卖区域发出的强力反转信号。没有随机入场,只有来自“老大哥”的明确方向确认。

NeuroPro 转换器 NeuroPro 转换器

用于 MQL5 的 NeuroPro 语言化转换器

离散 离散

离散技术指标由价格和交易量的变化决定。