Esempio n. 1
0
        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()));
        }
Esempio n. 2
0
        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);
        }