private static string GetMq4Name(string mq4Code, AlgoType algoType) { var match = Mq4NameRegex.Match(mq4Code); if (!match.Success) { return("Converted" + algoType.ToString()); } return(AlgoNameProvider.GetSimplifiedName(match.Groups["name"].Value, algoType)); }
public static string AddTypeParameterToICustom(this string code, out string[] customIndicators) { var resultIndicators = new List <string>(); var methodCalls = MethodCallsParser.Parse(code) .Where(mc => mc.MethodName == "iCustom") .ToArray(); foreach (var methodCall in methodCalls) { var nameParameter = methodCall.Parameters[2]; var simplifiedName = AlgoNameProvider.GetSimplifiedName(nameParameter, AlgoType.Indicator); var stringToReplace = methodCall.OriginalText.Replace("iCustom", string.Format("iCustom<{0}>", simplifiedName)); code = code.Replace(methodCall.OriginalText, stringToReplace); resultIndicators.Add(simplifiedName); } customIndicators = resultIndicators.Distinct().ToArray(); return(code); }