Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
JSON Serialization and Deserialization (native MQL) - librería para MetaTrader 5
- Visualizaciones:
- 1853
- Ranking:
- Publicado:
- 2015.11.11 12:41
- Actualizado:
- 2018.01.08 15:28
- ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Serialización y deserialización del protocolo JSON. Código portado de la biblioteca de alta velocidad С++.
string in, out; CJAVal js(NULL, jtUNDEF); bool b; //--- Print("JASon Example Deserialization:"); in="{\"a\":[1,2]}"; out=""; // ejemplo de datos de entrada b=js.Deserialize(in); // deserialización js.Serialize(out); // serializando hacia atrás Print(in+" -> "+out); // mostramos para comparar //--- Print("JASon Example Serialization:"); js["Test"]=1.4; // ejemplo de datos de salida out=""; js.Serialize(out); // serializando Print(out); // mostramos para ver
Ejemplo práctico: autorización en una página y parseo de la respuesta
CJAVal jv; jv["login"]="Login"; // login jv["password"]="Pass"; // contraseña //--- serializamos en una línea {"login":"Login","password":"Pass"} char data[]; ArrayResize(data, StringToCharArray(jv.Serialize(), data, 0, WHOLE_ARRAY)-1); //--- enviamos los datos 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); //--- supongamos que tenemos la respuesta {"accessToken":"ABRAKADABRA","session_id":124521} //--- cogemos AccessToken jv.Deserialize(res_data); string AccessToken=jv["accessToken"].ToStr();
Se aceptan agradecimientos en forma de ejemplos, quién y de qué forma aplica MQL para trabajar con los recursos web. Comparta su experiencia en esta cuestión con JSON en MQL.
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/13663
Indicador ForecastOscilator con posibilidad de cambiar el marco temporal del indicador en los parámetros de entrada.
Flat_HTFIndicador Flat con posibilidad de cambiar el marco temporal del indicador en los parámetros de entrada.
Indicador FX5_SelfAdjustingRSI con posibilidad de cambiar el marco temporal del indicador en los parámetros de entrada.
FX5_SelfAdjustingCCIOscilador CCI con límites de sobrecompra/sobreventa en forma de bandas de Bollinger.