Abaixo o código que estou usando para ver se dá uma luz.
string cookie=NULL,headers; char post[],result[]; int res; string resultString=NULL; int timeout=5000; res=WebRequest("GET","localhost/api/signal/fx?r=op",cookie,NULL,timeout,post,0,result,headers); resultString = CharArrayToString(result);
Abaixo o código que estou usando para ver se dá uma luz.
Não conheço a biblioteca lordy, nem outra coisa mais "sofisticada". Até que consiga, tente utilizar alguma função String, identificando padrões na sua string. Exemplo, veja que sempre aparece o nome do ativo (EURUSD), "sl", "tp", etc. Com StringFind() encontre esses padrões (exemplo <tp":">) e depois trate a informação que segue. Ou, conte quantos caracteres até o dado desejado, exemplo, há 71 caracteres até 1.2271 e faça 'tp[i]=StringToDouble(StringSubstr(seustring, 71, 6))'.
Abraços
Não conheço a biblioteca lordy, nem outra coisa mais "sofisticada". Até que consiga, tente utilizar alguma função String, identificando padrões na sua string. Exemplo, veja que sempre aparece o nome do ativo (EURUSD), "sl", "tp", etc. Com StringFind() encontre esses padrões (exemplo <tp":">) e depois trate a informação que segue. Ou, conte quantos caracteres até o dado desejado, exemplo, há 71 caracteres até 1.2271 e faça 'tp[i]=StringToDouble(StringSubstr(seustring, 71, 6))'.
Abraços
Eu também utilizo bastante esta maneira de trabalhar com JSON acrescentando ainda a função StringSplit() para separar as partes. Mas quanto mais complexo o JSON pior fica.
Algumas sugestões de bibliotecas:
https://www.mql5.com/pt/code/13663
https://www.mql5.com/pt/code/11134
- votos: 36
- 2015.11.05
- ---
- www.mql5.com
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Rapazeada, estou me batendo para tentar extrair os dados da string abaixo.
[{"type":"success","message":""},{"id":"14058","symbol":"EURUSD","tp":"1.2271","sl":"1.2217","direction":"buy","risk":"2"},{"id":"14059","symbol":"EURUSD","tp":"1.2260","sl":"1.2190","direction":"buy","risk":"2"}]