diff --git a/Experts/JsonAPI.mq5 b/Experts/JsonAPI.mq5 index 550dadb..72ea6a9 100644 --- a/Experts/JsonAPI.mq5 +++ b/Experts/JsonAPI.mq5 @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include //#include //#include @@ -377,7 +377,7 @@ void OnTimer(){ ZmqMsg chartMsg; chartDataSocket.recv(chartMsg, true); if(chartMsg.size()>0){ - Print(chartMsg.getData()); + if(debug) Print(chartMsg.getData()); chartIndicatorSocket.send(chartMsg,true); //ResetLastError(); } @@ -489,12 +489,27 @@ void IndicatorControl(CJAVal &dataObject){ StartIndicator(dataObject); } } - + +//+------------------------------------------------------------------+ +//| Check if string is a representation of a number | +//+------------------------------------------------------------------+ +bool IsNumberAsString(string str) { + // MQL5 seems to return true if the values are the same, no matter the data type, in this case comparing str and dbl/int. + // (str "2.1" == double 2.1) will return true. + double dbl = StringToDouble(str); + int integer = StringToInteger(str); + // Compaing to both int and double to cover both cases + if(str==dbl || str==integer) return true; + else return false; +} + //+------------------------------------------------------------------+ //| Start new indicator instance | //+------------------------------------------------------------------+ void StartIndicator(CJAVal &dataObject){ + // TODO map Indicators Constants https://www.mql5.com/en/docs/constants/indicatorconstants + string symbol=dataObject["symbol"].ToStr(); string chartTF=dataObject["chartTF"].ToStr(); string id=dataObject["id"].ToStr(); @@ -511,10 +526,16 @@ void StartIndicator(CJAVal &dataObject){ double params[]; indicators[idx].indicatorParamCount = dataObject["params"].Size(); for(int i=0;i ./Include/EnumStringToInt.clean.mqh +tr -cd '[:print:]\n\r' < ./Include/StringToEnumInt.mqh > ./Include/StringToEnumInt.clean.mqh # Add UTF-8 BOM -sed -i '1s/^/\xef\xbb\xbf/' ./Include/EnumStringToInt.clean.mqh -mv ./Include/EnumStringToInt.clean.mqh ./Include/EnumStringToInt.mqh \ No newline at end of file +sed -i '1s/^/\xef\xbb\xbf/' ./Include/StringToEnumInt.clean.mqh +mv ./Include/StringToEnumInt.clean.mqh ./Include/StringToEnumInt.mqh \ No newline at end of file