Assista a como baixar robôs de negociação gratuitos

Roteiro interessante?
Então poste um link sobre isto -
deixe que outros avaliem

Você gostou do roteiro? Experimente no terminal MetaTrader 5

Bibliotecas

Serialização e desserialização de JSON (MQL nativo) - biblioteca para MetaTrader 5

--- | Portuguese English Русский 中文 Español Deutsch 日本語

Visualizações:
1748
Classificação:
votos: 54
Publicado:
2015.11.05 16:16
Atualizado:
2018.01.08 15:29
\MQL5\Scripts\\MQL5\Include\

Serialização e desserialização do protocolo JSON. O código é transferido de uma biblioteca С++ o com alta velocidade.

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

//---
Print("JASon Example Deserialization:");

in="{\"a\":[1,2]}"; out=""; // exemplo de dados de entrada
b=js.Deserialize(in); // Desserializado
js.Serialize(out); // serializado novamente
Print(in+" -> "+out); // saida para comparação

//---
Print("JASon Example Serialization:");

js["Test"]=1.4; // exemplo de dados de entrada
out=""; js.Serialize(out); // serializado
Print(out); // saída

Exemplo prático: autorização num site e analisar a resposta

CJAVal jv;
jv["login"]="Login"; // login
jv["password"]="Pass"; // senha

//--- serializar para string  {"login":"Login","password":"Pass"}
char data[]; 
ArrayResize(data, StringToCharArray(jv.Serialize(), data, 0, WHOLE_ARRAY)-1);

//--- enviar dados
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);

//--- assumir a resposta {"accessToken":"ABRAKADABRA","session_id":124521}
//--- obter o AccessToken
jv.Deserialize(res_data);
string AccessToken=jv["accessToken"].ToStr();

Você pode demonstrar sua gratidão enviando exemplos de implementação MQL para trabalhar com recursos da web. Compartilhe sua experiência com JSON no MQL.

Traduzido do russo por MetaQuotes Software Corp
código original: https://www.mql5.com/ru/code/13663

ForecastOscilator_HTF ForecastOscilator_HTF

O indicador ForecastOscilator com a opção de selecionar o timeframe nos parâmetros de entrada.

Flat_HTF Flat_HTF

O indicador Flat com a opção de selecionar o timeframe nos parâmetros de entrada.

FX5_SelfAdjustingRSI_HTF FX5_SelfAdjustingRSI_HTF

O indicador FX5_SelfAdjustingRSI com a opção de selecionar o timeframe nos parâmetros de entrada.

FX5_SelfAdjustingCCI FX5_SelfAdjustingCCI

O oscilador CCI com os limites das zonas sobrecomprada/sobrevendida na forma de bandas Bollinger.