下载MetaTrader 5

请观看如何免费下载自动交易

有趣的脚本?
因此发布一个链接 -
让其他人评价

喜欢这个脚本? 在MetaTrader 5客户端尝试它

2015.11.04 10:55
程序库

JSON Serialization and Deserialization (native MQL) - MetaTrader 5程序库

| Chinese English Русский Español Deutsch 日本語 Português

显示:
325
等级:
投票: 28
\MQL5\Include\
JAson.mqh (29.58 KB)预览
\MQL5\Scripts\

JSON 协议序列化和逆序列化。代码从高速的 С++ 程序库移植而来。

string in, out;
CJAVal js(NULL, jtUNDEF); bool b;

//---
Print("JASon 逆序列化例程:");

in="{\"a\":[1,2]}"; out=""; // 输入数据样本
b=js.Deserialize(in); // 逆序列化
js.Serialize(out); // 再次序列化
Print(in+" -> "+out); // 输出比较

//---
Print("JASon 序列化例程:");

js["Test"]=1.4; // 输入数据样本
out=""; js.Serialize(out); // 序列化
Print(out); // 输出



实践例程: 在网站上授权并解析响应

CJAVal jv;
jv["login"]="Login"; // 登录名
jv["password"]="Pass"; // 口令

//--- 字符串序列化  {"login":"Login","password":"Pass"}
char data[]; 
ArrayResize(data, StringToCharArray(jv.Serialize(), data, 0, WHOLE_ARRAY)-1);

//--- 发送数据
char res_data[];
string res_headers=NULL;
int r=WebRequest("POST", "http://my.site.com/Authorize", "Content-Type: text/plain\r\n", 5000, data, res_data, res_headers);

//--- 假设应答 {"accessToken":"ABRAKADABRA","session_id":124521}
//--- 获取访问令牌
jv.Deserialize(res_data);
string AccessToken=jv["accessToken"].ToStr();



您可以发送与 Web 资源配合工作的例子来展现您的感激之情。共享您的以 MQL 编写 JSON 的经验。

本文译自 MetaQuotes Software Corp. 撰写的俄文原文
官方代码: https://www.mql5.com/ru/code/13663

加速震荡(AC) 加速震荡(AC)

加速/减速技术指标(AC)用于衡量当前驱动力的加速和减速。

平均趋向指数(ADX) 平均趋向指数(ADX)

平均趋向指数指标(ADX)用来帮助判断市场是否存在趋势。

60 EMA profit 60 EMA profit

直观显示60EMA均线交易系统的赢利和亏损。

Ticks Volume 指标 Ticks Volume 指标

在期货市场上,交易量的数据会有一天的延迟,为了解决这个问题,许多分析员使用 tick volume 指标 (tick volume,订单交易量).