public static void LoadPatterns() { var macroWordsLoader = new MacroWordsLoader(@"AppData\MacroWords.xml"); var upPatternsLoader = new RawPatternsLoader(@"AppData\BeforeOpening\Up.xml", Trend.Up); var downPatternsLoader = new RawPatternsLoader(@"AppData\BeforeOpening\Down.xml", Trend.Down); var neutralPatternsLoader = new RawPatternsLoader(@"AppData\BeforeOpening\Neutral.xml", Trend.Neutral); var patterns = new List <RawPattern>(); patterns.AddRange(upPatternsLoader.Patterns); patterns.AddRange(downPatternsLoader.Patterns); patterns.AddRange(neutralPatternsLoader.Patterns); var patternProvider = new PatternsProvider(patterns, macroWordsLoader.MacroWords); _patterns = patternProvider.Patterns; _market = FringeWithSeparators(PattenCleaner.Clean(macroWordsLoader.MacroWords.Where(x => x.Name == "Market").Select(x => x.Value).Single())); _expect = FringeWithSeparators(PattenCleaner.Clean(macroWordsLoader.MacroWords.Where(x => x.Name == "Expect").Select(x => x.Value).Single())); }
public string Build(string regexText) { var result = regexText; result = PattenCleaner.ReplaceCarretWrapup(result); foreach (var macroWord in _macroWords) { var name = GetMacroWordReplacementPattern(macroWord.Name); var value = " (" + macroWord.Value + ") "; result = Regex.Replace(result, name, value, RegexOptions.IgnoreCase); } //should be go after macro replacement because macro words can contains .* result = PattenCleaner.ReplaceDotStar(result); result = PattenCleaner.DuplicateSimilarLetters(result); result = PattenCleaner.ReplaceWhiteSpaces(result); return(result); }