Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
- Visualizações:
- 41391
- Avaliação:
- Publicado:
- 2014.02.24 06:27
- Atualizado:
- 2016.11.22 07:32
-
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Author:
Andrew Lord
This parses mql4 strings that contain JSON code. It creates a JSONValue that can be used to retrieve the fields within the JSON structure. It also provides a JSONIterator class to loop over object keys.
It parses the JSON using a simple a recursive descent parser. It requires the Hash class.
I still have to implement the parsing of unicode escaped characters.
The Codebase version might not be the most recent. The latest version can be found here.
Documentation:
Example:
#include "hash.mqh" #include "json.mqh" string s = "{ \"firstName\": \"John\", \"lastName\": \"Smith\", \"age\": 25, "+ "\"address\": { \"streetAddress\": \"21 2nd Street\", \"city\": \"New York\", \"state\": \"NY\", \"postalCode\": \"10021\" },"+ " \"phoneNumber\": [ { \"type\": \"home\", \"number\": \"212 555-1234\" }, { \"type\": \"fax\", \"number\": \"646 555-4567\" } ],"+ " \"gender\":{ \"type\":\"male\" } }"; JSONParser *parser = new JSONParser(); JSONValue *jv = parser.parse(s); if (jv == NULL) { Print("error:"+(string)parser.getErrorCode()+parser.getErrorMessage()); } else { Print("PARSED:"+jv.toString()); if (jv.isObject()) { // check root value is an object. (it can be an array) JSONObject *jo = jv; // Direct access - will throw null pointer if wrong getter used. Print("firstName:" + jo.getString("firstName")); Print("city:" + jo.getObject("address").getString("city")); Print("phone:" + jo.getArray("phoneNumber").getObject(0).getString("number")); // Safe access in case JSON data is missing or different. if (jo.getString("firstName",s) ) Print("firstName = "+s); // Loop over object keys JSONIterator *it = new JSONIterator(jo); for( ; it.hasNext() ; it.next()) { Print("loop:"+it.key()+" = "+it.val().toString()); } delete it; } delete jv; } delete parser;The latest version can also be found here.
![SwingCyborg](https://c.mql5.com/i/code/expert.png)
This Expert Advisor is based on your human ability to predict medium and long term trends.
![MACD vs Signal line](https://c.mql5.com/i/code/expert.png)
It opens and close transactions depends on MACD vs signal line - upper - opens buy, closes sell, below - closes buy, opens sell.
![Universal EA](https://c.mql5.com/i/code/expert.png)
This is my first Expert Advisor so please give feedback on how I can improve it to make the best possible EA. Thanks for the inputs in advance and happy trading.
![Condition Scanner](https://c.mql5.com/i/code/indicator.png)
Scan for conditions in which you have an interest. Show where the condition arose historically on the current Symbol and timeframe. On a separate panel, show where the condition has currently arisen for any of your chosen symbols and timeframes.